デフォルトゲートウェイの変更


28

Ubuntuで3つのイーサネットインターフェースを使用していますが、再起動すると、デフォルトゲートウェイが別のインターフェースに変更されます。起動するたびに、デフォルトゲートウェイを削除し、eth1で追加して、デフォルトゲートウェイをeth1に戻す必要があります。この問題を修正するにはどうすればよいですか?


/etc/network/interfacesファイルを使用して手動で設定したか、Network Managerやwicdなどのソフトウェアを使用して設定しましたか?
レーケンシュタイン

1
「ゲートウェイ」は「ルート」とは異なります。ゲートウェイは、使用するインターフェイスをルートが示すインターフェイスに固有です。
レーケンシュタイン

通常、ゲートウェイは、ローカルノードがルーティングの決定に依存しているリモートデバイス上のインターフェイスです。ルートステートメント自体はローカルインターフェイスを参照することも参照しないこともできますが、ルーティング先は、再帰ルックアップ、接続されたインターフェイス、またはデフォルトルートから検出可能でなければなりません。デフォルトルートまたはデフォルトゲートウェイは、「最終手段のゲートウェイ」です。これは、より具体的なルートが利用できない場合に使用されます。
ベラク

ルーティングテーブルとインターフェイスのリスト、およびその他の関連するネットワーク構成を提供できますか?
ベラク

回答:


33

デフォルトルートを一時的に変更するには、次のようなipコマンドを使用できます。

$ sudo ip route change default via 192.168.1.1 dev eth0

静的IP構成がある/etc/network/interfaces場合は、ゲートウェイステートメントを追加してこれを永続的にすることができます。

iface eth0 inet static
    gateway 192.168.1.1
    […]

DHCPを使用してネットワークを構成するには、代わりに別のファイルを調整する必要があります。にsupersedeステートメントを追加し/etc/dhcp/dhclient.confます。

supersede routers 192.168.1.1;

1
スクリプト可能バージョン(引用符の間にスペースが必要です):echo supersede routers $(ip route | grep default | cut -f3 -d" ")\; | sudo tee --append /etc/dhcp/dhclient.conf
colan

複数のインターフェイスがある場合はどうなりますか?すべてのインターフェイスに「ゲートウェイ」が必要ではないでしょうか?しかし、ip routeコマンドの「192.168.3.1 dev eth6経由のデフォルト」出力の例に何が影響しますか?特定のインターフェイスがリストされていますよね?
-JohnyTex

7

ファイルを開く /etc/network/interfaces

目的のインターフェイスを見つけて、次を追加します。

gateway 192.x.x.x

ネットワークを再起動します。

sudo /etc/init.d/networking restart

16
目的のインターフェイスがDHCP経由で構成されていて、割り当てられるゲートウェイアドレスがわからない場合はどうなりますか?
-devmiles.com

0

wlp3s0Ubuntu 18.04のwifiインターフェースでも同じ問題がありました。Androidテザリングとルーターを自宅の外に接続する機能に影響を与えていました。私にとってこの問題を解決する方法/etc/dhcpcd.confは、次のファイルにコメントすることでした。

interface wlp3s0
        static ip_address=192.168.0.16/24
        static routers=192.168.0.1
        static domain_name_servers=127.0.0.1

以下を取得する

#interface wlp3s0
#        static ip_address=192.168.0.16/24
#        static routers=192.168.0.1
#        static domain_name_servers=127.0.0.1

次に、現在のネットワークから切断し、再試行route -nまたはnmcli変更を確認するために再接続しました

それがあなたのために働くと確信するとき、あなたは同じラインを削除することもできます。

これらの行があるため、NetworkManagerは常に、特にホームネットワーク上にいないときに、間違ったゲートウェイを持つデフォルトルートを常に追加していました。を実行していたときに「Destination Host Unreachable」になっていましたping 8.8.8.8。ゲートウェイをハードコーディングする/etc/network/interfacesことは実行可能なソリューションではありませんでした。公共のWi-Fiに多く接続するので(同じWi-Fiルーターやゲートウェイは使用しないでください)、通常DHCPは「そのまま」IMHOで動作します。

PS:手動で編集し/etc/dhcpcd.confたことがないので、ファイル/etc/dhcpcd.confにこれらの行が含まれていた理由がわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.