Linux で ip コマンドを使用してネットワークを管理する方法

Linux で ip コマンドを使用してネットワークを管理する方法

Linux の管理とトラブルシューティングの最も基本的な部分は、システムの IP 構成をチェックして、システムに有効な IP があり、ローカル ネットワークでアクセスできることを確認することです。

Linux の ip コマンドは、システムの現在の IP アドレスを表示するだけでなく、ネットワーク インターフェイス、IP アドレス、ルート、および ARP テーブルの現在の構成を表示および管理できる強力なツールです。

Linux での ip コマンドの一般的な使用例をいくつか見てみましょう。

Linux で IP アドレスを見つける

Linux システムの IP アドレスを見つけるには、ip コマンドの後にaddressaddr、またはオプションを使用します。

ip address

これにより、IP アドレスを含むすべてのネットワーク インターフェイスの構成が表示されます。

次の例では、システムにlo (ループバック アドレス)、ens33、およびens37の 3 つのネットワーク インターフェイスがあることがわかります。出力には次の情報が含まれます。

  • インターフェイスの機能や物理層の接続状態、MTU、インターフェイスの動作状態 (UP または DOWN など)、および伝送キューの長さ (qlen) などのレイヤ 1 情報。
  • インターフェイスの MAC アドレスなどのレイヤ 2 情報。
  • レイヤー 3 情報には、IP アドレスとそのタイプ (動的 IP アドレス指定または静的 IP アドレス指定) が含まれます。
ip addr コマンド

ネットワーク インターフェイスに関する簡単な情報を表示するには、次のように–briefオプションを指定して ip コマンドを使用します。

ip --brief address show

IPアドレスの簡単な表示

IPv4 アドレス情報のみを表示するには、次のコマンドを使用します。

ip -4 addr

特定のネットワーク インターフェイスの IP アドレス情報を確認するには、次の構文を使用します。

ip address show dev [interface]

たとえば、ネットワーク インターフェイスens33の IP アドレスを表示するには、コマンドは次のようになります。

ip address show dev ens33

MAC アドレスの表示と変更

ip コマンドを使用して、システムの MAC アドレスを表示および変更することもできます。

Linux システムの MAC アドレスを表示するには、次のコマンドを使用します。

ip --brief link show

ip link show brief 出力

特定のインターフェイスの MAC アドレスを表示するには、次を使用します。

ip --brief link show dev [interface]

MAC アドレスを変更するには、まずインターフェイスを停止します。

sudo ip link set dev [interface] down

次に、次のコマンドを使用して、インターフェイスの MAC アドレスを変更します。

sudo ip link set dev [interface] address [new-mac-adddress]

その後、インターフェイスを起動します。

sudo ip link set dev [interface] up

MAC アドレスを変更する

ネットワーク インターフェイス統計の表示

ip コマンドを使用して、ネットワーク インターフェイスの統計を表示することもできます。次の ip コマンドを使用して、システム上のすべてのネットワーク インターフェイスの統計を表示します。

ip -s link

インターフェイス統計

出力には、送受信されたバイト/パケット、エラー、ドロップされたパケット、マルチキャストなどの統計が含まれます。特定のインターフェイスの統計を表示するには、次の構文を使用します。

ip -s link show dev [interface]

インターフェイスを起動するには、次の ip コマンドを使用します。

sudo ip link set [interface] up

インターフェイスを停止するには、次を実行します。

sudo ip link set [interface] down

次のコマンドを使用して、インターフェースの MTU (最大伝送単位) を変更することもできます。

sudo ip link set mtu [number] dev [interface]

たとえば、ネットワーク インターフェイスens33の MTUを8000に設定するには、コマンドは次のようになります。

sudo ip link set mtu 8000 dev ens33

インターフェイスの mtu を設定

Linux での IP アドレスの追加/削除

IP アドレスをネットワーク インターフェイスに追加するには、次の構文を使用します。

ip addr add [ip-address] dev [interface]

IP アドレス192.168.42.140/24をネットワーク インターフェイスens33に追加するには、コマンドは次のようになります。

ip addr add 192.168.42.140/24 dev ens33

インターフェイスに IP アドレスを追加する

インターフェイスから IP アドレスを削除するには、次のコマンド構文を使用します。

