ネットワークの基礎操作: コマンド 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.8
でping
を試してみて。この操作でローカルネットワークが機能しているか、インターネット接続があるかを確認できるよ。
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. 例: 接続とネットワークを確認しよう
ここで、学んだ知識を小さな実践例でまとめてみよう。
ローカルインターフェイスの接続確認をしてみよう:
ping 127.0.0.1
ネットワークのIPアドレスを確認しよう:
ip addr
一時的に新しいIPアドレスを設定してみよう:
sudo ip addr add 192.168.1.102/24 dev enp0s3 ip addr show enp0s3
公開ノードの接続確認をしてみよう:
ping -c 3 8.8.8.8
古いディストリビューションを使用している場合、インターフェイスの切り替えを試してみよう:
sudo ifconfig enp0s3 down sudo ifconfig enp0s3 up
これでLinuxでネットワーク診断をするための基本的なツールを身に付けたよ。ping
, ip addr
, ifconfig
コマンドは、ネットワーク管理の世界への第一歩だよ。これからもっと面白くなるぞ!
GO TO FULL VERSION