【Linux】IPアドレスの確認をするコマンド:ip

Linux

どーも!marusukeです!

ipアドレスの確認やネットワーク設定を行うコマンドipについて説明します!

ipコマンドでできること

ip [ OPTIONS ] OBJECT サブコマンド [または help ]

ipコマンドは、Linuxシステムでネットワーク設定やネットワークインターフェースの管理を行うためのコマンドです

再起動後はipコマンドで変更した内容は消えてしまうので注意が必要です

ipコマンドは、従来のifconfigコマンドの代替としてipコマンド推奨されており、ネットワークに関する情報の確認や設定を行うことができます

主に以下のようなことができます

  • ネットワークインターフェースの状態確認と設定
  • IPアドレスの表示や設定
  • ルーティングテーブルの表示や設定
  • ネットワークデバイスの有効化/無効化
  • ARPテーブルの管理
  • マルチキャスト設定

ipコマンドのオプションとオブジェクト

以下は、ipコマンドで使用できる主なオプションと対象オブジェクトです

オブジェクト説明
linkネットワークインターフェース(リンクデバイス)の管理を行います
addrIPアドレスの表示、追加、削除を行います
routeルーティングテーブルの表示、追加、削除を行います
neighネイバー(ARPテーブルやNDP)の表示と管理を行います
netnsネットワーク名前空間の管理を行います
maddrマルチキャストアドレスの設定を行います
monitorネットワークイベント(アドレス変更、リンク状態変更など)を監視します
helpコマンドやオブジェクトに関するヘルプを表示します

オブジェクトのサブコマンド

linkオブジェクトの場合

ip link [サブコマンド]
サブコマンド説明
showインターフェースの状態を表示する(デフォルト動作)。
setインターフェースの設定を変更する。
add新しいリンクデバイスを追加する(仮想デバイスなど)。
delリンクデバイスを削除する。
upインターフェースを有効化する。
downインターフェースを無効化する。

使用例

# ネットワークインターフェースの状態を表示する
ip link show

# インターフェースを有効化する
sudo ip link set enp0s3 up

# インターフェースを無効化する
sudo ip link set enp0s3 down

addrオブジェクトの場合

ip addr [サブコマンド]
サブコマンド説明
showインターフェースのIPアドレスを表示する(デフォルト動作)
addIPアドレスをインターフェースに追加する
delIPアドレスをインターフェースから削除する
flush全てのIPアドレスをインターフェースから削除する

使用例

# IPアドレスを表示する
ip addr show

# IPアドレスを追加する
sudo ip addr add 192.168.1.100/24 dev enp0s3

# IPアドレスを削除する
sudo ip addr del 192.168.1.100/24 dev enp0s3

routeオブジェクトの場合

ip route [サブコマンド]
サブコマンド説明
showルーティングテーブルを表示する(デフォルト動作)
addルートを追加する
delルートを削除する
replaceルートを置き換える

使用例

# ルーティングテーブルを表示する
ip route show

# 新しいデフォルトルートを追加する
sudo ip route add default via 192.168.1.1

# ルートを削除する
sudo ip route del default via 192.168.1.1

neighオブジェクトの場合

ip neigh [サブコマンド]
サブコマンド説明
showネイバーテーブルを表示する(デフォルト動作)
addネイバーを追加する
delネイバーを削除する
replaceネイバーを置き換える

使用例

# ARPテーブルを表示する
ip neigh show

# 新しいネイバー(ARPエントリ)を追加する
sudo ip neigh add 192.168.1.200 lladdr 00:11:22:33:44:55 dev enp0s3

# ネイバーを削除する
sudo ip neigh del 192.168.1.200 dev enp0s3

netnsオブジェクトの場合

ip netns [サブコマンド]
サブコマンド説明
add新しいネットワーク名前空間を作成する
delネットワーク名前空間を削除する
list名前空間の一覧を表示する
exec指定した名前空間でコマンドを実行する

使用例

# ネットワーク名前空間を作成する
sudo ip netns add test-ns

# 名前空間内でコマンドを実行する
sudo ip netns exec test-ns ip addr show

# 名前空間を削除する
sudo ip netns del test-ns

maddrオブジェクトの場合

ip maddr [サブコマンド]
サブコマンド説明
showマルチキャストアドレスを表示する
addマルチキャストアドレスを追加する
delマルチキャストアドレスを削除する

使用例

# マルチキャストアドレスを表示する
ip maddr show

# マルチキャストアドレスを追加する
sudo ip maddr add 224.0.0.1 dev enp0s3

# マルチキャストアドレスを削除する
sudo ip maddr del 224.0.0.1 dev enp0s3

monitorオブジェクトの場合

ip monitor [サブコマンド]
サブコマンド説明
all全てのネットワークイベントを監視する(デフォルト)
linkインターフェースに関するイベントを監視する
addrIPアドレスの変更イベントを監視する
routeルーティングテーブルの変更イベントを監視する

使用例

# ネットワーク全体のイベントを監視する
ip monitor all

# IPアドレスの変更イベントを監視する
ip monitor addr

注意点

  • ipコマンドで行った設定はデフォルトでは一時的で、再起動するとリセットされます。永続化するには、ネットワーク設定ファイルを編集する必要があります
  • 権限が必要な操作(例: IPアドレスの追加や削除)を行う際には、sudoを付けてコマンドを実行してください

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました