Ubuntuで3つのイーサネットインターフェースを使用していますが、再起動すると、デフォルトゲートウェイが別のインターフェースに変更されます。起動するたびに、デフォルトゲートウェイを削除し、eth1で追加して、デフォルトゲートウェイをeth1に戻す必要があります。この問題を修正するにはどうすればよいですか?
Ubuntuで3つのイーサネットインターフェースを使用していますが、再起動すると、デフォルトゲートウェイが別のインターフェースに変更されます。起動するたびに、デフォルトゲートウェイを削除し、eth1で追加して、デフォルトゲートウェイをeth1に戻す必要があります。この問題を修正するにはどうすればよいですか?
回答:
デフォルトルートを一時的に変更するには、次のような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;
echo supersede routers $(ip route | grep default | cut -f3 -d" ")\; | sudo tee --append /etc/dhcp/dhclient.conf
ファイルを開く /etc/network/interfaces
目的のインターフェイスを見つけて、次を追加します。
gateway 192.x.x.x
ネットワークを再起動します。
sudo /etc/init.d/networking restart
wlp3s0
Ubuntu 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
にこれらの行が含まれていた理由がわかりません。
/etc/network/interfaces
ファイルを使用して手動で設定したか、Network Managerやwicdなどのソフトウェアを使用して設定しましたか?