【ip / ping】ネットワークの基本「ip」と「ping」でトラブルを切り分けよう【Linuxコマンド入門 Part3-10】

linuxが入ったPCを使っていたり、新しくサーバを立ち上げたときなど、突然「あれ?ネットにつながらない」「SSH接続できない」といったトラブルは日常茶飯事です。

そんな時、「どこに原因があるのか」を切り分けるために使うのが、今回紹介する ipping コマンドです。 「内側(自分の設定)」を確認する ip と、「外側(通信相手)」を確認する ping。この2つがあれば、ネットワークトラブルの8割は原因を特定できます。

前回記事 shutdown

前回は、マシンの電源を安全に切る・再起動する shutdown / reboot コマンドについて解説しました。

指定された記事(ID: 3597)は現在公開されていません。

ip コマンド:自分の「住所」を確認する

まずは、自分のマシンが正しいネットワーク設定になっているかを確認します。 昔は ifconfig というコマンドが使われていましたが、現在は ip コマンド が標準(推奨)です。

基本構文

ipコマンドの使い方はシンプルです。addr(addressの略)または a を付けます。

ip addr

または、

ip a

出力の見方

コマンドを打つとズラッと情報が出てきますが、見るべきポイントは決まっています。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...
    inet 127.0.0.1/8 scope host lo ...

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
    inet 192.168.1.15/24 brd 192.168.1.255 scope global dynamic eth0 ...

lo (Loopback): 自分自身を表す特別なインターフェースです。ここはあまり気にしなくてOK。

eth0 / enp3s0 など: これが実際のネットワークカード(LANポート)です。

inet: ここの後ろにある数字(例: 192.168.1.15)が、あなたのマシンの IPv4アドレス です。ここが表示されていれば、少なくともルーターから住所(IP)はもらえています。

UP: インターフェースの状態です。「UP」ならケーブルが刺さっていて稼働中。「DOWN」なら物理的な結線や設定を疑いましょう。

小話:ifconfig vs ip

古い環境を使っていた経験があると、手癖でつい ifconfig と打ってしまいがちです。「Command not found」と怒られて、「ああ、そうだった……時代は変わったんだった」と哀愁を感じながら ip a を打ち直すのは、Linuxエンジニアの通過儀礼のようなものです。

なぜ変わったのか? 実は ifconfig が含まれる net-tools パッケージは長らくメンテナンスが止まっており、Linuxカーネルの進化に追いつけなくなったからです。対して ip コマンド(iproute2 パッケージ)は多機能で処理も高速。

とはいえ、ifconfig の出力は見やすくて人気があります。もし使いたい場合は以下でインストール可能です。

# (誤入力防止用に$をつけてあるので、消して実行してください)
$ sudo apt install net-tools
$ ifconfig

推奨の ip も使えるようになっておきつつ、自分の環境で使いやすい方を選択するのが賢いですね。

ip コマンド主要なオプション

-s : 詳細を確認する

-s (statistics/統計) オプションです。

アップロードとダウンロードの通信量の確認などができます。

ip -s a
# または 通信量を確認したいなら
# ip -s link

ip -s a でも表示されますが、link の方が通信量の確認にはすっきりして見やすい場合があります。

出力の見方:RXとTXに注目

実行すると、以下のような少し複雑な数値が表示されます。

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
    RX: bytes  packets  errors  dropped overrun mcast   
    15493204   12432    0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns 
    849201     842      0       0       0       0

ここで注目すべきは RXTX の行です。

  • RX (Receive): 受信データ(ダウンロード)。
    • RX: bytes の下の数字が増えていれば、データを受け取れています。
  • TX (Transmit): 送信データ(アップロード)。
    • TX: bytes の下の数字が増えていれば、データを送れています。

トラブルシューティング:「errors」を見る

もし「ネットが遅い」「プツプツ切れる」という場合、この出力にある errorsdropped の数字を見てください。

  • ここが 0 なら正常です。
  • もしここが 増え続けている なら、設定の問題ではなく、「LANケーブルが断線しかけている」「ハブが壊れている」 といった物理的なトラブルの可能性が高いです。
