У меня проблемы с подключением VPN к неправильному NIC, или он просто не работает, когда присутствуют два NIC.

Мой физический телефон VoIP заблокирован моим интернет-провайдером, поэтому я использую встроенную систему под управлением Ubuntu 15.04/MATE с двумя портами Ethernet для обеспечения VPN-доступа к Интернету на eth0 и телефона VoIP на eth1.

Я установил DHCP-сервер для обслуживания VoIP-телефона на eth1 следующим образом:

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"

Чтобы проверить, что DHCP-сервер работает на eth1 и предоставляет аренду:

$ 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";
}

Я создаю VPN-соединение и присоединяю его к eth0, используя значок на рабочем столе.

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))

Теперь, когда система запускается, восходящее соединение по умолчанию отображается как eth1, а не eth0. Попытка подключиться к VPN не удалась.

Карта сети выглядит следующим образом:

$ 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

И IP-адреса:

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

Перед настройкой таблицы маршрутизатора мне нужно, чтобы VPN работал на eth0.

Если я удаляю порт eth1 следующим образом, то все работает нормально:

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

тогда новая таблица маршрутизации выглядит так:

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

И Ethernet теперь успешно маршрутизируется через мой VPN.

Будем благодарны за любые предложения о том, как заставить эти два соединения Ethernet работать должным образом.

С уважением, Лахлан

0