我似乎无法让服务器上的最后一个 NIC 正常工作。我有一台带有 4 个 NIC 的 HP Proliant 服务器,目前用作我的家庭路由器。eth0 是我的 WAN 接口,eth1 和 eth2 设置为在两个不同的子网上提供 dhcp。除了服务器上的最后一个 NIC eth3 之外,其他一切都运行正常。我希望将其桥接到 eth1 上的第一个子网。我尝试了多种桥接配置,但总觉得哪里不对。这是我在 /etc/networking 中找到的接口脚本,请注意,这是它当前的工作方式,由于我已经研究了一段时间,所以前段时间已经删除了桥接配置,所以现在根本没有设置 eth3。
#Loopback lo
auto lo
iface lo inet loopback
#WAN on eth0
auto eth0
iface eth0 inet dhcp
#Subnet 1 on eth1
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
#subnet 2 on eth2
auto eth2
iface eth2 inet static
address 10.13.0.1
netmask 255.255.255.240
broadcast 10.13.0.15
network 10.13.0.0
#alias on eth1:0
auto eth1:0
iface eth1:0 inet static
address 192.168.1.2
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
该别名是为服务于我的内部网络的网络服务器而设的,它也只是 dnsmasq 使用端口 53 的一个接口。
Ubuntu Server 18.04 LTS,Netplan 已禁用,使用 ifupdown。ISC-DHCP-SERVER 提供 dhcp 服务。
答案1
桥接许多服务(如 dhcp、dns 或 iptables 等)使用的接口的最快和最简单的方法是重命名接口(更改网络接口名称 Ubuntu 16.04)。然后继续使用原始接口名称命名网桥。对于我在 Linux 上运行的所有程序,这都有效。虽然不太优雅,但嘿,比重新设置所有东西要好。这是我当前的脚本,我将问题中的脚本中的 eth1 重命名为 phys1,网桥现在名为 eth1:
#Loopback lo
auto lo
iface lo inet loopback
#WAN on eth0
auto eth0
iface eth0 inet dhcp
#phys1
auto phys1
iface phys1 inet manual
#Subnet 1 bridge interface on eth1
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
bridge_ports phys1 eth3
#subnet 2 on eth2
auto eth2
iface eth2 inet static
address 10.13.0.1
netmask 255.255.255.240
broadcast 10.13.0.15
network 10.13.0.0
#eth3
auto eth3
iface eth3 inet manual
#alias on eth1:0
auto eth1:0
iface eth1:0 inet static
address 192.168.1.2
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
我个人不喜欢 netplan,所以我希望这对有类似品味的人有所帮助。