「dropped」って何?

インターネットの世界は「ベストエフォート(Best Effort)」という考え方で動いています。「できるだけ頑張って届けるけど、無理だったらごめんね」というルールです。

もし、この dropped の数字が増えていたら、それはあなたのPCが「通信がたくさん来すぎて、処理しきれずに捨ててしまった(忙しすぎてパンクした)」ことを意味します。 PCの性能不足や、何らかの攻撃を受けている可能性のヒントになります。

-c : 見やすく色づけする

そのままだと白黒でちょっと見づらいですよね。そんな時は -c (color) オプションをつけましょう。

ip -c a

これだけでIPアドレス部分が強調表示され、視認性が劇的に向上します。ぜひ試してみてください。


ping コマンド:相手に「声」が届くか確認する

自分の状態(IP、通信量)が確認できたら、次は「外の世界」と繋がっているか確認します。そこで使うのが ping(ピン / ピング) です。

基本構文

ping [相手のIPアドレス または ドメイン名]

1. ipアドレスで確認してみよう

例えば、GoogleのパブリックDNS(8.8.8.8)に対して打ってみましょう。

ping 8.8.8.8

(初心者用メモ:無限に出るときはctrl + c で停止できます)

2. ドメイン名で確認してみよう

普段インターネットをする時、数字のIPアドレスではなく「google.com」のようなドメイン名を使いますよね。ping もドメイン名で実行できます。 ここでは、回数を指定する -c (count) オプションを使って、5回だけ確認してみましょう。

ping google.com -c 5

正常であれば、以下のように応答が返ってきます。

64 bytes from ... time=14.2 ms
...
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, ...

これで「0% packet loss」なら、通信はバッチリです。

トラブルシューティング:自身のerror?or DNSが原因?

もしトラブルが起きた時、以下の2つを順番に試してみてください。

  1. IPアドレスで打つ (ping 8.8.8.8) → 成功!
  2. ドメイン名で打つ (ping google.com) → 失敗… (“Temporary failure in name resolution” 等のエラー)

もしこのパターンになった場合、「インターネット回線そのものは繋がっているけれど、DNS(ドメインからipに読み替えてくれるサーバ)が壊れている」 ことが確定します。

まとめ

  • ip a: 自分の住所(IPアドレス)を確認する。inet の後ろを見る。
  • ping [相手]: 通信できるか確認する。
  • ※ Ctrl + C: 無限に続く ping を強制停止する

これで、「自分の場所」と「相手との道」が確認できました。

次回へ

これで、「自分の場所」と「相手との道」が確認できました。

「IPはある、Pingも通る、でもWebサイトが見られない……」そんな時は、名前解決(DNS)に問題があるかもしれません。

次は nslookup コマンドを使って、ドメイン名とIPアドレスの変換(名前解決)について学んでいきましょう。

DNSチェック、nslookupコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【nslookup】DNSの確認コマンド【Linuxコマンド入門 Part3-11】

Linuxでのnslookupコマンドの使い方と、DNS(名前解決)の仕組みを初心者向けに解説。基本のIPアドレス確認から、特定のDNSサーバーを指定するオプション、メール設定(MXレコード)の確認まで。ネットワークトラブルの原因特定に必須のスキルです。

第三回”Linuxコマンド入門 Part3 ~システムの状態確認とネットワークの基本~”では、linuxでどのようにCPUやメモリの状態を確認するか、ネットワークとの接続チェックなどの基本操作を解説しています。

linuxコマンドでシステムのメモリやCPUの状態、プロセスの詳細を確認する方法を紹介するシリーズのサムネイル 13 記事
シリーズ

Linuxコマンド入門 Part3 ~システムの状態確認とネットワークの基本~

Linuxのシステム管理コマンドや基本的なネットワーク関係コマンドを理解しよう。

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

では、次の記事で。 lumenHero