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
Tags networking vpn voip linux