Estou executando o Ubuntu 16.04 em um NUC para gerenciar minhas redes domésticas e de trabalho. A única NIC no NUC recebe dois endereços IP, um em cada rede, pelas seguintes linhas em /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
costumava me mostrar os dois endereços inet, 192.168.0.1
e 172.16.9.1
, mas desde que executamos as atualizações do ubuntu oferecidas hoje, agora mostra apenas o primeiro. As máquinas na sub-rede de trabalho não podem ver uma a outra ou a rede externa porque o endereço IP 172.16.9.1
está inacessível.
Alguma coisa deve ter mudado, mas não sei como consertar.
Esta máquina está executando isc-dhcp-server
para alocar endereços IP nas redes domésticas e de trabalho e bind9
para realizar pesquisas de DNS na rede doméstica. Quando está funcionando corretamente, o DNS das máquinas de trabalho é gerenciado pela VPN.
Eu não estou usando o Gerenciador de Rede gráfico.
Alguma idéia do que eu poderia ver para que isso funcione novamente?
UPDATE :
Eu vi uma linha em boot.log
que não estava lá no passado:
Failed to start Raise network interfaces.
See 'systemctl status networking.service' for details.
Então eu fiz isso. e posso ver a seguinte mensagem 4 vezes:
ifup[670]: Another app is currently holding the xtables lock.
Perhaps you want to use the -w option?
Dentro de /etc/network
, tenho um script if-pre-up.d/iptables
que chama o comando iptables
do sistema cinco vezes. Eu acho que é onde o erro está vindo - mas funcionou de forma confiável até a atualização de hoje. Embora eu possa colocar -w
em todas essas linhas, suspeito que estaria tratando um sintoma em vez de abordar a causa real - que ainda não identifiquei.
UPDATE 2 :
Originalmente eu pensava que as cinco chamadas para iptables
no meu script tinham produzido quatro xtables lock
de erros. O que eu descobri é que meu script é realmente chamado quatro vezes: uma vez para cada interface ( lo
, enp3s0
e enp3s0:1
) e uma vez com um valor $IFACE
de --all
. As invocações para --all
e enp3s0
são executadas simultaneamente e uma está bloqueando a outra.
Eu não consigo encontrar nada nos changelogs, mas eu arriscaria um palpite de que executar este script para IFACE = - tudo é, talvez, a causa subjacente do problema que estou tendo.
Obrigado antecipadamente
Felicidades, T