Linux でネットワークルートが設定されているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

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

はじめに

この実験では、Linux でネットワークルートが設定されているかどうかを確認する方法を学びます。ネットワークルーティングを理解することは、接続性の問題を診断するための基本です。最新の ip route show コマンドや古い route -n ユーティリティを含む、ルーティングテーブルを表示および検証するさまざまな方法を探索します。最後に、/etc/network のネットワーク設定ファイルを調べて、システム上でルートが永続的に設定される方法を理解します。この実験の終わりまでに、Linux マシンのネットワークルーティングを調べて理解するための基本的なスキルを身につけることができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/cat -.-> lab-558743{{"Linux でネットワークルートが設定されているかどうかを確認する方法"}} linux/ip -.-> lab-558743{{"Linux でネットワークルートが設定されているかどうかを確認する方法"}} end

ip route show でルートを表示する

このステップでは、ip route show コマンドを使用して Linux システム上のルーティングテーブルを表示する方法を学びます。ルーティングテーブルは、ネットワークトラフィックの送信先を決定する一連のルールです。ルーティングテーブルを理解することは、ネットワーク接続性の問題をトラブルシューティングするために重要です。

ip コマンドは、Linux でのネットワーク設定に強力なユーティリティです。これは、ifconfigroute などの古いツールの現代的な代替品です。

ルーティングテーブルを表示するには、ターミナルを開き、次のコマンドを入力します。

ip route show

Enter キーを押します。

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

default via 172.17.0.1 dev eth0
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.2

この出力を分解してみましょう。

  • default:これはデフォルトルートです。システムが特定の宛先ネットワークに到達する方法を知らない場合、トラフィックはデフォルトルートで指定されたゲートウェイに送信されます。
  • via 172.17.0.1:これはデフォルトルートのゲートウェイ IP アドレスを示しています。
  • dev eth0:これはトラフィックが送信されるネットワークインターフェイス (eth0) を指定しています。
  • 172.17.0.0/16:これはネットワーク範囲(サブネット)を表しています。/16 は CIDR 表記で、サブネットマスクを示しています。
  • proto kernel:これは、ルートがカーネルによって追加されたことを意味します。
  • scope link:これは、宛先がリンク上に直接接続されていることを示しています。
  • src 172.17.0.2:これは、このルートを通るトラフィックに使用されるソース IP アドレスを示しています。

LabEx 環境のネットワーク設定によって、出力は多少異なる場合がありますが、一般的な構造は似ています。

ip route show コマンドは、システムがネットワークトラフィックをどのようにルーティングするかを理解するために不可欠です。このコマンドを使用すると、異なる宛先に対してどのインターフェイスが使用され、デフォルトルートにどのゲートウェイが使用されているかを確認できます。

このコマンドを何度か実行して、使い慣れるように練習してください。

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

route -n でルートを確認する

前のステップでは、ip route show コマンドを使用してルーティングテーブルを表示しました。ルーティングテーブルを表示するためのもう一つの一般的なコマンドは route です。ip がより新しいツールですが、route も依然として広く使用されており、知っておくと便利です。

route コマンドに -n オプションを付けて使用すると、ホスト名を解決しようとせずに数値アドレスを使用してルーティングテーブルを表示します。これは通常、高速であり、潜在的な DNS の問題を回避します。

route -n コマンドを使用してルーティングテーブルを表示してみましょう。ターミナルを開き、次のコマンドを入力します。

route -n

Enter キーを押します。

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

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.17.0.1      0.0.0.0         UG    0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0

この出力を ip route show の出力と比較してみましょう。

  • Destination(宛先): この列は、宛先ネットワークまたはホストを示しています。0.0.0.0 はデフォルトルートを表します。
  • Gateway(ゲートウェイ): これはルートのゲートウェイ IP アドレスです。この列の 0.0.0.0 は通常、宛先が直接接続されていることを意味します。
  • Genmask(ネットワークマスク): これは宛先ネットワークのネットワークマスク(サブネットマスク)です。デフォルトルートの 0.0.0.0 は、すべての宛先に一致することを意味します。
  • Flags(フラグ): これらはルートの特性を示しています。
    • U: ルートが有効(Up)です。
    • G: ルートがゲートウェイを使用しています。
  • Iface(インターフェイス): これはルートに使用されるネットワークインターフェイスです。

