我在 VirtualBox 中运行一个有 3 个网络接口的 Ubuntu 服务器。如何确保默认网关始终从 eth0 开启。
eth0 -> NAT, DHCP
eth1 -> bridged, DHCP
eth2 -> host only adapter, static ip
我知道如何手动完成...
$ sudo route del default
$ sudo route add default gw 10.0.2.2
/etc/网络/接口
auto lo
iface lo inet loopback
# The NAT network interface
auto eth0
iface eth0 inet dhcp
# The bridged network interface
auto eth1
iface eth1 inet dhcp
# The host-only network interface
auto eth2
iface eth2 inet static
address 192.168.56.2
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
谢谢,斯蒂芬
答案1
问题出现的时候eth1
,因为也是从dhcp
获取的default gw
参数。你可以添加/etc/network/if-up.d/
一些脚本来返回默认的 gweth0
例子:
sudo nano /etc/network/if-up.d/script
并放入内容
# Check for specific interface if desired
[ "$IFACE" != "eth1" ] || exit 0
# Return default interface and gw
route add default dev eth0
给予script
特权
chmod 755 /etc/ppp/if-up.d/script
if-up.d
将触发script
在eth1
前往up
并返回default gw
时调用的脚本eth0