У нас есть три сайта A, B и C. Есть ссылка OpenVPN от A к B и от A к C. A является клиентом для обоих.
Bnet Cnet
| |
B C
\ /
\ /
V
A
|
Anet
Анет может нормально общаться с Bnet и Cnet. И Bnet, и Cnet могут связываться с Anet. Проблема в том, что Bnet не может взаимодействовать с Cnet.
Маршрутизация на B и C настраивается из файла openvpn.conf:
route 192.168.108.0 255.255.255.0
route 10.9.0.0 255.255.0.0
Результат виден в "route -n". Он работает для 192.168.108.x (Anet), но не для других.
Когда я выполняю команду «tcpdump -i tun0 proto ICMP» на B и A при проверке связи с C от B, я вижу, что запросы попадают в туннель, но не выходят из него:
17:34:16.216271 IP 10.8.0.1 > 10.9.0.1: ICMP echo request, id 40798, seq 1, length 64
Правил межсетевого экрана вообще нет, все политики ПРИНЯТЫ.
Есть ли что-нибудь, что мешает пакетам из одного клиентского туннеля попасть в другой клиентский туннель?
Команды "route" выше было недостаточно, была
client-config-dir client-configs
Запись, которая привела к файлу подконфигурации:
iroute 192.168.208.0 255.255.255.0
Я добавил это:
iroute 10.9.0.0 255.255.0.0
И теперь он правильно маршрутизирует между VPN!