Я подключен через VPN к серверу Ubuntu, выступающему в роли гипервизора, на котором запущена 1 ВМ. Я могу пропинговать виртуальную машину из командной строки на сервере, но не могу пропинговать виртуальную машину через VPN-соединение на моем компьютере. Возвращение всех пингов "Порт назначения недоступен"

У меня есть virbr1 как это: virbr1 Link encap:Ethernet HWaddr 52:54:00:cb:4d:9b inet addr:10.0.100.1 Bcast:10.0.100.31 Mask:255.255.255.224 (создано Libvirt)

У меня есть 1 ВМ, работающая на гипервизоре с IP 10.0.100.16 который я могу пропинговать с гипервизора, но не через VPN.

Мой openvpn server.conf имеет: server 10.0.1.0 255.255.255.240 push "route 10.0.100.0 255.255.255.224"

на моем клиенте я могу 10.0.100.1 но не могу 10.0.100.16: PING 10.0.100.16 (10.0.100.16) 56(84) bytes of data. From 10.0.1.1 icmp_seq=1 Destination Port Unreachable

Похоже, что вместо 10.0.100.16 ответ на пинг содержит 10.0.1.1 .

Когда я запускаю tcpdump tun1 на гипервизоре, я вижу: IP 10.0.1.6 > 10.0.100.16: ICMP echo request, id 26073, seq 1, length 64 IP 10.0.1.1 > 10.0.1.6: ICMP 10.0.100.16 protocol 1 port 43991 unreachable, length 92

по какой-то причине для ответа ICMP вместо 10.0.1.1 используется 10.0.100.16 .

Есть идеи, что может быть не так? Неправильная маршрутизация, пропущенные iptables?

1 ответ1

0

Вы не упоминаете, какая у вас конфигурация для виртуальной сети libvirt, связанной с устройством virbr0. Конфигурация по умолчанию, которую делает libvirt, заключается в настройке NAT-соединения. В такой настройке libvirt имеет правила брандмауэра, которые применяют NAT к исходящим соединениям. Входящие соединения принимаются только от самой операционной системы хоста - нет маршрутизации от сетей вне хоста, которые, я думаю, будут включать ваше VPN-соединение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .