Linuxを使い始めると、こうしたネットワーク絡みのトラブルに必ずぶつかります。
でも、焦る必要はありません。Linuxのネットワーク確認は、たった2つのコマンドを覚えるだけで大半の問題に対応できます。
この記事では、初心者が最初に覚えるべき ip コマンド(IPアドレス確認・設定表示)と ping コマンド(通信疎通確認)の使い方を、Windowsとの比較も交えながら丁寧に解説します。「コマンドは難しそう」と感じている方も、この記事を読み終えたら自信を持ってターミナルを開けるはずです。
この記事のポイント
・ip addr show でIPアドレスを確認、ip route show でデフォルトゲートウェイを確認できる
・ping コマンドで相手との通信疎通を1ステップで確認できる
・Windows の ipconfig / ping と対応関係を理解すれば迷わない
・ネットワーク障害の切り分けは「自分→ゲートウェイ→DNSサーバー」の順番が鉄則
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
Linuxのネットワーク確認が必要な場面
Windowsではコントロールパネルや設定アプリで「ネットワーク状態」をGUIで確認できます。一方Linuxのサーバー環境では、GUI(グラフィカルな画面)がないことがほとんどです。ターミナルだけで状況を把握しなければならない場面を、いくつか挙げてみます。
・サーバーにSSHで接続できない
・Webサーバーを立てたが外部から見えない
・設定したIPアドレスが反映されているか確認したい
・特定のサーバーまで通信が届いているか確かめたい
こういった状況で真っ先に使うのが、今回紹介する
ip コマンドと ping コマンドです。WindowsのipconfigとLinuxのipコマンドの対応
Windows使いの方は、まずこの対応表を確認してください。概念はまったく同じです。| やりたいこと | Windows | Linux |
|---|---|---|
| IPアドレスの確認 | ipconfig |
ip addr show |
| デフォルトゲートウェイの確認 | ipconfig |
ip route show |
| 通信疎通の確認 | ping 宛先IP |
ping 宛先IP |
| NICの一覧確認 | ipconfig /all |
ip link show |
ifconfig というコマンドが使われていましたが、現在は ip コマンドが標準です。RHEL 9 / Ubuntu 22.04以降の環境では ip コマンドを使う習慣をつけてください。ip addr show でIPアドレスを確認する
1. コマンドを実行する
ターミナルを開き、以下のコマンドを入力してEnterを押します。# NICとIPアドレスの一覧を表示する ip addr show
ip a や ip addr でも同じ結果が得られます。2. 出力結果の読み方
実際のサーバーでは、次のような出力が表示されます。1: lo:
mtu 65536 qdisc noqueue state UNKNOWN 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: mtu 1500 qdisc fq_codel state UP link/ether 08:00:27:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0 valid_lft 85100sec preferred_lft 85100sec
・lo(ループバック): 127.0.0.1 は自分自身を指す特殊なアドレスです。無視して構いません
・eth0(イーサネット): 実際に外部と通信するNIC(ネットワークカード)の情報です
・inet 192.168.1.100/24:
inet の後ろがIPアドレス、/24 がサブネットマスク(255.255.255.0に相当)ですVPS環境では NIC名が
ens3 や enp0s3 になることもありますが、読み方は同じです。3. 特定のNICだけ表示する
# eth0だけを表示する ip addr show eth0
ip route show でデフォルトゲートウェイを確認する
IPアドレスが設定されていても、ゲートウェイ(インターネットへの出口)が設定されていないと外部と通信できません。# ルーティングテーブルを表示する ip route show
default via 192.168.1.1 dev eth0 proto dhcp metric 100 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
この行が存在しない場合、サーバーはインターネットに到達できない状態です。DHCPが正常に機能しているか、または静的ルート設定を見直す必要があります。
pingコマンドで通信疎通を確認する
ping は「相手まで通信が届くか」を確認する最も基本的なコマンドです。Windows の ping と動作はほぼ同じですが、1点だけ違いがあります。LinuxのpingはCtrl+Cで止めるまで無制限に送り続けます。(Windowsは4回で自動終了)
1. 基本の使い方
# 宛先IPアドレスへpingを送信する(Ctrl+Cで停止) ping 192.168.1.1 # または回数を指定して自動終了させる(-c 4 は4回送信して終了) ping -c 4 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.23 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.98 ms 64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=1.05 ms 64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=1.11 ms --- 192.168.1.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 0.98/1.09/1.23/0.10 ms
・time=1.23 ms: 往復にかかった時間(レイテンシ)。数字が小さいほど良い状態です
・Request timeout / 100% packet loss: 通信が届いていません。経路かファイアウォールを確認してください
2. ドメイン名でpingを送ってDNS解決も確認する
# ドメイン名で指定することでDNS名前解決も同時に確認できる ping -c 4 google.com
ネットワーク障害の切り分け手順
「つながらない」と感じたとき、次の順番でpingを打つと問題箇所を素早く特定できます。1. ループバックアドレスに送信する(自分自身の確認)
# TCP/IPスタック自体が正常かを確認する ping -c 2 127.0.0.1
2. デフォルトゲートウェイに送信する(ルーターまでの確認)
# ip route show で確認したゲートウェイIPアドレスを指定 ping -c 4 192.168.1.1
3. 外部DNSサーバーに送信する(インターネット接続の確認)
# Google Public DNS (8.8.8.8) へのpingでインターネット疎通を確認 ping -c 4 8.8.8.8
4. ドメイン名で送信する(DNS解決の確認)
# ドメイン名解決ができているか確認する ping -c 4 google.com
/etc/resolv.conf や nmcli の設定)に問題があります。よくあるエラーと対処法
「connect: Network is unreachable」が出たとき
ルーティングテーブルにデフォルトゲートウェイが存在しない状態です。# 現在のルーティングテーブルを確認する ip route show # 一時的にデフォルトゲートウェイを追加する(再起動で消える) ip route add default via 192.168.1.1 dev eth0
nmcli または /etc/sysconfig/network-scripts/ (RHEL系)で行います。「Destination Host Unreachable」が出たとき
ARP解決が失敗している、つまり「宛先IPアドレスに対応するMACアドレスが見つからない」状態です。IPアドレスの範囲が正しいか(サブネットマスクの設定ミスがないか)を確認してください。「ping: xxx.xxx.xxx.xxx: Name or service not known」が出たとき
DNS名前解決に失敗しています。/etc/resolv.conf にDNSサーバーのIPアドレスが正しく設定されているか確認します。# DNSサーバーの設定を確認する cat /etc/resolv.conf
本記事のまとめ
LinuxのネットワークをコマンドラインでトラブルシュートするためのIPアドレス確認とpingの基本をまとめます。| やりたいこと | コマンド |
|---|---|
| IPアドレスを確認する | ip addr show |
| デフォルトゲートウェイを確認する | ip route show |
| N回だけpingを送信する | ping -c N 宛先IP |
| DNS名前解決も含めて確認する | ping -c 4 ドメイン名 |
| NIC一覧を表示する | ip link show |
IPアドレスやDNS設定をより深く理解したい方は、ぜひ以下の関連記事も参照してください。
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
ネットワーク確認の基本をさらに深め、実務で使えるスキルを身につけたい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>
関連記事(Linux実務スキル)
LinuxのIPアドレスを実務レベルで操作したい方、ネットワーク診断をより深く学びたい方のために、7テーマの関連記事を紹介します。・ipコマンドでネットワーク設定を確認・変更する方法|ifconfigとの違いやアドレス追加も
・ssコマンドでソケット情報を確認する方法|LISTEN・ESTABの見方やポート確認も
・firewall-cmdコマンドでポートを開放・管理する方法|ゾーン・サービス・永続化の使い分け
・mtrコマンドでネットワーク経路と品質を確認する方法|pingとtracerouteを統合した障害切り分けも
・nmapコマンドでポートスキャン・ネットワーク診断を行う方法|-sSや-Aの使い方とセキュリティ活用も
・nftablesコマンドでLinuxのパケットフィルタリングを設定する方法|iptablesとの違いやRHEL9対応も
・curlコマンドでHTTP通信を行う方法|GET・POSTやヘッダー確認も
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 前のページへ:Linuxのリダイレクトとパイプ入門|初心者でも迷わないコマンド連携の基本
- この記事の属するカテゴリ:【Linux入門】初心者のための基礎知識・講座へ戻る

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