У меня Ubuntu 14.10, и я пытаюсь подключиться к нему через порт 5060, но у меня ничего не получается. Я всегда получаю сообщение «Соединение закрыто внешним хостом».
Я проверил свой iptable, политика по умолчанию — ACCEPT, а UFW неактивен.
Значит, я должен иметь возможность подключиться по telnet к 5060, верно? Что еще может его блокировать?
root@server:/var/log# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@server:/var/log#
root@server:/var/log# ufw status
Status: inactive
root@server:/var/log#
но telneting выдает мне только это.
user@host ~
$ telnet 192.168.0.5 5060
Trying 192.168.0.5...
Connected to 192.168.0.5.
Escape character is '^]'.
Connection closed by foreign host.
Я хочу позже запустить SIP-трафик через этот порт, но сейчас я даже не могу открыть порт.
Спасибо ребята
решение1
Вывод, который вы предоставили, на самом деле означает, что порт 5060
открыт и его ничто не блокирует, потому что вы получили Connected to 192.168.0.5
. Но соединение было прервано хостом назначения, как только оно было создано, поэтому оно напрямую переходит на Connection closed by foreign host
. Вероятно, это происходит из-за того, что программа, которая прослушивает этот порт, ожидает некоторые данные, как только было создано соединение, или, возможно, программу нужно настроить по-другому.
Если порт заблокирован (или не открыт), вы никогда не увидите Conneted to <IPaddress>
, но вы увидите что-то вроде этого:
Trying <IPaddress>...
telnet: Unable to connect to remote host: Connection refused
Вы поступили правильно, проверив iptables
, но поскольку нет правил, блокирующих трафик, вы можете дополнительно убедиться, что на сервере действительно 5060
открыт порт, выполнив следующую команду:
netstat -ntlup | grep 5060
Вы должны увидеть примерно такой вывод:
tcp 0 0 0.0.0.0:5060 0.0.0.0:* LISTEN