VPN anexando a ethernet errada no Linux

0

Eu tenho problemas com minha VPN anexando a NIC errada ou simplesmente não está funcionando quando duas NICs estão presentes.

Meu telefone VoIP é bloqueado pelo meu provedor, então eu uso um sistema embarcado rodando o Ubuntu 15.04 / MATE com duas portas ethernet para fornecer acesso VPN à internet na eth0 e o telefone VoIP na eth1.

Eu estabeleci um servidor DHCP para fornecer serviço ao telefone VoIP na eth1 da seguinte forma:

Contents of "/etc/dhcp/dhcpd.conf": 
ddns-update-style none;
option domain-name "xu4.org";
option domain-name-servers ns1.xu4.org, ns2.xu4.org;
# Set up our desired subnet:
subnet 192.168.2.0 netmask 255.255.255.0 {
        range 192.168.2.101 192.168.1.254;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.2.255;
        option routers 192.168.2.1;
}
default-lease-time 600;
max-lease-time 7200;
authoritative;

Contents of "/etc/network/interfaces": 
# The uplink to the internet
auto eth0
    iface eth0 inet dhcp

# Assign a static IP for this DHCP server through eth1:
auto eth1
    iface eth1 inet static
        address 192.168.2.100
        netmask 255.255.255.0
        broadcast 192.168.2.255
        gateway 192.168.2.1
        up route add -host 255.255.255.255 eth1

Contents of "/etc/default/isc-dhcp-server": 
INTERFACES="eth1"

Para verificar se o servidor DHCP está funcionando na eth1 e fornecendo uma concessão:

$ more /var/lib/dhcp/dhcpd.leases
lease 192.168.2.101 {
    starts 4 2016/08/18 15:51:14;
    ends 4 2016/08/18 16:01:14;
    tstp 4 2016/08/18 16:01:14;
    cltt 4 2016/08/18 15:51:14;
    binding state active;
    next binding state free;
    rewind binding state free;
    hardware ethernet 7c:2f:80:9c:e0:cb;
    client-hostname "C530-IP";
}

Eu crio uma conexão VPN e anexei-a à eth0 usando o ícone na área de trabalho

Network Icon->VPN Connections->Configure VPN->VPN->add
(setup gateway, username, password, use Point-to-point encryption, Name VPN1)
Network Icon->VPN Connections->Configure VPN->ethernet->eth0->Edit
(Automatically connect to VPN1 when using this connection, Automatic (DHCP))

Agora, quando o sistema é ativado, a conexão upstream padrão aparece como eth1 e não como eth0. Tentando se conectar à VPN falhar.

Os mapas de rede são os seguintes:

$ route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.2.1     0.0.0.0         UG    100    0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    101    0        0 eth0
173.255.160.5   192.168.2.1     255.255.255.255 UGH   0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

E os endereços IP são:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
   valid_lft forever preferred_lft forever
2: sit0: <NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN group default
link/sit 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE: <NOARP,UP,LOWER_UP> mtu 1452 qdisc noqueue state UNKNOWN group default
link/tunnel6 :: brd ::
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1e:06:30:3a:92 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.194/24 brd 192.168.1.255 scope global dynamic eth0
   valid_lft 86059sec preferred_lft 86059sec
inet6 fe80::21e:6ff:fe30:3a92/64 scope link
   valid_lft forever preferred_lft forever
5: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether d2:df:a9:d0:7c:03 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.100/24 brd 192.168.2.255 scope global eth1
   valid_lft forever preferred_lft forever

Antes de configurar a tabela do roteador, eu preciso colocar a VPN no eth0 funcionando.

Se eu remover a porta eth1 da seguinte forma, tudo funcionará bem:

$ sudo service isc-dhcp-server stop
$ sudo ifdown eth1

a nova tabela de roteamento será assim:

route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     50     0        0 ppp0
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
173.255.160.5   192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
173.255.160.129 0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
173.255.160.165 0.0.0.0         255.255.255.255 UH    50     0        0 ppp0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

E a ethernet agora é roteada com sucesso através da minha VPN.

Qualquer sugestão sobre como fazer com que as duas conexões Ethernet funcionem da maneira necessária seria bem-vinda.

Cumprimentos Lachlan

    
por lachlan 19.08.2016 / 13:55

0 respostas