
Мне нужно настроить виртуальную машину VirtualBox, которая будет работать как VPN. Я использую Vagrant для создания виртуальной машины на клиенте Ubuntu 14.04 LTS. Я использую OpenVPN в качестве VPN-сервера на сервере Ubuntu 14.04 LTS.
OpenVPN настроен на работу в сети 10.8.0.0/255.255.255.0. Сам VPN-сервер — 10.8.0.1. Запуск OpenVPN и подключение к нему не выдает никаких ошибок ни в одном файле журнала.
Если я настрою Vagrant на использование «публичной сети», то я смогу подключиться к VPN и отправить команду ping на VPN-сервер:
ping 10.8.0.1 # ok
Если я настрою Vagrant на использование «частной сети» (со статически определенным IP-адресом 192.168.50.42), тоЯ все еще могу подключиться к VPN, но больше не могу пинговать VPN-сервер.. Любая попытка (SSH, HTTP...) использовать адрес VPN (10.8.0.1) терпит неудачу.
ping 10.8.0.1 # ko
ifconfig на VPN-клиенте:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:10278 errors:0 dropped:0 overruns:0 frame:0
TX packets:10278 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:920543 (920.5 KB) TX bytes:920543 (920.5 KB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.6 P-t-P:10.8.0.5 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:21 errors:0 dropped:0 overruns:0 frame:0
TX packets:140 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:7192 (7.1 KB) TX bytes:87424 (87.4 KB)
vboxnet0 Link encap:Ethernet HWaddr 0a:00:27:00:00:00
inet addr:192.168.50.1 Bcast:192.168.50.255 Mask:255.255.255.0
inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:486 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:63895 (63.8 KB)
wlan0 Link encap:Ethernet HWaddr 34:68:95:ee:01:75
inet addr:192.168.40.45 Bcast:192.168.40.255 Mask:255.255.255.0
inet6 addr: fe80::3668:95ff:feee:175/64 Scope:Link
inet6 addr: 2a01:e35:8af4:2240:ad1b:a074:194:ce3f/64 Scope:Global
inet6 addr: 2a01:e35:8af4:2240:3668:95ff:feee:175/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38051 errors:0 dropped:0 overruns:0 frame:26967
TX packets:26737 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:43426256 (43.4 MB) TX bytes:3423106 (3.4 MB)
Interrupt:19
маршрут на VPN-клиенте:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.40.254 0.0.0.0 UG 0 0 0 wlan0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
10.8.0.5 * 255.255.255.255 UH 0 0 0 tun0
192.168.40.0 * 255.255.255.0 U 9 0 0 wlan0
192.168.50.0 * 255.255.255.0 U 0 0 0 vboxnet0
192.168.50.42 192.168.40.254 255.255.255.255 UGH 0 0 0 wlan0
А вот и самое интересное: удаление последнего маршрута заставляет пинг работать:
route del -net 192.168.50.42 gw 192.168.40.254 netmask 255.255.255.255 dev wlan0
Проблемы следующие:
- этот маршрут возвращается каждый раз, когда я перезагружаю виртуальную машину (каждый раз, когда я делаю vagrant up, я думаю)
- Я не знаю, как это будет вести себя на клиенте Windows.
- Мне нужно, чтобы это было максимально автоматизировано.
Вопросы:
- Почему мне нужно удалять то, что выглядит как совершенно не связанный маршрут в другой сети, чтобы мой VPN-сервер был доступен? (Я предполагаю, что это как-то связано с IP-адресом, который я использую для подключения к VPN-серверу...)
- Как я могу это исправить?
Спасибо,