• 対象とするUbuntuのバージョン

    • 全て

本文書では、Ubuntuでのネットワーク設定が正しくできているかを確認する際に有用な、いくつかのプログラムと、その簡単な使用例を紹介します。(他に有用なツールがあれば加筆にご協力下さい)

ハードウェアが認識できないなどのトラブルは本文書では扱いません。また、Proxyサーバを介する必要がある環境についても、本文書では扱いません。

Warning /!\ Alert

以下では、--->8--->8--->8--- (snip) --->8--->8--->8---、は出力を省略し一部だけ表示することを表します。 $で始まる行はコマンドを表します。端末を開いてコマンドを入力して下さい。

ネットワークインターフェースの認識状況について

  1. ifconfig
    • ifconfigコマンドにより、ネットワークインターフェースの情報を確認できます。端末で、
        $ ifconfig
      を実行して下さい。 下記にいくつかの実行例を示します。
        --->8--->8--->8--- (snip) --->8--->8--->8---
        eth0      Link encap:イーサネット  ハードウェアアドレス 00:11:22:33:44:55
                  inetアドレス:192.168.0.215  ブロードキャスト:192.168.0.255  マスク:255.255.255.0
                  inet6アドレス: ffee::dcc:bbaa:9988:7766/64 範囲:リンク
                  UP BROADCAST RUNNNING MULTICAST  MTU:1500  メトリック:1
                  RXパケット:669499 エラー:0 損失:0 オーバラン:0 フレーム:0
                  TXパケット:361071 エラー:0 損失:0 オーバラン:0 キャリア:0
                  衝突(Collisions):0 TXキュー長:1000
                  RXバイト:798663310 (798.6 MB)  TXバイト:26458791 (26.4 MB)
                  割り込み:25 ベースアドレス:0xe000
        --->8--->8--->8--- (snip) --->8--->8--->8---
      この場合、eth0の名前でインターフェースが認識されており、inetアドレス(IPv4アドレス)が192.168.0.215で動作していることがわかります。
        --->8--->8--->8--- (snip) --->8--->8--->8---
        lo        Link encap:ローカルループバック
                  inetアドレス:127.0.0.1  マスク:255.0.0.0
                  inet6アドレス: ::1/128 範囲:ホスト
                  UP LOOPBACK RUNNING  MTU:16436  メトリック:1
                  RXパケット:136 エラー:0 損失:0 オーバラン:0 フレーム:0
                  TXパケット:136 エラー:0 損失:0 オーバラン:0 キャリア:0
                  衝突(Collisions):0 TXキュー長:0
                  RXバイト:11210 (11.2 KB)  TXバイト:11210 (11.2 KB)
        --->8--->8--->8--- (snip) --->8--->8--->8---
      loopbackデバイスです。この項目は必ず表示されているはずです。
        --->8--->8--->8--- (snip) --->8--->8--->8---
        wlan0     Link encap:イーサネット  ハードウェアアドレス 00:11:22:33:44:56
                  inetアドレス:192.168.0.211  ブロードキャスト:192.168.0.255  マスク:255.255.255.0
                  inet6アドレス: ffff::eee:dddd:cccc:bbbb/64 範囲:リンク
                  UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
                  RXパケット:18824 エラー:0 損失:0 オーバラン:0 フレーム:0
                  TXパケット:20740 エラー:0 損失:0 オーバラン:0 キャリア:0
                  衝突(Collisions):0 TXキュー長:1000
                  RXバイト:2695101 (2.6 MB)  TXバイト:8152855 (8.1 MB)
        --->8--->8--->8--- (snip) --->8--->8--->8---
      この場合、wlan0の名前でインターフェースが認識されており、inetアドレス(IPv4アドレス)が192.168.0.211で動作していることがわかります。

      ここでデバイスが認識されていないようであれば、ハードウェアの故障、ドライバのバグ、もしくは、ドライバが存在しない、などの理由でインターフェースが認識されていない可能性があります。デバイスは認識されていて、inetアドレスが適切に設定されていない場合は、NetworkManagerなどでネットワーク設定を見直して下さい。

  2. iwconfig
    • iwconfigコマンドにより、無線ネットワークインターフェースの情報を確認できます。端末で、
        $ iwconfig
      を実行して下さい。 下記にいくつかの実行例を示します。
        --->8--->8--->8--- (snip) --->8--->8--->8---
        lo        no wireless extensions.
        --->8--->8--->8--- (snip) --->8--->8--->8---
      lo(loopbackデバイス)など、無線ではないインターフェースでは、no wireless extensionsと表示されます。
        wlan0     IEEE 802.11bg  ESSID:"HOGE"
                  Mode:Managed  Frequency:2.442 GHz  Access Point: 00:11:22:33:44:55
                  Bit Rate=24 Mb/s   Tx-Power=17 dBm
                  Retry  long limit:7   RTS thr:off   Fragment thr:off
                  Power Management:on
                  Link Quality=70/70  Signal level=-38 dBm
                  Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
                  Tx excessive retries:0  Invalid misc:0   Missed beacon:0
      無線の接続状況が表示されます。この例ではESSIDが"HOGE"のアクセスポイントに接続しています。

      無線特有の設定に問題がある場合は、NetworkManagerなどで無線LANの設定を見直して下さい。また、無線のアクセスポイント側の設定も確認して下さい。