route -n が情報を表形式で表示することに注目してください。この形式は、一目で読みやすいと感じるユーザーもいます。ip route showroute -n の両方がルーティングテーブルに関する同様の情報を提供しますが、表示形式は異なります。

これらの両方のコマンドを理解することで、Linux でネットワーク設定を操作する際により柔軟性が得られます。

続ける をクリックして次に進みます。

/etc/network のネットワーク設定を調べる

前のステップでは、ip route showroute -n を使用してアクティブなルーティングテーブルを表示する方法を学びました。次に、Ubuntu のような Debian ベースのシステムでネットワーク設定が保存されている場所を見てみましょう。

ネットワーク設定ファイルは、通常、システム設定ファイルが保存される /etc ディレクトリにあります。ネットワークインターフェイス設定の一般的な保存場所は /etc/network/interfaces ファイルです。

このファイルの内容を表示するために cat コマンドを使用します。cat は、ファイルを順番に読み取り、標準出力に出力する単純なコマンドです。

ターミナルを開き、次のコマンドを入力します。

cat /etc/network/interfaces

Enter キーを押します。

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

## interfaces(5) file used by ifup(8) and ifdown(8)
## Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

内容を見てみましょう。

  • # で始まる行はコメントで、無視されます。
  • source-directory /etc/network/interfaces.d:この行は、/etc/network/interfaces.d ディレクトリ内の設定ファイルも含めるべきであることを示しています。これにより、モジュール式のネットワーク設定が可能になります。
  • auto lo:この行は、システムに起動時に lo インターフェイス(ループバックインターフェイス)を自動的に起動するよう指示します。
  • iface lo inet loopback:これは、lo インターフェイスを inet(IPv4)アドレスファミリを使用したループバックインターフェイスとして設定します。
  • auto eth0:これは、システムに起動時に eth0 インターフェイスを自動的に起動するよう指示します。eth0 は最初の Ethernet ネットワークインターフェイスの一般的な名前です。
  • iface eth0 inet dhcp:これは、eth0 インターフェイスを DHCP(Dynamic Host Configuration Protocol)を使用して自動的に IP アドレスやその他のネットワーク設定を取得するように設定します。

このファイルは、ネットワークインターフェイスの静的な設定を提供します。現代のシステムでは、Netplan や NetworkManager などのツールを使用してより動的な設定を行うことが多いですが、/etc/network/interfaces ファイルを理解することは、多くのシステムに存在し、基本的なインターフェイス設定を明確に示しているため、依然として価値があります。

これで、アクティブなルーティングテーブルを表示し、一般的なネットワーク設定ファイルを調べる方法を学びました。これにより、Linux でネットワーク設定がどのように管理されているかの基本的な理解が得られます。

続ける をクリックしてこの実験を完了します。

まとめ

この実験では、Linux でネットワークルートが設定されているかどうかを確認する方法を学びました。まず、ip route show コマンドを使用してシステムのルーティングテーブルを表示し、デフォルトルート、ゲートウェイ、ネットワークインターフェイス、サブネットなどの出力のさまざまな要素を理解しました。このコマンドは、ネットワーク設定とトラブルシューティングに役立つ、現代的で強力なツールです。

また、route -n コマンドを使用してルートを確認する方法も学びました。このコマンドは、数値形式でルーティングテーブルをより伝統的な形式で表示します。最後に、/etc/network にあるネットワーク設定ファイルを調べることで、システム上でネットワークインターフェイスとルートが永続的に設定される仕組みを理解しました。これらの手順は、Linux 環境でのネットワーク接続性を理解し、トラブルシューティングするための基本的なスキルを提供します。