CodeGym /コース /Docker SELF /ネットワークの基礎操作: コマンド ping, ip addr, ifconfig

ネットワークの基礎操作: コマンド ping, ip addr, ifconfig

Docker SELF
レベル 4 , レッスン 0
使用可能

ネットワークの基礎操作: コマンド ping, ip addr, ifconfig

1. ネットワークの概念への導入: 少しの理論

今日の講義では、Linuxネットワークツールの基本について説明するよ。ネットワークノードのアクセス確認やネットワークインターフェースの状態や設定を分析する方法、さらにネットワーク設定について学ぶんだ。

ネットワークって、ITの世界の神経システムみたいなものだよね。ブラウザがどうやってウェブページを開くのか不思議に思ったことがある?その答えはネットワークのおかげなんだよ。開発者でも管理者でもエンジニアでも、ネットワークの基本を理解するのは超重要なスキルだね。

ネットワークって何?データを交換するために繋がれたコンピュータの集まりだよ。Linuxのネットワーク管理においては、次の基本的な概念を理解することから始まるんだ:

  • IPアドレス: ネットワーク内のデバイスのユニークな識別子だよ。簡単に言うと、これはコンピュータの住所みたいなもの。
  • サブネット: ネットワーク内のデバイスの論理的なグループだよ。地区みたいなもので、その地区内の家が住所を持ってる感じ。
  • ゲートウェイ: 「外の世界」への出口だね。ローカルネットワーク内のデバイスがインターネットに出たり他のサブネットに接続したりできる経路だよ。

IPアドレスには2種類ある: IPv4 (例えば 192.168.1.1) と IPv6 (例えば 2001:0db8:85a3:0000:0000:8a2e:0370:7334)。IPv4の方がシンプルで、この講義ではそれを扱うよ。IPv6はすごくクールで将来的な標準だけど、それは後で学ぼう。


2. コマンド ping: ノードの接続確認

pingは何をするの?

ping っていうのは、ネットワーク内の他のノードが接続可能かどうかを確認するツールだよ。ターゲットサーバーに小さな「挨拶状」(ICMPリクエスト)を送信して、応答を待つんだ。ノードが応答すれば問題なし。応答がなければ、何か問題があるかも(もしくはサーバーがあなたを無視しているのかも、失礼な!)。

pingの使い方は?

ちょっとpingを使ってみよう。ターミナルを開いて、次のコマンドを入力してみてね:

ping 8.8.8.8

このコマンドは、GoogleのパブリックDNSサーバーにリクエストを送信するよ。こんな感じの結果が表示されるはず:

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=10.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=10.2 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=10.3 ms

これらの行が意味するところは:

  • icmp_seq: 送信されたリクエストの番号。
  • ttl: パケットの「生存時間」(ネットワーク内で何回「飛び」が可能か)。
  • time: 応答を送受信するのにかかった時間(ミリ秒単位)。

送信リクエストの数を制限するには、-cフラグを使おう:

ping -c 4 8.8.8.8

このコマンドは無限ループの代わりに4つだけリクエストを送信するよ。

実践: ローカルホストとインターネットの接続確認

ルーターのIPアドレス(普通は192.168.1.1みたいなもの)や8.8.8.8pingを試してみて。この操作でローカルネットワークが機能しているか、インターネット接続があるかを確認できるよ。


3. ip addr コマンド:ネットワークインターフェースを確認する

ネットワークインターフェースって何?

ネットワークインターフェースは、コンピュータがネットワークと「コミュニケーション」するためのものだよ。Ethernet(有線接続)、WLAN(無線接続)、特定のタスク用に作られた仮想インターフェースの場合もあるんだ。

ip addr コマンドは現在のネットワークインターフェース設定を表示する。やってみよう:

ip addr

結果はこんな感じになると思うよ:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic enp0s3
    inet6 fe80::1a2b:3c4d:5e6f:f7g8/64 scope link

ここで見えるもの:

  • lo — ローカルインターフェース (localhost)。このアドレスはいつも 127.0.0.1
  • enp0s3 — Ethernetアダプタのネットワークインターフェース名。
  • inet — インターフェースのIPv4アドレス。
  • inet6 — インターフェースのIPv6アドレス。

IPアドレスを一時的に設定する方法

sudo 経由でスーパーユーザー権限がある場合、IPアドレスを一時的に設定できるよ:

sudo ip addr add 192.168.1.101/24 dev enp0s3

このIPアドレスは再起動するまで有効だよ。


4. コマンド ifconfig: 古いけどまだ人気のツール

昔はネットワークインターフェース管理に ifconfig が使われていたよ。最近はだんだん使われなくなってきて(代わりに ip addr が使われてる)、でも古いディストリビューションではまだたまに出会うことがある。

インターフェースの状態確認

ifconfig でインターフェースの状態を確認するには、このコマンドを実行してみて:

ifconfig

結果は ip addr コマンドの出力に似てるよ。

インターフェースの有効化/無効化

インターフェースを有効化または無効化するには、以下のコマンドを使おう:

sudo ifconfig enp0s3 down
sudo ifconfig enp0s3 up

でも、ifconfig は最新のディストリビューションでは動かないことがあるから気をつけてね。コマンドが見つからない場合は、 net-tools パッケージをインストールしてみるか、すぐに ip addr に切り替えるのがおすすめ。


5. 例: 接続とネットワークを確認しよう

ここで、学んだ知識を小さな実践例でまとめてみよう。

  1. ローカルインターフェイスの接続確認をしてみよう:

    ping 127.0.0.1
    
  2. ネットワークのIPアドレスを確認しよう:

    ip addr
    
  3. 一時的に新しいIPアドレスを設定してみよう:

    sudo ip addr add 192.168.1.102/24 dev enp0s3
    ip addr show enp0s3
    
  4. 公開ノードの接続確認をしてみよう:

    ping -c 3 8.8.8.8
    
  5. 古いディストリビューションを使用している場合、インターフェイスの切り替えを試してみよう:

    sudo ifconfig enp0s3 down
    sudo ifconfig enp0s3 up
    

これでLinuxでネットワーク診断をするための基本的なツールを身に付けたよ。ping, ip addr, ifconfig コマンドは、ネットワーク管理の世界への第一歩だよ。これからもっと面白くなるぞ!

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION