如何确保服务器在多个 DHCP 网络设置中使用来自 eth0 的网关

如何确保服务器在多个 DHCP 网络设置中使用来自 eth0 的网关

我在 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将触发scripteth1前往up并返回default gw时调用的脚本eth0

相关内容