В качестве среды разработки для моего производственного сервера я настроил гостя Virtualbox.
Однако я не могу настроить сервер OpenVPN. Я могу без проблем подключиться к своему VPN с помощью (KDE NetworkManager), но впоследствии не могу даже пропинговать хост VPN.
Насколько я понимаю, это проблема маршрутизации. Перед тем, как подключиться к VPN, таблица маршрутизации выглядит следующим образом:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.64.64.64 0.0.0.0 UG 0 0 0 ppp0
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
33.33.33.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
Таблица выглядит следующим образом после подключения к VPN:
$ sudo route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.64.64.64 0.0.0.0 UG 0 0 0 ppp0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
33.33.33.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet0
33.33.33.24 10.64.64.64 255.255.255.255 UGH 0 0 0 ppp0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
Обратите внимание: я не хочу использовать свой VPN в качестве шлюза, поэтому я не беспокоюсь о пересылке пакетов. Я только хочу иметь возможность доступа к серверу (например, apache) по VPN-адресу помимо его публичного адреса, поэтому я не устанавливаю его в качестве gw по умолчанию.
Мне кажется, что проблема в том, что адрес 33.33.33.24 не может быть достигнут на интерфейсе ppp0, так как это локальный адрес, доступный на vboxnet0
$ ping 10.8.0.1
PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.
^C
--- 10.8.0.1 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 999ms
Точно такая же настройка работает, как и ожидалось, когда я запускаю ее на реальном сервере, шлюз которого может быть доступен через ppp0:
$ sudo route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.64.64.64 0.0.0.0 UG 0 0 0 ppp0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
33.33.33.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet0
<real_gw_ip> 10.64.64.64 255.255.255.255 UGH 0 0 0 ppp0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
$ ping 10.8.0.1
PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.
64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=782 ms
64 bytes from 10.8.0.1: icmp_seq=2 ttl=64 time=122 ms
^C
--- 10.8.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
Я немного застрял, потому что не могу понять, как правильно настроить маршрутизацию или NAT для достижения желаемого, а именно: получить доступ к VMBox на 33.33.33.24 по VPN через 10.8.0.1.
Буду признателен за любую оказанную помощь. Я не включил дополнительные конфиги (ifconfig, syslog) на данный момент, чтобы держать сообщение короче, потому что они кажутся мне подходящими (назначенные IP-адреса, iptables все сброшены для тестирования и т.д.) И, как указано выше, я думаю, что я понял в чем причина проблемы, пожалуйста, исправьте меня, если я ошибаюсь.