Usando um gateway para uma interface de rede privada no Ubuntu

3

Eu tenho uma interface de rede privada, como segue, em uma VM Ubuntu 16.04:

# Private network
auto ens19
iface ens19 inet static
    address 10.10.10.179
    netmask 255.255.255.0
    mtu 1450

Minha vLAN exige que um gateway seja especificado para que funcione, então eu o adiciono da seguinte forma:

# Private network
auto ens19
iface ens19 inet static
    address 10.10.10.179
    netmask 255.255.255.0
    mtu 1450
    gateway 10.10.10.1

No entanto, sempre que eu adicionar esse gateway e reiniciar o serviço networking , ele não será iniciado com o seguinte erro:

Dec 15 10:50:08 postfix0 ifup[1968]: RTNETLINK answers: File exists
Dec 15 10:50:08 postfix0 ifup[1968]: Failed to bring up ens19.

A execução de ip addr flush dev xxx não ajuda.

Então, como eu corrijo isso?

    
por William Edwards 16.12.2017 / 20:55

1 resposta

2

Crie uma tabela de roteamento nomeada. O nome, pvtnet, é arbitrário. Isso não funcionará se o DHCP estiver distribuindo endereços na rede 10.10.10.

echo '200 pvtnet' >> /etc/iproute2/rt_tables

Modifique o arquivo, /etc/network/interfaces .

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# DHCP hands out the DEFAULT gateway.
auto eth0 # use the real device name on your system
allow-hotplug eth0
iface eth0 inet dhcp

# The private network interface
auto ens19
allow-hotplug ens19
iface ens19 inet static
address 10.10.10.179
netmask 255.255.255.0
mtu 1450
post-up ip route add 10.10.10.0/24 dev ens19 src 10.10.10.179 table pvtnet
post-up ip route add default via 10.10.10.1 dev ens19 table pvtnet
post-up ip rule add from 10.10.10.179/32 table pvtnet
post-up ip rule add to 10.10.10.179/32 table pvtnet
    
por 19.12.2017 / 20:54