LPIC Level2の勉強を進める中で、参考書籍が古かったため、ネットワーク関連のコマンドが古いものが使われていて、新しいコマンドへの置き換えを整理しなければと感じました。
現在は、従来のネットワーク管理コマンドから、より新しく、効率的なコマンドに置き換わっています。
また、ネットワーク関連の知識は、サーバーやシステムの運用において欠かせないスキルであり、正確で効率的なコマンドを習得することで、トラブルシューティングに役立つはずです。
今回の記事では、初心者やこれからLPICを受験しようとしている方々に向けて、古いコマンドとその代替となる新しいコマンドを比較しながら、使い方をわかりやすく解説します。
私自身の学習をベースに、LPIC試験対策に役立つ情報を提供していきますので、ぜひ参考にしてみてください。
■ネットワーク関連コマンドまとめ
まずはじめに、ネットワーク関連コマンドにおける従来のコマンドと新しいコマンドを比較してみます。
従来のコマンド | 置き換え | 説明 |
---|---|---|
ifconfig | ip addr, ip link | ネットワークインターフェースの設定、IPアドレスの確認など |
route | ip route | ルーティングテーブルの管理 |
netstat | ss | ソケット情報の表示 |
arp | ip neighbor | ARPキャッシュの管理 |
traceroute | mtr, tracepath | ネットワーク経路の追跡とリアルタイム監視 |
tcpdump | tcpdump | パケットキャプチャと解析 |
上記の表にあるコマンドをベースに、使い方を見ていきます。
■1. ネットワークインターフェースの確認と管理
ネットワーク管理において、インターフェースの状態を確認し、必要に応じて有効化や無効化する作業は基本的な操作の一つです。
従来は ifconfig
コマンドを使用してインターフェース情報を表示していましたが、現在では ip
コマンドが推奨されています。ip addr
や ip link
を使うことで、より詳細で効率的な管理が可能です。
【インターフェースの状態確認】
ip addr コマンドを使用して、ネットワークインターフェースのIPアドレスやステータスを確認できます。
ip addr show
このコマンドは、全てのインターフェースの状態をリスト表示し、各インターフェースのIPアドレス、リンクの状態(UP/DOWN)などを確認できます。
【インターフェースの有効化/無効化】
ネットワークインターフェースを有効化(アップ)または無効化(ダウン)するには、ip link コマンドを使用します。
-
インターフェースの有効化(アップ)
ip link set dev eth0 up
-
インターフェースの無効化(ダウン)
ip link set dev eth0 down
ip コマンドを使うことで、簡単にネットワークインターフェースを管理でき、従来の ifconfig よりも柔軟で詳細な操作が可能です。
2. ルーティングテーブルの表示と操作
ネットワークのパケットがどの経路を通って、目的地に到達するか、を管理するのがルーティングテーブルです。
従来は route
コマンドを使用してルーティングテーブルを確認・操作していましたが、現在では ip route
コマンドが推奨されています。ip route
を使うことで、より柔軟にルートの管理が可能です。
【ルーティングテーブルの表示】
ルーティングテーブルを確認するには、以下のコマンドを使用します。
ip route show
このコマンドは、システム上で設定されている全てのルート情報を表示します。デフォルトゲートウェイや各サブネットへのルート情報などを確認できます。
【ルートの追加】
新しいルートを追加するには、ip route add
コマンドを使用します。たとえば、192.168.1.0/24 へのルートを追加する場合は、次のようにします。
ip route add 192.168.1.0/24 via 192.168.1.1
このコマンドでは、192.168.1.0/24 のサブネットに向かうパケットが 192.168.1.1 を経由するように設定します。
【ルートの削除】
不要になったルートを削除するには、ip route del
コマンドを使います。先ほど追加したルートを削除するには次のように実行します。
ip route del 192.168.1.0/24
ip route
コマンドを使うことで、ルーティングテーブルの表示やルートの追加・削除が簡単にでき、従来の route
コマンドよりも細かい制御が可能です。
■3. ネットワーク接続とソケットの確認
ネットワークの接続状態やソケット情報を確認することは、トラブルシューティングやパフォーマンス監視において重要です。
従来は netstat
コマンドを使って接続状況やネットワークトラフィックを確認していましたが、現在では ss
コマンドが推奨されています。ss
は、より詳細で高速な情報表示が可能なツールです。
【ソケット情報の確認】
すべての接続中のソケットを確認するためには、次のコマンドを使用します。
ss -tuln
- -t オプションは TCP ソケットを表示
- -u は UDP ソケットを表示
- -l はリスニング中のソケットのみを表示
- -n はホスト名ではなく数値アドレスを表示
このコマンドの出力例は次の通りです。
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
ESTAB 0 0 192.168.1.10:56000 192.168.1.20:443
この出力から、現在のリスニング状態や確立された接続、使用されているポート番号を確認できます。
【特定のポートに関する情報を確認】
特定のポートに関する接続情報を確認する場合、以下のように指定します。たとえば、ポート80に関する情報を取得するには次のようにします。
ss -tuln sport = :80
このコマンドにより、ポート80に関連するすべてのソケット情報が表示されます。
【ネットワークトラフィックの確認】
接続中の全てのソケットを確認することで、現在のネットワークトラフィックの状態も把握できます。ss
コマンドは、リアルタイムのネットワークトラフィック分析にも利用できる強力なツールです。
■4. ARPキャッシュの確認と管理
ARP(Address Resolution Protocol)は、IPアドレスをMACアドレスに変換するために使用され、ネットワーク通信を正常に行うために重要です。ARPキャッシュには、IPアドレスとMACアドレスの対応情報が一時的に保存されます。
従来は arp
コマンドを使用してARPテーブルを確認・管理していましたが、現在では ip neighbor
コマンドが推奨されています。
【ARPテーブルの確認】
現在のARPテーブルを表示するには、以下のコマンドを使用します。
ip neighbor show
このコマンドは、システムが認識しているすべてのIPアドレスとその対応するMACアドレスのリストを表示します。また、各エントリの状態(REACHABLE, STALE, DELAYなど)も確認できます。
【ARPエントリの追加】
手動で新しいARPエントリを追加することも可能です。次のコマンドで特定のIPアドレスに対して、MACアドレスを指定してエントリを追加できます。
ip neighbor add 192.168.1.1 lladdr aa:bb:cc:dd:ee:ff dev eth0
このコマンドは、192.168.1.1
に対して MAC アドレス aa:bb:cc:dd:ee:ff
を指定し、インターフェース eth0
にエントリを追加します。
【ARPエントリの削除】
不要なARPエントリを削除するには、ip neighbor del
コマンドを使います。たとえば、次のように実行します。
ip neighbor del 192.168.1.1 dev eth0
このコマンドは、指定したIPアドレスに対応するARPエントリを削除します。
【ARPエントリのフラッシュ】
ARPキャッシュをすべてクリアすることもできます。これは、ネットワークの再構成や問題解決時に役立つ操作です。
ip neighbor flush dev eth0
このコマンドで、eth0
インターフェースに関連するすべてのARPエントリを削除します。
■5. 経路追跡(トレースルート)
ネットワーク経路を追跡することで、パケットがどのルートを経由して目的地に到達するかを確認できます。これにより、ネットワークの遅延や問題の発生場所を特定するのに役立ちます。
従来は traceroute
コマンドが広く使われていましたが、現在では mtr
や tracepath
というコマンドがより柔軟で詳細な情報を提供します。
【traceroute コマンドの代替1: mtr】
mtr(My Traceroute)は、traceroute
の機能に加えてリアルタイムでのネットワーク経路追跡とパフォーマンス監視を行うことができます。
mtr
はネットワークの遅延やパケットロスの状況をインタラクティブに表示するため、動的な監視が必要な場合に非常に便利です。
mtr example.com
このコマンドを実行すると、example.com
までのネットワーク経路がリアルタイムで表示され、経由するルーターなどの応答時間やパケットロスの状況が相互に更新されます。遅延や問題が可視化されるため、トラブルシューティングが容易になります。
【traceroute コマンドの代替2: tracepath】
tracepath
は traceroute
に似たシンプルなコマンドで、スーパーユーザー権限が不要な点が特徴です。基本的な経路追跡機能を提供し、ホップごとのMTU(最大転送ユニット)も確認できます。
tracepath example.com
このコマンドは、目的地に到達するまでの経路を順に表示し、特に経路中のMTUを確認したい場合に便利です。
【リアルタイム監視のメリット】
mtr
のようなツールは、ネットワーク遅延やパケットロスが時間とともに変動する場合に非常に有効です。
定期的に更新されるインターフェースを通じて、現在進行中のネットワークの状態を監視できるため、単一のスナップショット情報しか提供しない traceroute
よりも詳細な分析が可能です。
■6. パケットキャプチャと解析
ネットワークトラブルの診断や通信の詳細を把握するためには、パケットキャプチャが非常に有効です。
tcpdump
は、ネットワークインターフェースを流れるパケットをキャプチャし、リアルタイムでの解析や後での詳細な解析に利用できる強力なツールです。
【基本的なパケットキャプチャ】
ネットワークインターフェース上のすべてのパケットをキャプチャする基本的なコマンドは次の通りです。
sudo tcpdump -i eth0
このコマンドは、eth0
インターフェース上を通過する全てのパケットをキャプチャし、標準出力にリアルタイムで表示します。具体的には、パケットのヘッダー情報や、送信元・宛先のIPアドレス、ポート番号などが確認できます。
【パケットをファイルに保存】
リアルタイムでの解析ではなく、後で詳しく解析したい場合、パケットをファイルに保存しておくことが可能です。保存する場合は -w
オプションを使用します。
sudo tcpdump -i eth0 -w capture.pcap
このコマンドにより、eth0
インターフェース上のパケットを capture.pcap
というファイルに保存します。pcap
形式のファイルは後から tcpdump
や Wireshark
などの解析ツールで読み込み、詳細な解析を行うことができます。
【保存したファイルの解析】
保存したパケットキャプチャファイルを解析するには、次のように -r
オプションを使用してファイルを読み込みます。
tcpdump -r capture.pcap
このコマンドを使うことで、ファイルに保存されたパケットの内容を再度確認することができます。さらに、WiresharkなどのGUIツールを使用すると、視覚的にパケットを分析しやすくなるため、大量のパケットデータを扱う際には非常に便利です。
【特定のトラフィックをフィルタリング】
tcpdump
では、キャプチャするパケットをフィルタリングすることもできます。たとえば、特定のポート番号に対するトラフィックのみをキャプチャする場合、次のようにします。
sudo tcpdump -i eth0 port 80
このコマンドは、HTTP通信(ポート80)のみをキャプチャし、余計なパケットを排除して効率よく必要な情報を取得できます。
■まとめ
LPIC Level 2 の勉強を進める中で、ネットワーク関連コマンドを整理したいという思いから、本記事では従来のコマンドとその代替ツールを紹介してきました。
ifconfig
や route
といった古いコマンドに慣れている方も多いかと思いますが、新しい ip
コマンドや ss
などに移行することで、より効率的で詳細な情報管理が可能になります。
下記は、記事で紹介したコマンドの一覧です。
従来のコマンド | 置き換え | 説明 |
---|---|---|
ifconfig | ip addr, ip link | ネットワークインターフェースの設定、IPアドレスの確認など |
route | ip route | ルーティングテーブルの管理 |
netstat | ss | ソケット情報の表示 |
arp | ip neighbor | ARPキャッシュの管理 |
traceroute | mtr, tracepath | ネットワーク経路の追跡とリアルタイム監視 |
tcpdump | tcpdump | パケットキャプチャと解析 |
これらの新しいツールは、より柔軟で効率が良く、現代のLinuxシステムで推奨されているものです。
古いツールに慣れている人でも、新しいコマンドに移行することで、トラブルシューティングやネットワーク管理の作業効率が格段に向上する可能性があります。
LPIC Level 2 での知識を深めると同時に、これらのコマンドを活用して現場での実践力を高めていきましょう。
↓ほかの協栄情報メンバーのLinuxについての記事を公開しています。ぜひ参考にしてみてください。
■【Linux】rsyncコマンドについて理解を深める(ito.d)
■linuxでのプロセスの監視について(ito.d)
■カーネルコマンドラインを使ってブート時にSELinuxを無効化する。(yamada.y)
■ストレージシステムの性能測定ツール”fio”について調べてみた(齊藤弘樹)
■sedコマンドについて調べてみた(齊藤弘樹)