ip コマンドは、Linuxシステム管理者が知っておくべきネットワークインターフェイスを構成するための強力なツールです。これは、インターフェイスの起動または停止、アドレスとルートの割り当てと削除、ARPキャッシュの管理などに使用されます。
この記事では、実際の例と最も一般的なオプションの詳細な説明を通じて、ipコマンドの使用方法を説明します。
ipコマンドの使用方法#
ip ユーティリティは、すべての最新のLinuxディストリビューションにインストールされているiproute2パッケージの一部です。
ipの構文 コマンドは次のとおりです:
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECTは、管理するオブジェクトタイプです。最も頻繁に使用されるオブジェクト(またはサブコマンド)は次のとおりです。
link(l)-ネットワークインターフェイスを表示および変更します。address(a)-IPアドレスを表示および変更します。route(r)-ルーティングテーブルを表示および変更します。neigh(n)-隣接オブジェクト(ARPテーブル)を表示および操作します。
オブジェクトは、完全な形式または省略形(短い)形式で記述できます。各オブジェクトのコマンドと引数のリストを表示するには、ip OBJECT helpと入力します。 。
ネットワークインターフェイスを構成するときは、rootまたはsudoprivilegesを持つユーザーとしてコマンドを実行する必要があります。それ以外の場合、コマンドはRTNETLINK answers: Operation not permittedを出力します 。
ipで設定された構成 コマンドは永続的ではありません。システムを再起動すると、すべての変更が失われます。変更を永続的にするには、ディストリビューション固有の構成ファイルを編集するか、起動スクリプトにコマンドを追加する必要があります。
IPアドレスの表示と変更#
addrで操作する場合 コマンドが次の形式をとるオブジェクト:
ip addr [ COMMAND ] ADDRESS dev IFNAME
addrの最も頻繁に使用されるコマンド オブジェクトは次のとおりです:show 、add 、およびdel 。
すべてのIPアドレスに関する情報を表示する#
すべてのネットワークインターフェイスと関連するIPアドレスのリストを表示するには、次のコマンドを入力します。
ip addr show 出力は次のようになります:
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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0
valid_lft 2900sec preferred_lft 2900sec
inet6 fe80::5054:ff:fe8c:6244/64 scope link
valid_lft forever preferred_lft forever
showを省略して入力すると、同じ出力が得られます。 コマンドとタイプ:ip addr 。
IPv4のみを表示したい場合 またはIPv6 IPアドレス、ip -4 addrを使用 またはip -6 addr 。
単一のネットワークインターフェースに関する情報を表示する#
特定のネットワークインターフェースに関する情報を取得するには、ip addr show devを使用します その後にデバイス名が続きます。たとえば、eth0をクエリするには 、次のように入力します:
ip addr show dev eth0 IPアドレスをインターフェースに割り当てます#
インターフェイスにIPアドレスを割り当てるには、次の構文を使用します。
ip addr add ADDRESS dev IFNAME
IFNAMEの場所 はインターフェース名であり、ADDRESS インターフェイスに割り当てるIPアドレスです。
アドレスを追加するには192.168.121.45 ネットマスク24を使用してデバイスeth0 、次のように入力します:
sudo ip address add 192.168.121.45/24 dev eth0
成功すると、コマンドは出力を表示しません。インターフェースが存在しない場合は、Cannot find device "eth0"が表示されます。 。
同じインターフェースに複数のIPアドレスを割り当てます#
ipを使用 、同じインターフェイスに複数のアドレスを割り当てることができます。例:
sudo ip address add 192.168.121.241/24 dev eth0sudo ip address add 192.168.121.45/24 dev eth0
IPが割り当てられていることを確認するには、タイプip -4 addr show dev eth0 またはip -4 a show dev eth0 :
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0
valid_lft 3515sec preferred_lft 3515sec
inet 192.168.121.45/24 scope global secondary eth0
valid_lft forever preferred_lft forever
インターフェースからIPアドレスを削除/削除します#
インターフェイスからIPアドレスを削除するための構文は次のとおりです。
ip addr dev ADDRESS dev IFNAME
IFNAMEはインターフェース名であり、ADDRESSはインターフェースから削除するIPアドレスです。
アドレス192.168.121.45/24を削除するには デバイスeth0タイプから:
sudo ip address del 192.168.121.45/24 dev eth0 ネットワークインターフェイスの表示と変更#
ネットワークインターフェースの状態を管理および表示するには、linkを使用します オブジェクト。
linkを使用する場合 オブジェクト、最も一般的に使用されるコマンドは次のとおりです。show 、set 、add 、およびdel 。
ネットワークインターフェースに関する情報を表示する#
すべてのネットワークインターフェイスのリストを表示するには、次のコマンドを入力します。
ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
ip addr showとは異なり 、ip link show デバイスに関連付けられているIPアドレスに関する情報は印刷されません。
特定のネットワークインターフェースに関する情報を取得するには、ip link show devを使用します その後にデバイス名が続きます。たとえば、eth0をクエリするには 次のように入力します:
ip link show dev eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
インターフェースを上下させるには、ip link set devを使用します その後にデバイス名と目的の状態が続きます:
ip link set dev {DEVICE} {up|down}
たとえば、インターフェースeth0を導入するには オンラインでは、次のように入力します:
ip link set eth0 up オフラインの場合は持参する
ip link set eth0 down ルーティングテーブルの表示と変更#
カーネルルーティングテーブルを割り当て、削除、および表示するには、routeを使用します 物体。ルートオブジェクトを操作するときに最も一般的に使用されるコマンドは次のとおりです。list 、add 、およびdel 。
ルーティングテーブル番号を表示する#
カーネルルートエントリのリストを取得するには、次のいずれかのコマンドを使用します。
ip route
ip route list
ip route list SELECTOR
SELECTORなしで使用した場合 このコマンドは、カーネル内のすべてのルートエントリを一覧表示します。
ip route list default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100
192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241
192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100
特定のネットワークのルーティングのみを表示するには、たとえば、172.17.0.0/16 次のように入力します:
ip r list 172.17.0.0/16 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
新しいルートを追加する#
ルーティングテーブルに新しいエントリを追加するには、route addを使用します コマンドの後にネットワーク名またはデバイス名が続きます。
192.168.121.1のゲートウェイを経由して192.168.121.0/24へのルートを追加します
ip route add 192.168.121.0/24 via 192.168.121.1 デバイスeth0で到達できる192.168.121.0/24へのルートを追加します。
ip route add 192.168.121.0/24 dev eth0
デフォルトルートを追加するには、キーワードdefaultを使用します 。次のコマンドは、ローカルゲートウェイ192.168.121.1を介したデフォルトルートを追加します デバイスeth0で到達できます 。
ip route add default via 192.168.121.1 dev eth0 ルートを削除する#
ルーティングテーブルからエントリを削除するには、route addを使用します 指図。ルートを削除するための構文は、追加する場合と同じです。
次のコマンドはデフォルトルートを削除します:
ip route del default 192.168.121.1のゲートウェイ経由で192.168.121.0/24のルートを削除します
ip route add 192.168.121.0/24 via 192.168.121.1 結論#
これで、Linuxのipの使用方法を十分に理解できたはずです。 指図。他のipの詳細については オプションについては、ipコマンドのmanページにアクセスするか、man ipと入力してください。 ターミナルで。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。