読者です 読者をやめる 読者になる 読者になる

togatttiのエンジニアメモ

過度な期待はしないでください。旧麹町で働くエンジニアのメモ帳です。

telnetとnetstatでポート番号の状態を確認する

Linux

最近Cent0S6.5をVPSで立ち上げて、Apacheを起動させたときに Webページを表示できなかったことがあった。

前提

  • httpd.confファイルは正しい。

  • httpdプロセスも動いている。

それではポート番号はどうだろうか。

telnetで外部からポート番号が空いているか調べる

$ hostname
*******-no-MacBook-Air.local
$ telnet 180.235.***.*** 80
Trying 180.235.***.***...
telnet: connect to address 180.235.***.***: Connection refused
telnet: Unable to connect to remote host

ふむふむ、外部から80番ポートに接続できないみたいだ。

netstatでホスト側のステータスを確認する

# netstat -ant | grep 80
tcp        0     48 180.235.***.***:22          125.198.61.56:63422         ESTABLISHED
tcp        0      0 :::80                       :::*                        LISTEN

ホストの80番ポートはLISTENになってる。

ファイアウォールの可能性が浮上...

案の定iptablesでポートを閉じていたので、80番を許可した。

# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:5672                0.0.0.0:*                   LISTEN
tcp        0     48 180.235.***.***:22          125.198.61.56:63422         ESTABLISHED
tcp        0      0 :::80                       :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
tcp        0      0 ::1:25                      :::*                        LISTEN
tcp        0      0 ::ffff:180.235.***.***:80   ::ffff:125.198.61.56:65093  TIME_WAIT
tcp        0      0 ::ffff:180.235.***.***:80   ::ffff:125.198.61.56:65091  TIME_WAIT
tcp        0      0 ::ffff:180.235.***.***:80   ::ffff:125.198.61.56:65092  TIME_WAIT

$ telnet 180.235.***.*** 80
Trying 180.235.***.***...
Connected to kvps-180-235-***-***.secure.ne.jp.

telnetnetstatのありがたみが初めて分かった。 それにしても、iptablesって標準で入ってしまうものなのか...