ip addr del [ip-address] dev [interface]

インターフェイスens33からIP アドレス192.168.42.140/24を削除するには、コマンドは次のようになります。

ip addr del 192.168.42.140/24 dev ens33

Linux でルーティング テーブルを表示する

ip route コマンドは、Linux システムでルートを表示および変更するために使用されます。システムのルーティング テーブルを表示するには、オプションを指定せずに ip route コマンドを使用します。

ip route

ip ルート コマンド

出力の各行は、構成されたルートを表します。ルートは、宛先ネットワーク アドレス、ネクスト ホップ (つまり、ルーターの IP アドレス)、パケットが送信されるインターフェイス、およびメトリック (複数のルートがある場合に優先ルートを決定するために使用される値) で構成されます。目的地まで利用可能)。この場合、メトリックの低いルートが優先されます。

上記の例では、最初の 2 つのエントリはデフォルト ルートを表しており、宛先アドレスに対して他のルートが使用できない場合に使用されます。192.168.42.2192.168.10.1はルーターの IP アドレスです。dev ens33およびens37は、パケットをルーターに送信するために使用されるインターフェイスを示します。proto dhcpフィールドは、デフォルト ルートが DHCP から学習されたことを示します。

2 番目のエントリは、APIPA アドレス (自動プライベート IP アドレス指定) 169.254.0.0/16を表します。ホストが DHCP サーバーから IP アドレスを取得できない場合、ホストはこのネットワークからランダムな IP アドレスを割り当てます。これにより、IP アドレスの取得に失敗したサブネット内の他のホストと通信できます。

3 番目と 4 番目のエントリは、システムが接続されているローカル ネットワークのネットワーク アドレスを示します。192.168.10.0はインターフェイスens37が接続されているネットワークで、192.168.42.0ens33が接続されているネットワークです。

srcフィールドは、このルートを介してパケットを送信するときに送信元アドレスとして使用されるインターフェイスの IP アドレスを示します。

ip を使用してルーティング テーブルを変更する

ルートを手動で追加するには、ip route コマンドを使用し、その後に宛先ネットワーク アドレスとゲートウェイ IP を指定します。

sudo ip route add [network-id] via [gateway-ip]

たとえば、192.168.20.0ネットワーク宛てのすべてのトラフィックを192.168.10.16のゲートウェイに送信するルートを追加するには、次のコマンドを使用します。

sudo ip route add 192.168.20.0/24 via 192.168.10.16

ip ルート コマンド

次のコマンドを使用して、デフォルト ルートを追加します。

sudo ip route add default via [ip-address] dev [interface]

たとえば、トラフィックをens33経由で192.168.10.1のルーターに転送するデフォルト ルートを追加するには、次のコマンドを実行します。

sudo ip route add default via 192.168.10.1 dev ens33
ip route get [ip-address]

ルーティング テーブル エントリを削除するには、次の構文を使用します。

sudo ip route delete [network-address] via [gateway-ip]

次の構文を使用して、アドレスが経由するルートを表示することもできます。

ip route get [ip-address]

IP アドレスのルートを表示する

Linux で隣接テーブルを管理する

Linux でip neighコマンドを使用して、ARP テーブルとも呼ばれるネイバー テーブルを表示および変更できます。現在のネイバー テーブル エントリを表示するには、次のコマンドを使用します。

ip neigh show

ipneighbor コマンド

ネイバー テーブルに新しいエントリを追加するには、次の構文を使用します。

sudo ip neigh add [ip-address] lladdr [mac-address] dev [interface]

ネイバー テーブルからエントリを削除するには、次の構文を使用します。

sudo ip neigh del [ip-address] dev [interface]

ip コマンドの出力に色を追加する

出力をより簡単かつ迅速に理解できるようにするために、-cオプションを使用して ip コマンドの出力に色を追加できます。

ip -c a

ip コマンドに色を追加

Linux でのネットワークと IP アドレスの管理

Linux の ip コマンドは、ネットワーク接続の管理とトラブルシューティングに役立つツールです。ネットワーク インターフェイスの表示やリンク プロパティの変更から、IP アドレスの検索やルートの管理まで、ip コマンドを使用すると、コマンド ラインからいくつかのシステム管理タスクを実行できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です