У меня есть отдельные устройства Router / OpenVPN на двух разных сайтах. На самом деле это маршрутизаторы TP Link, работающие под управлением OpenWRT 12.09, r36088. Я хотел бы, чтобы клиенты, стоящие за этими двумя маршрутизаторами, могли подключаться друг к другу.
Один маршрутизатор настроен как сервер OpenVPN 192.168.10.1 перед 192.168.10.0/24, другой как клиент OpenVPN 10.1.1.1 перед 10.1.1.0/24.
На данный момент между ними существует своего рода туннель. Клиент OpenVPN может подключаться ко всем хостам на 10.1.1.0/24 и 192.168.10.0/24. Мне удалось заставить сервер OpenVPN подключиться к клиенту через его интерфейс VPN, но это все. Я также не могу подключиться с хостов за клиентом OpenVPN к хостам за сервером OpenVPN - это действительно моя конечная цель.
СЕРВЕР
# ip route show
default via 192.168.1.1 dev eth0.2 proto static
10.8.0.0/24 via 10.8.0.2 dev tun0
10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
10.8.0.6 via 10.8.0.2 dev tun0
192.168.1.0/24 dev eth0.2 proto kernel scope link src 192.168.1.2
192.168.10.0/24 dev br-lan proto kernel scope link src 192.168.10.1
# ping 10.8.0.6 -c 2
PING 10.8.0.6 (10.8.0.6): 56 data bytes
64 bytes from 10.8.0.6: seq=0 ttl=64 time=48.579 ms
64 bytes from 10.8.0.6: seq=1 ttl=64 time=236.587 ms
--- 10.8.0.6 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 48.579/142.583/236.587 ms
# ping 10.1.1.1 -c 2
PING 10.1.1.1 (10.1.1.1): 56 data bytes
--- 10.1.1.1 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
## A ROUTE I THINK I MAY NEED TO ADD
# ip route add 10.1.1.0/24 via 10.8.0.6
RTNETLINK answers: No such process
КЛИЕНТ
# ip route show
default via $PUBLIC_IP dev eth0.2 proto static
10.1.1.0/24 dev br-lan proto kernel scope link src 10.1.1.1
10.8.0.1 via 10.8.0.5 dev tun0
10.8.0.5 dev tun0 proto kernel scope link src 10.8.0.6
$PUBLIC_IP_RANGE dev eth0.2 proto kernel scope link src $PUBLIC_IP
192.168.10.0/24 dev tun0 scope link
# ping 192.168.10.25
PING 192.168.10.25 (192.168.10.25): 56 data bytes
64 bytes from 192.168.10.25: seq=0 ttl=63 time=294.408 ms
64 bytes from 192.168.10.25: seq=1 ttl=63 time=21.798 ms
--- 192.168.10.25 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 21.798/158.103/294.408 ms
ПРИНИМАЮЩИЙ ЗА КЛИЕНТОМ
$ ping 192.168.10.25
PING 192.168.10.25 (192.168.10.25) 56(84) bytes of data.
From 10.1.1.1 icmp_seq=1 Destination Port Unreachable
From 10.1.1.1 icmp_seq=2 Destination Port Unreachable
--- 192.168.10.25 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 999ms
$ traceroute 192.168.10.25
traceroute to 192.168.10.25 (192.168.10.25), 30 hops max, 60 byte packets
1 OpenWrt.lan (10.1.1.1) 0.225 ms 0.230 ms 0.274 ms
2 OpenWrt.lan (10.1.1.1) 0.350 ms 0.417 ms 0.475 ms
То, что я хочу сделать, частично описано в этом примере из документации OpenVPN] (https://openvpn.net/index.php/open-source/documentation/howto.html#examples) находим на странице "# ПРИМЕР: Допустим клиент".
В документации рекомендуется внести изменения в openvpn server.conf, но по какой-то причине я не могу понять, где должен быть финал или как его загрузить.
Большая часть того, что я знаю об OpenVPN, записано на этой странице или в разделе «Настройка OpenWRT OpenVPN для начинающих». Я предполагаю, что OpenWRT использует какой-то проприетарный инструмент управления конфигурацией uci, так что он скрывает от меня часть исходной конфигурации openvpn.
wiki.openwrt.org/doc/howto/vpn.openvpn
Извините, ваша настройка неясна.
Я понимаю вашу настройку так:
Есть два IP-адреса, функция которых неясна: 10.8.0.1 и 10.8.0.6. Какие интерфейсы, на каких ящиках они назначены и каковы должны быть их функции?
Не обращая внимания на тайну 10.8.0. {1,6}, похоже, что отсутствует маршрут из блока A к подсети за блоком B:
ip ro add 10.1.1.0/24 via 10.8.0.2