debianのネットワーク確認コマンド

投稿者: | 2011年5月7日
Pocket

対象サーバについて

製品名 Hitachi PC8DG2-P108P1C10
OS(kernel ver) Debian lenny(2.6.26-2-686)
CPU Intel(R) Celeron(R) CPU 2.00GHz
メモリ 512M(256M DDR PC2100 x 2枚)
ストレージ Seagate 160GB

はじめに

ネットワーク周りのコマンドをよく忘れてしまうため一度まとめておきたいと思います。

Link状態の確認方法

・正常時

close:~# ifconfig eth0
eth0      Link encap:イーサネット  ハードウェアアドレス 00:00:e2:88:3d:13
          inetアドレス:192.168.0.3 ブロードキャスト:192.168.0.255  マスク:255.255.255.0
          inet6アドレス: fe80::200:e2ff:fe88:3d13/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:200 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:165 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000
          RXバイト:14631 (14.2 KiB)  TXバイト:11566 (11.2 KiB)
          割り込み:18 ベースアドレス:0xe800

・ケーブル断時

close:~# ifconfig eth0
eth0      Link encap:イーサネット  ハードウェアアドレス 00:00:e2:88:3d:13
          inetアドレス:192.168.0.3 ブロードキャスト:192.168.0.255  マスク:255.255.255.0
          inet6アドレス: fe80::200:e2ff:fe88:3d13/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:200 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:165 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000
          RXバイト:14631 (14.2 KiB)  TXバイト:11566 (11.2 KiB)
          割り込み:18 ベースアドレス:0xe800

ifconfigだとリンク状態が確認できません。

そこで、リンク状態が正しく認識できるよう、ethtoolを導入します。

close:~# aptitude install ethtool

・正常時

close:~# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 32
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000007 (7)
        Link detected: yes

・異常時

close:~# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 10Mb/s
        Duplex: Half
        Port: MII
        PHYAD: 32
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000007 (7)
        Link detected: no

Link detectedの箇所で確認できます。

ちなみにIPコマンドが入っていれば、ip link show コマンドでも確認できます。

・正常時

close:~# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:00:e2:88:3d:13 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:10:60:dd:99:5c brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:10:60:db:04:24 brd ff:ff:ff:ff:ff:ff

・異常時

close:~# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:00:e2:88:3d:13 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:10:60:dd:99:5c brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:10:60:db:04:24 brd ff:ff:ff:ff:ff:ff

IFエラー確認

close:~# ip -s link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:00:e2:88:3d:13 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    30571      372      0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    21374      288      0       0       0       0

オプションの-sをもう一つ付けるとより詳細に確認できます。

close:~# ip -s -s link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:00:e2:88:3d:13 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    30991      379      0       0       0       0
    RX errors: length  crc     frame   fifo    missed
               0        0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    22063      292      0       0       0       0
    TX errors: aborted fifo    window  heartbeat
               0        0       0       0

リモートでのIF閉塞・開放

ip link set eth0 down/up

→リモートでIF閉塞・開放する場合に使用

close:~# ip link set eth0 down
close:~# ip link show eth0
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:00:e2:88:3d:13 brd ff:ff:ff:ff:ff:ff
close:~# ip link set eth0 up
close:~# ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:00:e2:88:3d:13 brd ff:ff:ff:ff:ff:ff

アドレスの追加

・事前状態

close:~# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:00:e2:88:3d:13 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.3/24 brd 192.168.0.255 scope global eth0
    inet6 fe80::200:e2ff:fe88:3d13/64 scope link
       valid_lft forever preferred_lft forever

・アドレス追加

close:~# ip addr add local 10.0.0.1/24 dev eth0 label eth0:0

・事後確認

close:~# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:00:e2:88:3d:13 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.3/24 brd 192.168.0.255 scope global eth0
    inet 10.0.0.1/24 scope global eth0:0
    inet6 fe80::200:e2ff:fe88:3d13/64 scope link
       valid_lft forever preferred_lft forever

・試験

close:~# ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.175 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.150 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.145 ms

コネクテッドには到達します。

close:~# ping www.yahoo.co.jp
ping: unknown host www.yahoo.co.jp

→どちらをソースにするか分からなくなるためデフォルトゲートウェイから先には到達しません。

・アドレス削除

close:~# ip addr del local 10.0.0.1/24 dev eth0

ARPテーブル確認

・確認コマンドその1

close:~# arp
アドレス               HWタイプ  HWアドレス         フラグ マスク インタフェース
192.168.0.100           ether   00:0f:1f:e9:8a:52   C                     eth0
10.0.0.2                 ether   00:0f:1f:e9:8a:52   C                     eth0
192.168.0.7             ether   b8:ac:6f:aa:e8:b7   C                     eth0

・確認コマンドその2

close:~# ip neigh show
192.168.0.100 dev eth0 lladdr 00:0f:1f:e9:8a:52 REACHABLE
10.0.0.2 dev eth0 lladdr 00:0f:1f:e9:8a:52 STALE
192.168.0.7 dev eth0 lladdr b8:ac:6f:aa:e8:b7 REACHABLE

→arpコマンドでは全て同じ状態として扱われていますが、ipコマンドではSTALE、REACHABLEといったより詳細な状態を管理しています。

具体的には以下のARP状態があります。

imcomplete アドレス解決の処理中です。
reachable 有効で接続可能です。
stale 有効ですが、相手の接続性は疑わしい状態です。
delay 有効ですが、相手の接続性は疑わしいため確認中です。
probe 無効で、相手の接続性が疑わしいため確認中です。
failed アドレス解決できませんでした(無効)
noarp 有効であり、今後、相手の検証を行うこともありません。
permanet 管理者が削除しない限り有効です。

ルーティング確認・追加・削除

・確認

close:~# ip route show
10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.1
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.3
default via 192.168.0.1 dev eth0

・追加

close:~# ip route add 122.1.1.1/32 nexthop via 192.168.0.1 dev eth0
close:~# ip route show
122.1.1.1 via 192.168.0.1 dev eth0
10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.1
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.3
default via 192.168.0.1 dev eth0

・削除

close:~# ip route del 122.1.1.1/32 nexthop via 192.168.0.1 dev eth0
close:~# ip route show
10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.1
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.3
default via 192.168.0.1 dev eth0

参考文献

Linuxで作るアドバンストシステム構築ガイドのp.102~122

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です