Я пытаюсь установить мост VPN между двумя встроенными компьютерами. VPN устанавливается правильно, однако, как только интерфейс tap0 создается на стороне клиента, он создает дублирующий маршрут:
192.168.127.0 * 255.255.255.0 U 0 0 0 tap0
192.168.127.0 * 255.255.255.0 U 0 0 0 eth0
вот конфигурация обоих интерфейсов:
eth0 Link encap:Ethernet HWaddr 00:90:e8:44:76:1c
inet addr:192.168.127.20 Bcast:192.168.127.255 Mask:255.255.255.0
inet6 addr: fe80::290:e8ff:fe44:761c/64 Scope:Link
UP BROADCAST RUNNING ALLMULTI MULTICAST MTU:1500 Metric:1
RX packets:1578 errors:0 dropped:0 overruns:0 frame:0
TX packets:107 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:141027 (137.7 KiB) TX bytes:8351 (8.1 KiB)
tap0 Link encap:Ethernet HWaddr a6:ed:36:87:50:12
inet addr:192.168.127.50 Bcast:192.168.127.255 Mask:255.255.255.0
inet6 addr: fe80::a4ed:36ff:fe87:5012/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:1380 (1.3 KiB) TX bytes:468 (468.0 B)
Я пытаюсь направить трафик устройств, подключенных к клиенту (в той же подсети, что и клиент), на сервер и, в конечном итоге, на ПК, подключенный к серверу. Сервер имеет IP-адрес 192.168.127.10
и подключенный к нему ПК 192.168.127.200
С текущей таблицей маршрутизации сервер не может проверить связь с клиентом и наоборот.
Попытки решить проблему
Если я удалю маршрут eth0:
192.168.127.0 0.0.0.0 255.255.255.0 U 5 0 0 tap0
Ping Client's tap0 --> Server's tap0 : OK
Ping Server's tap0 --> Client's tap0 : OK
Ping Client's tap0 --> PC connected to server : OK
Ping PC connected to server --> PC connected to client : FAIL
Ping PC connected to server --> Client's tap0 : OK
Ping PC connected to client --> Client's tap0 : FAIL
Ping PC connected to client --> Server's tap0 : FAIL
Ping PC connected to client --> PC connected to Server : FAIL
Поскольку предполагается, что клиент может достичь только 2 IP-адресов на стороне сервера, давайте добавим статические маршруты к этим IP-адресам и позволим eth0 обрабатывать обычный трафик:
192.168.127.0 * 255.255.255.0 U 5 0 0 eth0
192.168.127.10 * 255.255.255.255 UH 0 0 0 tap0
192.168.127.200 * 255.255.255.255 UH 0 0 0 tap0
обратите внимание на приоритет маршрута!
Ping Client's tap0 --> Server's tap0 : FAIL
Ping Server's tap0 --> Client's tap0 : FAIL
Ping Client's tap0 --> PC connected to server : FAIL
Ping PC connected to server --> PC connected to client : FAIL
Ping PC connected to server --> Client's tap0 : FAIL
Ping PC connected to client --> Client's tap0 : OK
Ping PC connected to client --> Server's tap0 : FAIL
Ping PC connected to client --> PC connected to Server : FAIL
Есть идеи, как настроить таблицу маршрутизации в моем случае?
Решил это.
Я закончил тем, что просто связал eth0 с tap0 на клиенте. Это объединило оба начальных маршрута в один, указывающий на br0. В отличие от сервера, мостовое соединение интерфейса на стороне клиента должно происходить после установления соединения openvpn!