一个网卡上有两个地址,今天的 ubuntu 更新把它破坏了

一个网卡上有两个地址,今天的 ubuntu 更新把它破坏了

我在 NUC 上运行 Ubuntu 16.04 来管理我的家庭和工作网络。NUC 中的单个 NIC 分配了两个 IP 地址,每个网络一个,具体分配方法如下/etc/network/interfaces

auto lo
iface lo inet loopback
#1st is home
auto enp3s0
iface enp3s0 inet static
  address 192.168.0.1
  netmask 255.255.255.0
  gateway 192.168.0.254 # huawei modem
  dns-search homenet
#2nd is work vpn
auto enp3s0:1
iface enp3s0:1 inet static
  address 172.16.9.1
  netmask 255.255.255.240
  gateway 172.16.9.1
  dns-search xx.yy.xx.com

ifconfig过去会同时显示 inet 地址192.168.0.1172.16.9.1,但自从今天运行提供的 ubuntu 更新以来,现在只显示第一个。工作子网中的机器无法互相看到或看到外部网络,因为 IP 地址172.16.9.1无法访问。

肯定有些东西发生了变化,但我不知道该改变什么或如何改变。

这台机器正在运行,isc-dhcp-server以在家庭和工作网络中分配 IP 地址,并bind9为家庭网络进行 DNS 查找。当它正常工作时,工作机器的 DNS 由 VPN 管理。

我没有使用图形网络管理器。

有什么想法可以让其再次运行吗?

更新:我随后看到了一行boot.log以前不存在的内容:

Failed to start Raise network interfaces.
See 'systemctl status networking.service' for details.

所以我这样做了。我可以看到以下消息四次:

ifup[670]: Another app is currently holding the xtables lock.
   Perhaps you want to use the -w option?

/etc/network我有一个脚本if-pre-up.d/iptables,它调用系统iptables命令五次。我猜这就是错误的原因 - 但直到今天更新之前它一直运行可靠。虽然我可以把-w所有这些行都放进去,但我怀疑我只是在治疗症状而不是解决真正的原因 - 我还没有确定。

更新2iptables:我原本以为脚本中对 的五次调用产生了四个xtables lock错误。但后来我发现我的脚本实际上被调用了四次:每个接口调用一次(loenp3s0enp3s0:1),并且将$IFACE的值设置为 。对和 的--all调用同时运行,并且其中一个会阻塞另一个。--allenp3s0

我在更改日志中找不到任何内容,但我猜测,运行 IFACE=--all 的这个脚本可能是我遇到的问题的根本原因。

提前致谢

干杯,T

相关内容