Два адреса на одной сетевой карте, сегодняшнее обновление Ubuntu сломало ее

Два адреса на одной сетевой карте, сегодняшнее обновление Ubuntu сломало ее

Я использую Ubuntu 16.04 на NUC для управления домашней и рабочей сетями. Единственная сетевая карта в NUC выделяет два 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.1и 172.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.

Я так и сделал. И вот я вижу следующее сообщение 4 раза:

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все эти строки, я подозреваю, что я бы лечил симптом, а не устранял настоящую причину, которую я до сих пор не определил.

ОБНОВЛЕНИЕ 2: Первоначально я думал, что пять вызовов iptablesв моем скрипте привели к четырем xtables lockошибкам. Я обнаружил, что мой скрипт на самом деле вызывается четыре раза: один раз для каждого интерфейса ( lo, enp3s0, и enp3s0:1) и один раз со $IFACEзначением --all. Вызовы для --allи enp3s0выполняются одновременно, и один блокирует другой.

Я не могу найти ничего в журналах изменений, но рискну предположить, что запуск этого скрипта для IFACE=--all, возможно, является основной причиной возникшей у меня проблемы.

заранее спасибо

Ура, Т.

Связанный контент