そんな疑問を持ったことはありませんか?
RHEL 8 以降の環境では ifconfig がデフォルトで入っていないことがあり、
代わりに ip コマンドを使うことが当たり前になっています。
この記事では、ip コマンドの実践的な使い方を解説します。
IPアドレスの確認・追加・削除から、ルーティングの操作、リンク(NIC)の有効化・無効化、
DNS設定の確認と永続化まで、現場でよく使う操作をひとまとめにカバーします。
動作確認環境:RHEL 9.4 / Ubuntu 24.04 LTS
この記事のポイント
・ip コマンドは ifconfig の後継で RHEL 8以降は標準、iproute2 パッケージに含まれる
・ip addr でIPアドレスの確認・追加・削除、ip route でルーティング操作ができる
・ip コマンドの変更は再起動で消えるため nmcli で永続化が必要
・nmcli で静的IP・DNS・デフォルトゲートウェイをまとめて設定できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜ ip コマンドが必要なのか? ifconfig との違い
ifconfig はかつてのLinux標準コマンドでしたが、現在は「非推奨」扱いです。RHEL 8 / CentOS Stream 8 以降では net-tools パッケージ(ifconfig, netstat, route 等を含む)が
デフォルトインストールされなくなりました。
その代替として登場したのが ip コマンドです。
ip コマンドは iproute2 パッケージに含まれており、ほぼすべての現代的なLinuxディストリビューションで
標準提供されています。
ifconfig と ip コマンドの対応表を見ると、その違いがよくわかります。
| やりたいこと | ifconfig(旧) | ip コマンド(新) |
|---|---|---|
| IPアドレス確認 | ifconfig |
ip addr show |
| ルーティング確認 | route -n |
ip route show |
| インターフェース有効化 | ifconfig eth0 up |
ip link set eth0 up |
| ARPテーブル確認 | arp -n |
ip neigh show |
`ip addr`(アドレス操作)、`ip link`(リンク/NIC操作)、`ip route`(ルーティング操作)のように、
操作対象を明示してから具体的な命令を続ける形です。
また、ifconfig コマンドの使い方と比べると、
ip コマンドはIPv6への対応が充実しており、より詳細なネットワーク情報を扱えます。
IPアドレスそのものについても整理しておきましょう。
ネットワーク上では用途によって以下の3種類が登場します。
| 種類 | 役割 | 例 |
|---|---|---|
| プライベートIPアドレス | 社内・家庭内LANでの識別子 | 192.168.1.100 |
| グローバルIPアドレス | インターネット上の識別子 | 203.0.113.10 |
| ループバックアドレス | 自分自身を指す特殊アドレス | 127.0.0.1 |
「先頭24ビットがネットワーク部」を意味し、192.168.1.0/24 なら
192.168.1.1 ~ 192.168.1.254 の範囲が同じネットワークに属します。
基本的な使い方
1. IPアドレスを確認する(ip addr)
ネットワーク診断の第一歩は、現在のIPアドレスを確認することです。ip addr show(省略して `ip a` とも書けます)を実行します。
# IPアドレスを全インターフェース分表示する # ip addr show # または省略形 # ip a 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 inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:50:56:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 192.168.1.101/24 brd 192.168.1.255 scope global dynamic ens192 valid_lft 85421sec preferred_lft 85421sec inet6 fe80::250:56ff:fexx:xxxx/64 scope link valid_lft forever preferred_lft forever
・inet 192.168.1.101/24:IPv4アドレスとプレフィックス長(サブネットマスクの長さ)
・inet6 fe80::...:IPv6のリンクローカルアドレス(自動付与される)
・state UP:インターフェースが有効になっていることを示す
・dynamic:DHCPで自動取得したアドレスを示す
特定のインターフェース(例:ens192)だけ確認したい場合は、名前を指定します。
# 特定のインターフェースだけ確認する # ip addr show ens192 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:50:56:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 192.168.1.101/24 brd 192.168.1.255 scope global dynamic ens192 valid_lft 85421sec preferred_lft 85421sec
2. リンク(NIC)の状態を確認・変更する(ip link)
NIC(ネットワークインターフェースカード)の有効/無効状態を管理するのが `ip link` コマンドです。物理的な接続情報(MACアドレス、MTU値など)もここで確認できます。
# すべてのNICのリンク状態を確認する # 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: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:50:56:xx:xx:xx brd ff:ff:ff:ff:ff:ff # NICを無効化する(ダウン) # ip link set ens192 down # NICを有効化する(アップ) # ip link set ens192 up
その場で接続が切れてサーバーに戻れなくなります。本番環境では絶対に慎重に操作してください。
3. ルーティングテーブルを確認・変更する(ip route)
パケットがどの経路(ゲートウェイ)を通るかを決めるルーティングテーブルは、`ip route show` で確認できます。
# ルーティングテーブルを表示する # ip route show default via 192.168.1.1 dev ens192 proto dhcp src 192.168.1.101 metric 100 192.168.1.0/24 dev ens192 proto kernel scope link src 192.168.1.101
・default via 192.168.1.1:デフォルトゲートウェイが 192.168.1.1 であることを示す
・proto dhcp:DHCPで自動設定されたルートを示す
・192.168.1.0/24 dev ens192:この範囲のIPはens192経由でローカルに通信する
スタティックルートを一時的に追加・削除する場合は以下のコマンドを使います。
# スタティックルートを追加する(10.0.0.0/8 宛は 192.168.1.254 経由) # ip route add 10.0.0.0/8 via 192.168.1.254 dev ens192 # 追加したルートを確認する # ip route show default via 192.168.1.1 dev ens192 proto dhcp src 192.168.1.101 metric 100 10.0.0.0/8 via 192.168.1.254 dev ens192 192.168.1.0/24 dev ens192 proto kernel scope link src 192.168.1.101 # スタティックルートを削除する # ip route del 10.0.0.0/8 via 192.168.1.254 dev ens192
4. DNS設定を確認する
IPアドレスとルーティングの次に確認したいのがDNS(Domain Name System)設定です。DNSはドメイン名(例:linuxmaster.jp)をIPアドレスに変換する仕組みで、
設定が正しくないとドメイン名でのアクセスができなくなります。
# 現在のDNS設定を確認する # cat /etc/resolv.conf # Generated by NetworkManager nameserver 192.168.1.1 nameserver 8.8.8.8
注意:このファイルを直接編集しても、NetworkManagerが管理する環境では
ネットワーク再起動や再起動時に上書きされて元に戻ります。
永続化するには、後述の nmcli を使った設定変更が鉄則です。
応用・実務Tips
IPアドレスを一時的に追加・削除する
テスト用や一時的な用途でIPアドレスを追加したい場面はよくあります。ip addr add / del コマンドで、既存の設定を崩さずに追加できます。
# IPアドレスを一時的に追加する(ens192 に 192.168.1.200/24 を追加) # ip addr add 192.168.1.200/24 dev ens192 # 追加されたか確認する # ip addr show ens192 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:50:56:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 192.168.1.101/24 brd 192.168.1.255 scope global dynamic ens192 valid_lft 85421sec preferred_lft 85421sec inet 192.168.1.200/24 scope global secondary ens192 valid_lft forever preferred_lft forever # 追加したIPアドレスを削除する # ip addr del 192.168.1.200/24 dev ens192
元のアドレス(192.168.1.101)は消えずに残っています。
ただし、この追加は再起動すると消えます。
永続化するには、後述の nmcli(NetworkManager)を使って設定を書き込む必要があります。
デフォルトゲートウェイを一時的に変更する
ゲートウェイ変更が必要な障害対応の場面でも、ip コマンドが使えます。# 既存のデフォルトゲートウェイを削除する # ip route del default # 新しいデフォルトゲートウェイを設定する # ip route add default via 192.168.1.254 # 確認する # ip route show default via 192.168.1.254 dev ens192 192.168.1.0/24 dev ens192 proto kernel scope link src 192.168.1.101
設定を永続化する方法(nmcli)
ip コマンドで行った変更はメモリ上の設定であり、再起動するとすべて元に戻ります。RHEL / CentOS Stream / Rocky Linux 環境で設定を永続化するには、
nmcli(NetworkManagerの操作コマンド)を使うのが現場の鉄則です。
まず、現在の接続名を確認してから操作しましょう。
nmcli ではデバイス名(ens192)ではなく「接続名」を指定するため、
事前確認が重要です。
# ネットワーク接続一覧と接続名を確認する # nmcli connection show NAME UUID TYPE DEVICE ens192 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ethernet ens192
異なる場合があるため、必ずこのコマンドで確認してから以降の操作を行ってください。
# nmcli で IPv4 アドレスを固定IPに変更する(永続化) # nmcli connection modify ens192 ipv4.addresses 192.168.1.101/24 # nmcli connection modify ens192 ipv4.gateway 192.168.1.1 # nmcli connection modify ens192 ipv4.dns 192.168.1.1 # nmcli connection modify ens192 ipv4.method manual # 設定を有効化する # nmcli connection up ens192
・ipv4.method manual:手動(静的)設定に切り替える(DHCPをやめる)
・ipv4.addresses:IPアドレスをCIDR形式(例:192.168.1.101/24)で指定
・ipv4.gateway:デフォルトゲートウェイのIPアドレスを指定
・ipv4.dns:使用するDNSサーバーのIPアドレスを指定
DNSサーバーを変更したい場合(例:Google Public DNS に変更する)は、
以下のように dns パラメータだけを個別に更新できます。
# DNSサーバーを変更する(複数指定はスペース区切り) # nmcli connection modify ens192 ipv4.dns "8.8.8.8 8.8.4.4" # 設定を反映させる # nmcli connection up ens192 # /etc/resolv.conf が更新されていることを確認する # cat /etc/resolv.conf # Generated by NetworkManager nameserver 8.8.8.8 nameserver 8.8.4.4
直接 /etc/resolv.conf を編集しても再起動で戻るため、nmcli が正しい方法です。
静的IP設定からDHCPに戻したい場合は次のコマンドを使います。
# DHCPに戻す # nmcli connection modify ens192 ipv4.method auto ipv4.addresses "" ipv4.gateway "" ipv4.dns "" # 設定を反映させる # nmcli connection up ens192
本番環境での永続的な設定変更は nmcli か、/etc/NetworkManager/system-connections/ の
設定ファイルを直接編集することを検討してください。
ネットワークポートの確認には、ss コマンドと組み合わせると
より詳細な状態を把握できます。
ip コマンドの出力を絞り込む
実務では余分な情報を省いて確認したい場面もあります。・ip -4 addr show:IPv4アドレスのみ表示
・ip -6 addr show:IPv6アドレスのみ表示
・ip -brief addr show:コンパクトな表示形式で確認
# IPv4アドレスのみをコンパクトに表示する # ip -4 -brief addr show lo UNKNOWN 127.0.0.1/8 ens192 UP 192.168.1.101/24
「RTNETLINK answers: File exists」「Cannot assign requested address」が出た時の対処法
ip コマンドでエラーが発生する場合の主なケースと対処法をまとめます。ネットワーク接続できない場合の切り分け手順
まず原因がどの層にあるかを順番に確認しましょう。| 確認すること | コマンド | 正常な状態 |
|---|---|---|
| インターフェースの状態確認 | ip link show |
UP と表示される |
| IPアドレスが付いているか確認 | ip addr show |
inet行にIPが表示される |
| ゲートウェイへの疎通確認 | ping -c 3 192.168.1.1 |
応答が返ってくる |
| インターネットへの疎通確認 | ping -c 3 8.8.8.8 |
応答が返ってくる |
| DNS名前解決の確認 | dig google.com |
ANSWER SECTIONにIPが表示 |
「RTNETLINK answers: File exists」エラー
同じIPアドレスやルートが既に設定されている場合に発生します。# エラー例 # ip addr add 192.168.1.101/24 dev ens192 RTNETLINK answers: File exists # 対処:まず現在の設定を確認する # ip addr show ens192 # 不要なアドレスを削除してから追加し直す # ip addr del 192.168.1.101/24 dev ens192 # ip addr add 192.168.1.101/24 dev ens192
「Cannot assign requested address」エラー
指定したIPアドレスがインターフェースのサブネット範囲外の場合に発生します。例えば、192.168.1.101/24 のインターフェースに 10.0.0.1/24 を追加しようとした場合などです。
サブネットマスク(プレフィックス長)を正しく設定しているか確認してください。
ip コマンド自体が見つからない場合
古いシステムや最小インストール環境では iproute2 パッケージが入っていないことがあります。# RHEL / CentOS Stream / Rocky Linux の場合 # dnf install iproute # Ubuntu / Debian の場合 # apt install iproute2
NICがダウンした後、ip link set up しても通信できない
ip link set up でリンクを復活させても、IPアドレスが失われている場合があります。ダウン前に `ip addr show` で設定を控えておき、アップ後に再設定が必要です。
また、ping コマンドで通信が回復しているか確認するのを忘れないでください。
ARPテーブル(隣接ホストの情報)を確認したい場合
同一セグメント内の他のホストとの通信状況を確認したい場合は `ip neigh show` を使います。netstat コマンドでは確認できないARP情報を素早く把握できます。
# ARPテーブルを表示する # ip neigh show 192.168.1.1 dev ens192 lladdr xx:xx:xx:xx:xx:xx REACHABLE 192.168.1.50 dev ens192 lladdr xx:xx:xx:xx:xx:xx STALE
STALE:キャッシュが古くなっており、次の通信時に再確認されます。
dig / nslookup でDNSの動作を確認する
ネットワーク設定後にIPへの疎通はできるのにドメイン名でアクセスできない場合、DNS名前解決が失敗しています。dig または nslookup で動作を確認してください。
# ドメインのIPアドレスを調べる(dig) # dig linuxmaster.jp # 特定のDNSサーバーを使って問い合わせる # dig @8.8.8.8 linuxmaster.jp # または nslookup でも確認できる # nslookup linuxmaster.jp # nslookup linuxmaster.jp 8.8.8.8
表示されない場合は、`cat /etc/resolv.conf` でDNSサーバーの設定を確認し、
問題があれば前述の nmcli で正しいDNSサーバーを設定してください。
本記事のまとめ
ip コマンドおよびネットワーク設定の主要な操作を一覧にまとめます。| やりたいこと | コマンド |
|---|---|
| 全NICのIPアドレスを確認する | ip addr show |
| 特定NICのIPアドレスを確認する | ip addr show ens192 |
| IPv4のみをコンパクトに表示する | ip -4 -brief addr show |
| IPアドレスを一時的に追加する | ip addr add 192.168.1.200/24 dev ens192 |
| IPアドレスを削除する | ip addr del 192.168.1.200/24 dev ens192 |
| NICを有効化する | ip link set ens192 up |
| NICを無効化する | ip link set ens192 down |
| ルーティングテーブルを確認する | ip route show |
| スタティックルートを追加する | ip route add 10.0.0.0/8 via 192.168.1.254 dev ens192 |
| スタティックルートを削除する | ip route del 10.0.0.0/8 via 192.168.1.254 dev ens192 |
| ARPテーブル(隣接ホスト情報)を確認する | ip neigh show |
| DNS設定を確認する | cat /etc/resolv.conf |
| 接続名を確認する | nmcli connection show |
| 固定IPを永続設定する | nmcli connection modify ens192 ipv4.addresses 192.168.1.101/24 |
| DNSサーバーを永続設定する | nmcli connection modify ens192 ipv4.dns "8.8.8.8 8.8.4.4" |
| 変更を反映させる | nmcli connection up ens192 |
| DHCPに戻す | nmcli connection modify ens192 ipv4.method auto |
| DNS名前解決を確認する | dig linuxmaster.jp |
ネットワーク設定でつまずいたとき、毎回ネット検索に頼っていませんか?
ip コマンドの使い方を知っていても、実際の障害対応で「どのコマンドを使うべきか」が瞬時に判断できなければ、現場では役に立ちません。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:Linuxのディレクトリ構造を初心者向けに解説|Windowsとの違いがわかる入門ガイド
- 前のページへ:WSL2でLinuxを始める手順|インストールから基本コマンドまで初心者向け解説
- この記事の属するカテゴリ:【Linux入門】初心者のための基礎知識・講座へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます