私は Ubuntu 14.10 を使用していますが、ポート 5060 経由で Telnet を試みていますが、失敗し続けます。常に「外部ホストによって接続が閉じられました」というメッセージが表示されます。
iptable を確認したところ、デフォルトのポリシーは ACCEPT になっており、ufw は非アクティブです。
それで、5060 に Telnet できるはずですよね? 他に何がブロックされているのでしょうか?
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#
しかし、telnet を実行すると、次のメッセージが表示されます。
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
。これはおそらく、そのポートで listen しているプログラムが、接続が作成されるとすぐに何らかのデータを期待しているか、プログラムを別の方法で構成する必要があるためです。
ポートがブロックされている (または開いていない) 場合は、 は表示されません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