目次

ファイアウォール設定後の疎通確認方法 (telnet, traceroute, nmap, nc)



疎通確認するコマンドは、色々あります。

telnetコマンドは、どんなネットワーク機器でも実行できますので、
応答によって、どこに問題があるか分かるようにしておきましょう。

tracerouteコマンドは、どこの機器の設定が問題かが分かりますので、よく利用します。


telnetで疎通確認

telnetで疎通確認方法

Linux

# telnet 192.168.10.10  80
Ctr + ]
quit

Cisco

# telnet x.x.x.x XX


【疎通OK】Connected toが表示された場合

Connected toが表示された場合目的の機器まで疎通できてる場合、接続先機器のポートに、接続できています。
「Ctrl ]」の後、quitで切断しましょう。

# telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^]
telnet> quit


【疎通NG】すぐに、Connection refused が返ってくる

Connection refusedは、サーバまで疎通できるが、サーバでポートがリッスンしていない場合の反応です。

# telnet localhost 23
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused


【疎通NG】無応答でそのままの状態

無応答の場合、Ctrl + C で中止しましょう。これは、ファイアウォールでブロックされる場合の反応になります

# telnet aws.com 80
Trying 54.240.188.103...
Connected to aws.com.
Escape character is '^]'.
^CConnection closed by foreign host.




tracerouteで疎通確認(通信経路でどこ止まっているかの確認が可能)

どこの経路で問題があるかがわかりますので、よく利用します。
tracerouteは相手サーバがリッスンしているかしていないかは関係ないです。サーバがリッスンしていないポートへも接続確認ができます。

Linux

traceroute -n 192.168.0.10     <-  -n で名前解決しない
traceroute -T -p 80 192.168.0.10   ← (-T = TCP)
traceroute -U -p 53 192.168.0.10   ← DNS (-U = UDP)




nmapで疎通確認

TCPを確認

STATEが、filterdになっていたら、FWでブロックされています。

# nmap -Pn -sT -p 3306 192.168.0.100

Starting Nmap 6.40 ( http://nmap.org ) at 20xx-09-21 16:36 JST
Nmap scan report for test-db-01.example.local (192.168.0.100)
Host is up.
PORT     STATE    SERVICE
3306/tcp filtered mysql

Nmap done: 1 IP address (1 host up) scanned in 2.09 seconds

UDPを確認

# nmap -sU -p 161 127.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2019-09-18 00:47 JST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00024s latency).
PORT    STATE SERVICE
161/udp open  snmp

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
#




netcat(nc)コマンドで疎通確認

# nc -vz 192.168.0.10  22
Connection to 192.168.0.10 22 port [tcp/ssh] succeeded!
# nc -vz -u 192.168.0.10  53
netcatの注意事項

netcatには派生版があり、微妙にオプションが違うので、注意が必要です。
特にNmap付属は、「-z」オプションがなく、Scanのテストする時には工夫が必要になります。

# nc -v localhost 22 < /dev/null ; echo $?
# nc -v localhost 22 < /dev/null || echo NG

# nc -v localhost 22 < /dev/null > /dev/null 2>&1  || echo NG