Linux でインターネット接続が利用可能かどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、基本的なコマンドラインツールを使用して、Linux でインターネット接続を確認する方法を学びます。まず、ping コマンドを使用して、パブリックサーバへの到達可能性をテストし、この重要なネットワークユーティリティの基本的な出力を理解します。

その後、nslookup コマンドを使用して DNS 解決をテストする方法を調べ、システムがドメイン名を IP アドレスに変換できることを確認します。最後に、curl コマンドを使用して、Web サーバからコンテンツを取得しようとすることで接続性を確認します。これらの手順を完了することで、Linux 環境での一般的なネットワーク問題の診断に関する実践的なスキルを習得することができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/RemoteAccessandNetworkingGroup -.-> linux/ping("Network Testing") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") linux/PackagesandSoftwaresGroup -.-> linux/curl("URL Data Transferring") subgraph Lab Skills linux/ping -.-> lab-558790{{"Linux でインターネット接続が利用可能かどうかを確認する方法"}} linux/ip -.-> lab-558790{{"Linux でインターネット接続が利用可能かどうかを確認する方法"}} linux/curl -.-> lab-558790{{"Linux でインターネット接続が利用可能かどうかを確認する方法"}} end

ping コマンドでパブリックサーバに ping を送信する

このステップでは、ping コマンドを使用してネットワーク接続を確認する方法を学びます。ping コマンドは、ターゲットホストにパケットを送信し、パケットが返ってくるまでの時間を測定します。これにより、サーバに到達可能かどうか、およびどれだけ迅速に通信できるかを判断することができます。

ターミナルが開いていない場合は、開きましょう。デスクトップの左側にある Xfce Terminal アイコンから開くことができます。

では、有名なパブリックサーバ、例えば Google の DNS サーバ 8.8.8.8 に ping を送信してみましょう。次のコマンドを入力し、Enter キーを押します。

ping 8.8.8.8

次のような出力が表示されます。

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=... time=... ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=... time=... ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=... time=... ms
...

この出力は、コンピュータが 8.8.8.8 にパケットを送信し、応答を受信していることを示しています。

  • icmp_seq: パケットのシーケンス番号。
  • ttl: Time To Live(生存時間)。パケットが破棄されるまでに通過できるホップ数を示します。
  • time: パケットがサーバに到達して戻ってくるまでの時間(往復時間)をミリ秒で表したもの。

ping コマンドを停止するには、Ctrl + C を押します。

ドメイン名でサーバに ping を送信することもできます。例えば google.com です。

ping google.com

出力は似ていますが、ping は最初にドメイン名を IP アドレスに解決します。

PING google.com (...) 56(84) bytes of data.
64 bytes from ... (...): icmp_seq=1 ttl=... time=... ms
64 bytes from ... (...): icmp_seq=2 ttl=... time=... ms
...

ping を使用することは、ネットワーク問題をトラブルシューティングする基本的な方法です。ping が失敗した場合は、ネットワーク接続またはターゲットサーバに問題があることを示しています。

いくつかの異なるウェブサイトや IP アドレスに ping を送信して、このコマンドに慣れましょう。

Continue をクリックして次のステップに進みます。

nslookup で DNS 解決をテストする

このステップでは、DNS (Domain Name System、ドメインネームシステム) について学び、nslookup コマンドを使用して DNS 解決をテストする方法を学びます。DNS はインターネットの電話帳のようなもので、人間が読みやすいドメイン名 (例:google.com) をマシンが読みやすい IP アドレス (例:8.8.8.8) に変換します。

nslookup コマンドは、DNS サーバに問い合わせてドメイン名に関する情報を取得するためのツールです。

ターミナルが開いていない場合は、開きましょう。

nslookup を使って google.com の IP アドレスを調べてみましょう。次のコマンドを入力し、Enter キーを押します。

nslookup google.com

次のような出力が表示されます。

Server:		...
Address:	...#53

Non-authoritative answer:
Name:	google.com
Address: ...
Name:	google.com
Address: ...
...

この出力は以下の情報を示しています。

  • Server: コンピュータが検索に使用した DNS サーバ。
  • Address: DNS サーバの IP アドレス。
  • Non-authoritative answer: DNS サーバから返された情報。
  • Name: 問い合わせたドメイン名。
  • Address: ドメイン名に関連付けられた 1 つ以上の IP アドレス。ウェブサイトは負荷分散や冗長性のために複数の IP アドレスを持つことがよくあります。

nslookup を使って、IP アドレスに関連付けられたドメイン名を調べることもできます (逆 DNS 検索)。IP アドレス 8.8.8.8 を試してみましょう。

nslookup 8.8.8.8

出力は次のようになります。

Server:		...
Address:	...#53

Non-authoritative answer:
...
Name:	dns.google.

これは、IP アドレス 8.8.8.8 がドメイン名 dns.google. に関連付けられていることを示しています。

nslookup は、ドメイン名解決に関連するネットワーク問題を診断するための貴重なツールです。IP アドレスには ping が通るが、ドメイン名には通らない場合は、問題は DNS にある可能性があります。

様々なドメイン名を検索して nslookup を試してみましょう。

Continue をクリックして次に進みます。

curl で接続性を確認する

このステップでは、curl コマンドを使用してウェブサーバへの接続性を確認し、コンテンツを取得します。curl は、URL を使ってデータを転送するための汎用的なコマンドラインツールです。HTTP、HTTPS、FTP など、様々なプロトコルをサポートしています。

ターミナルが開いていない場合は、開きましょう。

curl を使って、example.com のようなシンプルなウェブページのコンテンツを取得してみましょう。次のコマンドを入力し、Enter キーを押します。

curl example.com

example.com のウェブページの HTML コンテンツがターミナルに直接表示されます。

<!doctype html>
<html>
<head>
    <title>Example Domain</title>

    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 2em;
        background-color: #fdfdff;
        border-radius: 0.5em;
        box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        div {
            margin: 0 auto;
            width: auto;
        }
    }
    </style>
</head>

<body>
<div>
    <h1>Example Domain</h1>
    <p>This domain is for use in illustrative examples in documents. You may use this
    domain in examples without prior coordination or asking for permission.</p>
    <p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>

これは、コンピュータが example.com に接続し、そのコンテンツを取得できたことを示しています。

curl は、ウェブ接続性のテスト、ウェブサービスのデバッグ、ファイルのダウンロードなどに役立つ強力なツールです。

curl-I オプションと一緒に使用すると、HTTP ヘッダのみを取得できます。これは、ウェブページの全体のコンテンツをダウンロードせずに、そのステータスを確認するのに便利です。

curl -I example.com

出力にはレスポンスヘッダが表示されます。

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Etag: "..."
Expires: ...
Last-Modified: ...
Server: ECS (sg2/2A3E)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1270
Date: ...
Connection: close

HTTP/1.1 200 OK ステータスは、接続が成功したことを示しています。

curl は、ウェブテクノロジーを扱う人にとって不可欠なツールです。

Continue をクリックして、この実験を完了します。

まとめ

この実験では、いくつかの基本的なコマンドを使用して Linux でインターネット接続性を確認する方法を学びました。まず、ping コマンドを使用して、IP アドレスとドメイン名の両方でパブリックサーバへの到達可能性をテストし、往復時間とパケットシーケンスを観察しました。これにより、基本的なネットワーク接続性を検証し、潜在的な問題を特定する方法がわかりました。