Linuxでデフォルトゲートウェイを設定する方法

インターネットやその他のネットワークへのアクセスは、デフォルトゲートウェイによって制御されます。デフォルトゲートウェイとは何か、Linuxコンピュータでデフォルトゲートウェイを設定および変更する方法を説明します。

デフォルトゲートウェイ

ノートパソコン、デスクトップコンピュータ、携帯電話、タブレット、スマートデバイスなど、インターネットに接続された家庭内のすべてのデバイスは、実際にはローカルエリアネットワーク(LAN)に接続されています。

同じネットワーク上にあるため、必要に応じてこれらのデバイスは互いに通信できます。ほとんどは自分のことをして孤立して動作しますが、プリンターやネットワーク接続ストレージデバイスがある場合、他のデバイスの一部はそれらに接続できるようにする必要があります。

ネットワーク対応のすべての機器は、Wi-Fiまたはネットワークケーブルを介してルーターに接続されます。ルーターは、ネットワークのトラフィックコントローラです。デバイス間でネットワークトラフィックを制御します。各デバイスからのトラフィックはルーターに送信され、ルーターはデータの送信先デバイスを決定し、ターゲットデバイスに送信します。

ルーターは、実際にインターネットに接続されているネットワークの唯一の部分です。他のすべてのものはルーターと通信し、ルーターはインターネットへの接続を仲介します。メールサーバーやWebサイトなどのインターネットベースのサービスからの応答は、ルーターによって受信されます。その後、ネットワーク内の適切なデバイスに転送されます。

そのため、ルーターはネットワーク内のトラフィックを制御するだけでなく、インターネットとの間のデータフローも制御します。トラフィックコントローラであり、他のネットワークへのゲートウェイです。ほとんどの人にとって、関心のある他のネットワークはインターネットだけです。

トラフィックを送信するデバイスは、発信デバイスと呼ばれます。大規模なネットワークでは、発信デバイスが使用するルーターを決定します。優先順位を指定しない場合、またはルーターが1つしかない場合、デフォルトゲートウェイが使用されます。ほとんどのホームネットワークでは、通常、1つのゲートウェイを含む1つのルーターがあります。

デフォルトゲートウェイの構成

通常、ゲートウェイはオペレーティングシステムのインストール時に構成されます。場合によっては、別のネットワークで使用されていたコンピュータを引き継いでゲートウェイを再構成する必要がある場合や、特定のマシンを別のゲートウェイに向ける必要がある場合があります。さまざまなサブネットワークを持つネットワークがあり、ゲートウェイが仲介者として機能している場合があります。

Linuxでルートを操作する推奨される方法は、ipコマンドを使用することです。

<code>ifconfig</code>

などの他のコマンドは非推奨とみなされています。

ipコマンドを使用すると、デフォルトゲートウェイの設定を確認したり、デフォルトゲートウェイを追加または削除したりできます。

デフォルトゲートウェイの検出

Linuxコンピュータで構成されたルートを確認するには、ipコマンドとrouteオブジェクトを使用します。

<code>list</code>

オプションを追加できますが、

<code>list</code>

がデフォルトのアクションなので、省略できます。さらにキーストロークを節約するために、「route」の代わりに「r」を使用できます。

ip route list

ip r

ルートの1つに「default」という単語が含まれます。それがデフォルトゲートウェイへのデフォルトルートです。

ルートは自動的に追加および削除される場合があります。同じコンピュータでip rコマンドを使用すると、VPN接続を開いたときに異なる結果が得られます。これにより、そのネットワークトラフィック用のプライベートトンネルが作成されます。

新しいエントリに「tun0」という「dev」デバイス名があることがわかります。これは、トンネル0を意味します。

多くのルートが設定されている場合、grepを使用してデフォルトルートを抽出する方が簡単です。

ip r | grep default

デフォルトゲートウェイの削除

実際には、デフォルトゲートウェイにトラフィックを誘導するルートを削除しています。ipコマンドとrouteオブジェクトおよびdeleteオプションを使用できます。ルーティングテーブルを変更するには、sudoを使用する必要があります。デフォルトルートを削除してからルートを一覧表示します。

sudo ip route delete default

ip r

デフォルトゲートウェイのエントリは削除されました。

デフォルトゲートウェイの追加

デフォルトゲートウェイを追加するには、routeオブジェクトにaddオプションを使用します。

192.168.1.1のルーターにトラフィックを誘導する「default」というルートを追加し、そのトラフィックをネットワークインターフェース「enp0s3」経由で送信します。

sudo ip route add default via 192.168.1.1 dev enp0s3

ip r

ルーティングの変更を永続的にする

これまでに行った変更はすぐに有効になりますが、コンピュータを再起動すると消えてしまいます。変更を永続的にするには、構成ファイルをいくつか変更する必要があります。その方法はLinuxディストリビューションによって異なります。

Ubuntu

Ubuntuでは、netplanコマンドと構成ファイルを使用できます。

sudo gedit /etc/netplan/01-network-manager-all.yaml

「ethernets」から始まるテキストを構成ファイルに追加します。空白は重要です。各レベルのインデントが2スペースであることを確認し、「- to:」行にハイフン「-」が含まれていることを確認します。これにより、デフォルトルートが192.168.1.1のルーターに設定されます。これをネットワークのIPアドレスに置き換えます。

ファイルを保存してエディタを閉じます。

変更を適用するには、applyオプションを指定してnetplanコマンドを使用します。

sudo netplan apply

コマンドラインに何も表示されなければ、変更が受け入れられたことを意味します。適用前に変更をテストする場合は、tryオプションを指定してnetplanコマンドを使用します。

sudo netplan try

これにより、変更をテストする時間が与えられます。「Enter」キーを押して変更をコミットします。「Enter」キーを2分以内に押さないと、プロセスはタイムアウトし、編集は適用されません。変更は構成ファイルには残っていますが、ネットワーク設定には適用されていません。

Fedora

Fedoraでは、「/etc/sysconfig/network」ファイルを編集し、「GATEWAY=」行を追加または編集する必要があります。

sudo gedit /etc/sysconf/networks

ファイルは空であるか、他の設定が含まれている場合があります。「GATEWAY=」行を見つけて編集するか、追加します。IPアドレスを、ネットワークに適したIPアドレスに置き換えます。

ファイルを保存してエディタを閉じます。

Manjaro

Manjaroでは、デフォルトゲートウェイを設定するネットワークインターフェースにちなんだ名前のファイルを作成または編集する必要があります。ファイルの拡張子は「.network」で、ファイル名はネットワークインターフェースと同じです。

まず、ネットワークマネージャデーモンを停止する必要があります。

sudo systemctl stop NetworkManager.service

ip addrコマンドを使用してインターフェースの名前を見つけることができます。

ip addrr

インターフェース名は「enp0s3」です。

次のコマンドでこれを使用する必要があります。

sudo gedit /etc/systemd/network/enp0s3.network

ファイルにすでにエントリがある場合や、完全に空の場合があります。ファイルに次の2行が表示されていることを確認してください。IPアドレスとネットワークインターフェースの名前を、コンピュータとネットワークに合わせて置き換えます。

ファイルを保存してエディタを閉じ、ネットワークマネージャデーモンを再起動します。

sudo systemctl start NetworkManager.service

頻繁に変更する必要はありません

しかし、変更が必要なときは簡単です。変更を再起動後も永続的にするには、少し手順は増えますが、それでもそれほど難しくはありません。