
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 eth0
sudo 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
と入力してください。 ターミナルで。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。