ネットワークデバッグ
関連記事
目次
リンク状態
ip a
の概要には、リンク状態がすでに表示されています。ただし、以下のコマンドを実行することでも表示することができます。
$ ip link show dev eth0
これにより、次のような出力が得られます。
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 70:5a:b6:8a:a0:87 brd ff:ff:ff:ff:ff:ff
インターフェースを起動するには、次のコマンドを入力します。
# ip link set dev eth0 up
RTNETLINK answers: Cannot assign requested address
インターフェースを起動しようとしたときにこのエラーが表示された場合、MAC アドレスが無効である可能性があります。有効な MAC アドレスを設定するには、MAC アドレス偽装を参照してください。
IP アドレス
ip a
で提供される概要には、IP アドレスがすでに表示されています。ただし、以下のコマンドを実行することでも表示することができます。
$ ip addr show dev eth0
これにより、次のような出力が得られます。
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 70:5a:b6:8a:a0:87 brd ff:ff:ff:ff:ff:ff inet 192.168.1.143/24 brd 192.168.1.255 scope global eth0 inet6 fe80::725a:b6ff:fe8a:a087/64 scope link valid_lft forever preferred_lft forever
一時的な IP アドレスを追加するには:
# ip addr add 192.168.1.143/24 dev eth0
IP アドレスを削除するには:
# ip addr del 192.168.1.143/24 dev eth0
Ping と Tracepath/Traceroute
ping コマンドは、特定のホストへの接続性をテストするのに役立ちます。
最初のステップは、デフォルトゲートウェイへの接続性を確認することです(IP アドレスを自分のデフォルトゲートウェイに置き換えてください):
$ ping -c4 192.168.1.1
"-c4" パラメータを削除すると、ping は終了しなくなります。"Control-C" を押して中止することができます。
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=0.193 ms 64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=0.190 ms 64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=0.192 ms 64 bytes from 192.168.1.1: icmp_req=4 ttl=64 time=0.189 ms --- 192.168.1.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.165/0.184/0.193/0.014 ms
上記の出力は、デフォルトゲートウェイに到達できることを示しています。代わりに "Destination Host Unreachable
" メッセージが表示された場合は、IP アドレス、ネットマスク、デフォルトゲートウェイの設定を再確認してください。このメッセージは、ICMP トラフィックがデフォルトゲートウェイに対して許可されていない場合(ファイアウォール、ルーターなどによってブロックされている場合)にも表示される場合があります。
次のステップは、設定された DNS サーバーへの接続性を確認することです。応答がない場合は、tracepath
または traceroute
を使用して、サーバーへのルーティングを確認し、問題の原因を特定できます。
$ traceroute 8.8.4.4
Traceroute は ICMP を使用してパスを決定するため、ICMP トラフィックがブロックされている場合、応答が "no reply" になる場合があります。
Tcpdump
tcpdump とその基盤となるライブラリ libpcap は、ネットワーク上のパケットに対するマルチプラットフォームのユーザースペースインタフェースです。重要な点として、彼らは到達する入力パケットを見ることができます。これは、ローカルソフトウェアのファイアウォールがパケットをブロックしている場合でも同様です。一方、彼らはファイアウォールが通過させた出力パケットしか見ることができません。[1]
例を交えた、簡潔な tcpdump の紹介は、こちらのウェブページにあります。[2]