名前解決の状況

  1. dig
    • もしdigがインストールされていなければ、下記コードを実行してdnsutilsを導入して下さい。
        $ sudo apt-get update
        $ sudo apt-get install dnsutils
      導入後、
        $ dig target
      を実行することで名前解決ができているか確認することができます。下記に例を示します。
        $ dig forums.ubuntulinux.jp
      
        ; <<>> DiG 9.7.3 <<>> forums.ubuntulinux.jp
        ;; global options: +cmd
        ;; Got answer:
        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7232
        ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
      
        ;; QUESTION SECTION:
        ;forums.ubuntulinux.jp.         IN      A
      
        ;; ANSWER SECTION:
        forums.ubuntulinux.jp.  300     IN      A       66.249.8.126
      
        ;; AUTHORITY SECTION:
        ubuntulinux.jp.         240     IN      NS      ns1.ubuntulinux.jp.
      
        ;; Query time: 302 msec
        ;; SERVER: 127.0.0.1#53(127.0.0.1)
        ;; WHEN: Sat May 21 15:22:04 2011
        ;; MSG SIZE  rcvd: 73
  2. nslookup
    • もしnslookupがインストールされていなければ、下記コードを実行してdnsutilsを導入して下さい。
        $ sudo apt-get update
        $ sudo apt-get install dnsutils
      導入後、
        $ nslookup target
      を実行することで名前解決ができているか確認することができます。下記に例を示します。
        $ nslookup forums.ubuntulinux.jp
        Server:         127.0.0.1
        Address:        127.0.0.1#53
        
        Non-authoritative answer:
        Name:   forums.ubuntulinux.jp
        Address: 66.249.8.126
        $ nslookup 66.249.8.126
        Server:         127.0.0.1
        Address:        127.0.0.1#53
      
        Non-authoritative answer:
        126.8.249.66.in-addr.arpa       name = forums.ubuntulinux.jp.
      
        Authoritative answers can be found from:
        

    もし、名前の解決に問題があれば、/etc/resolv.confの内容に問題が無いか確認して下さい。デスクトップ版ではデフォルトではNetworkManagerによる自動生成になっています。併せてNetworkManagerの設定に問題が無いか確認して下さい。

経路の確認

  1. pingによる接続確認
    • ネットワーク的に対象のコンピュータと繋がっているか確認するためのコマンドにpingがあります。端末から、

        $ ping -c 4 target
      のように入力することで4回のpingをtargetに送信することができます。実行例を下記に示します。
        $ ping -c 4 forums.ubuntulinux.jp
        PING forums.ubuntulinux.jp (66.249.8.126) 56(84) bytes of data.
        64 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=1 ttl=43 time=198 ms
        64 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=2 ttl=43 time=198 ms
        64 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=3 ttl=43 time=200 ms
        64 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=4 ttl=43 time=198 ms
        
        --- forums.ubuntulinux.jp ping statistics ---
        4 packets transmitted, 4 received, 0% packet loss, time 3004ms
        rtt min/avg/max/mdev = 198.301/198.949/200.051/0.806 ms
  2. pingによるMTUの確認
    • 単純なpingでは接続できていても、他のアプリケーションの使用に問題がある場合、MTUが適切な値に設定されているか確認する必要があります。
        $ ping -c 4 -M do target -s 1472
      のような書式でpingコマンドを実行すると、送信回数4回、パケットサイズ1472バイトで送信されます。オプション詳細は、pingのmanを参照下さい。
        $ ping -c 4 -M do forums.ubuntulinux.jp -s 1472
        PING forums.ubuntulinux.jp (66.249.8.126) 1472(1500) bytes of data.
        From 192.168.0.210 icmp_seq=1 Frag needed and DF set (mtu = 1454)
        From yourmachine (192.168.0.215) icmp_seq=2 Frag needed and DF set (mtu = 1454)
        From yourmachine (192.168.0.215) icmp_seq=2 Frag needed and DF set (mtu = 1454)
        From yourmachine (192.168.0.215) icmp_seq=2 Frag needed and DF set (mtu = 1454)
        
        --- forums.ubuntulinux.jp ping statistics ---
        1 packets transmitted, 0 received, +4 errors, 100% packet loss, time 5002ms
      • のように表示されたとすると100%パケットロスしており、パケットサイズ1472バイト(MTU=1500)では接続できないことを示しています。
        $ ping -c 4 -M do forums.ubuntulinux.jp -s 1426
        PING forums.ubuntulinux.jp (66.249.8.126) 1426(1454) bytes of data.
        1434 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=1 ttl=43 time=202 ms
        1434 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=2 ttl=43 time=201 ms
        1434 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=3 ttl=43 time=203 ms
        1434 bytes from forums.ubuntulinux.jp (66.249.8.126): icmp_seq=4 ttl=43 time=200 ms
        
        --- forums.ubuntulinux.jp ping statistics ---
        4 packets transmitted, 4 received, 0% packet loss, time 3005ms
        rtt min/avg/max/mdev = 200.905/202.072/203.288/0.991 ms
      のように表示されたとすると、パケットサイズ1426バイト(MTU=1454)で通信ができていることが判ります。 なお、ルータを介しての接続の場合、正常なルータは適切にパケット分割して通信してくれるため、特に気にする必要はありません。
  3. routeによるゲートウェイの確認
    • ゲートウェイが正しく設定されているかを確認するために、routeが役立つでしょう。 実行例を示します。
        $ route
      とすることで、IP経路テーブルが表示されます。
        $ route
        カーネルIP経路テーブル
        受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
        192.168.0.0     *               255.255.255.0   U     1      0        0 eth0
        link-local      *               255.255.0.0     U     1000   0        0 eth0
        default         192.168.0.210   0.0.0.0         UG    0      0        0 eth0
      この例では、デフォルトゲートウェイが、192.168.0.210に設定されていることが判ります。
  4. tracerouteによる経路の確認
    • 途中の経路になんらかの問題があると疑われる場合は、tracerouteにより経路を確認することが、問題の特定に役立つかも知れません。

UbuntuJapaneseWiki: UbuntuTips/Hardware/NetworkTools (最終更新日時 2012-01-10 11:49:11 更新者 匿名)