ネットワーク情報と接続

LinuxBeginner
オンラインで実践に進む

はじめに

この実験では、基本的な Linux コマンドを使ってネットワーク情報を収集し、ネットワーク接続をテストする方法を学びます。これらのスキルは、システム管理者やネットワーク専門家がネットワークの問題を診断してトラブルシューティングする際に欠かせないものです。Linux ネットワーキングの概念に慣れていないと仮定して、各ステップを案内します。

到達目標

この実験が終了すると、以下のことができるようになります。

  • ip を使ってネットワークインターフェイスを表示および管理する
  • ping を使ってネットワーク接続性をテストする
  • netstat を使ってネットワーク統計を調べる

ネットワークインターフェイスを表示する

まずは、ip コマンドを使ってネットワークインターフェイスを調べましょう。

  1. ターミナルウィンドウを開きます。$ シンボルで終わるプロンプトが表示されるはずです。

  2. 次のコマンドを入力して Enter キーを押します。

    ip addr
    

    このコマンドは、システム上のすべてのネットワークインターフェイスに関する情報を表示します。

  3. 以下のような出力が表示されるはずです。

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
    86484: eth1@if86485: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
     link/ether 02:42:ac:14:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
     inet 172.20.0.3/16 brd 172.20.255.255 scope global eth1
        valid_lft forever preferred_lft forever
    

    この出力を分解してみましょう。

    • lo:これはループバックインターフェイスです。コンピュータが自身と通信するために使用する特別なネットワークインターフェイスです。
    • eth1:これはメインの Ethernet インターフェイスです。ネットワークに接続するために使用されます。
    • inet:この行はインターフェイスに割り当てられた IP アドレスを示しています。この例では、eth1 の IP アドレスは 172.20.0.3 です。

    注:LabEx VM 環境は変更される場合があるため、出力が若干異なる場合があります。重要なのは出力の構造を認識することです。

特定のネットワークインターフェイスを調べる

次に、特定のネットワークインターフェイスに焦点を当てましょう。主な Ethernet 接続の場合、通常は eth1 です。

  1. 同じターミナルウィンドウで、次のコマンドを入力して Enter キーを押します。

    ip addr show eth1
    

    このコマンドは、eth1 インターフェイスに関する詳細情報を表示します。

  2. 以下のような出力が表示されるはずです。

    86484: eth1@if86485: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
     link/ether 02:42:ac:14:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
     inet 172.20.0.3/16 brd 172.20.255.255 scope global eth1
        valid_lft forever preferred_lft forever
    

    この出力を理解しましょう。

    • eth1:これはインターフェイスの名前です。
    • <BROADCAST,MULTICAST,UP,LOWER_UP>:これらは、インターフェイスの機能と状態を示すフラグです。
    • link/ether 02:42:ac:14:00:03:これはインターフェイスの MAC アドレスで、ネットワークハードウェアの固有識別子です。
    • inet 172.20.0.3/16:これはインターフェイスに割り当てられた IPv4 アドレスで、CIDR 表記のサブネットマスクが続きます。

    注:eth1 が表示されない場合は、メインインターフェイスの名前が異なる場合があります。その場合は、ステップ 1 で見たインターフェイス名に置き換えてください。

ネットワーク接続性をテストする

ping コマンドは、基本的なネットワーク接続性をテストするために使用されます。有名なサーバーへの接続を確認するために使用します。

  1. ターミナルで、次のコマンドを入力して Enter キーを押します。

    ping -c 4 8.8.8.8
    

    このコマンドは、IP アドレス 8.8.8.8 の Google のパブリック DNS サーバーに 4 つの ping 要求を送信します。

  2. 以下のような出力が表示されるはずです。

    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=1.61 ms
    64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=1.55 ms
    64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=1.57 ms
    64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=1.57 ms
    
    --- 8.8.8.8 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 1.545/1.573/1.607/0.022 ms
    

    この出力は、ping 応答が成功したことを示しています。正確な時間は、あなたの環境では異なる場合があります。

    注:「100%パケットロス」または「宛先ホストに到達できません」が表示される場合は、LabEx VM 内のネットワーク接続の問題がある可能性があります。無料アカウントはネットワークアクセスが制限されているため、この問題を解決するには有料アカウントにアップグレードする必要がある場合があります。

ドメイン名解決をテストする

次に、ping コマンドを使ってドメイン名の解決能力をテストしましょう。

  1. ターミナルで、次のコマンドを入力して Enter キーを押します。

    ping -c 4 google.com
    

    このコマンドは前回のものと似ていますが、IP アドレスの代わりにドメイン名(google.com)を使っています。

  2. 以下のような出力が表示されるはずです。

    PING google.com (172.217.16.142) 56(84) bytes of data.
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=1 ttl=117 time=11.8 ms
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=2 ttl=117 time=11.7 ms
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=3 ttl=117 time=11.7 ms
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=4 ttl=117 time=11.7 ms
    
    --- google.com ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 11.677/11.719/11.814/0.052 ms
    

    この出力は、ドメイン名解決と接続性が成功したことを示しています。IP アドレスや正確な時間は、あなたの環境では異なる場合があります。

    注:「google.com を解決できません」のようなエラーが表示される場合は、LabEx VM 内の DNS の問題がある可能性があります。無料アカウントはネットワークアクセスが制限されているため、この問題を解決するには有料アカウントにアップグレードする必要がある場合があります。

アクティブなネットワーク接続を表示する

netstat コマンドは、ネットワーク統計とアクティブな接続を表示するための強力なツールです。システム上で現在アクティブなネットワーク接続を確認するために使用します。

  1. ターミナルで、次のコマンドを入力して Enter キーを押します。

    sudo netstat -tuln
    

    パスワードの入力を求められます。入力して続行します。

  2. 以下のような出力が表示されるはずです。

    Active Internet connections (only servers)
    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 0.0.0.0:3001            0.0.0.0:*               LISTEN
    tcp        0      0 0.0.0.0:3002            0.0.0.0:*               LISTEN
    tcp        0      0 127.0.0.11:42051        0.0.0.0:*               LISTEN
    tcp6       0      0 :::22                   :::*                    LISTEN
    udp        0      0 0.0.0.0:3001            0.0.0.0:*
    udp        0      0 127.0.0.11:40380        0.0.0.0:*
    

    この出力は、アクティブな TCP と UDP 接続を示しています。正確なポートとアドレスは、LabEx VM 環境で異なる場合があります。

    注:表示される具体的なエントリは、コマンドを実行したときに LabEx VM で実行されているサービスに依存します。

まとめ

おめでとうございます!あなたはネットワーク情報と接続の実験を完了しました。この実験では、以下のことを学びました。

  1. ip コマンドを使ってネットワークインターフェイス情報を表示する
  2. ping コマンドを使ってネットワーク接続性とドメイン名解決をテストする
  3. netstat コマンドを使ってアクティブなネットワーク接続を調べる

これらのツールは、Linux システムのネットワーク問題の理解とトラブルシューティングに欠かせないものです。Linux システム管理の旅を続けるにつれて、これらのコマンドはネットワーク関連の問題の診断と解決にとても役立つことがわかります。

LabEx VM 環境は変化する可能性があることを忘れないでください。いつも、これらのコマンドを自分の特定の状況に合わせて調整できるように準備しておいてください。さまざまなシナリオでこれらのコマンドを使って練習し、その出力とオプションに慣れるようにしましょう。

楽しいネットワーキングを!