web-dev-qa-db-ja.com

リスニングサービスのあるローカルポートにTelnetできないのはなぜですか?

これは非常に単純な問題か、非常に複雑な問題のどちらかだと思います。

Sshを実行できるubuntu 10.04を実行しているヘッドレスサーバーがあります。システムへの完全なrootアクセス権があります。システムにvncできるようにsshトンネルを設定しようとしています(ただし、これは私の質問ではありません)。

私はポート5903でvncを実行していますが、そのnetstat出力は次のとおりです。


Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:5903            0.0.0.0:*               LISTEN      7173/Xtightvnc
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      
465/sshd

しかし、同じシステム内からログインしてそのポートにTelnet接続しようとすると、接続エラーが発生します。


# telnet localhost 5903
Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote Host: Connection timed out

ポート22にTelnet接続できます(確認用)。


~# telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7

私はufwを使用して可能なポートを開こうとしました(おそらく不器用な方法)


# ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 5903                       ALLOW IN    Anywhere
[ 2] 22                         ALLOW IN    Anywhere

他に何がこの接続をローカルでブロックしているのでしょうか?

ありがとうございました、

編集:

Iptable -L -nのポート5903への唯一の参照はこれです:


Chain ufw-user-input (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:5903
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:5903
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:8080

役立つ場合は、出力全体を投稿できます。

hosts.allowとhosts.denyの両方にコメントのみが含まれています。

再編集:他のいくつかの質問でnmapが指摘されたので、そのユーティリティを使用してポートスキャンを実行しました。


# nmap -v -sT localhost -p1-65535

Starting Nmap 5.00 ( http://nmap.org ) at 2011-11-09 09:58 PST
NSE: Loaded 0 scripts for scanning.
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.
Initiating Connect Scan at 09:58
Scanning localhost (127.0.0.1) [65535 ports]
Discovered open port 22/tcp on 127.0.0.1
Connect Scan Timing: About 18.56% done; ETC: 10:01 (0:02:16 remaining)
Connect Scan Timing: About 44.35% done; ETC: 10:00 (0:01:17 remaining)
Completed Connect Scan at 10:00, 112.36s elapsed (65535 total ports)
Host localhost (127.0.0.1) is up (0.00s latency).
Interesting ports on localhost (127.0.0.1):
Not shown: 65533 filtered ports
PORT   STATE  SERVICE
22/tcp open   ssh
80/tcp closed http

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 Host up) scanned in 112.43 seconds
           Raw packets sent: 0 (0B) | Rcvd: 0 (0B)

これは5903がどういうわけかブロックされていることを示していると思います。私はかなり知っていました。問題は、何がそれをブロックし、どのように変更するかです。

再編集:

Paul Lathropの提案された回答を確認するには、まずifconfigでIPアドレスを確認しました。


eth0      Link encap:Ethernet  HWaddr 02:16:3e:42:28:8f
          inet addr:10.0.10.3  Bcast:10.0.10.255  Mask:255.255.255.0

次に、そのアドレスから5903にTelnet接続しようとしました。


# telnet 10.0.10.3 5903
Trying 10.0.10.3...
telnet: Unable to connect to remote Host: Connection timed out

運が悪い。

再再再再編集:

OK、ファイアウォールではなく、vncserverに少し分離したと思います。私はvncserverをシャットダウンし、netcatにポート5903をリッスンさせました。私のvncクライアントは接続を確立し、座って応答を待つことができました。私はvncの問題を追跡しているようです。少なくともそれは進歩です助けてくれてありがとう

3
Skip Huffman

わかりました。ファイアウォールではなく、vncserverに少し隔離したと思います。私はvncserverをオフにして、ポート5903でnetcatをリッスンしました。私のvncクライアントは接続を確立し、座って応答を待つことができました。私はvncの問題を追跡しているようです。少なくともそれは進歩です助けてくれてありがとう

2
Skip Huffman

VNCサーバーがループバックインターフェイスにバインドしていない可能性があります。私はいくつかのJavaデーモンも同様にこれに遭遇しました、それらは直感的にループバックを含める必要がある0.0.0.0でリッスンしていると主張しますが、実際には「外部」ネットワークにのみバインドされますインターフェイス。試してください:telnet <LOCAL_IP> 5904;接続する場合、VNCサーバーはループバックインターフェイスにバインドしていません。

1
Paul Lathrop