У меня безголовый домашний сервер под управлением Ubuntu Server 12.04. Сторонний веб-сайт (на который я подписан) периодически отправляет команды демону на моем домашнем сервере, который, в свою очередь, отвечает на сторонний веб-сайт. Со статической IP-адресацией, динамическим DNS-клиентом и переадресацией портов на модеме это работает должным образом; Все хорошо!
Однако теперь я хочу использовать клиент OpenVPN на моем сервере для туннелирования / маршрутизации трафика сервера через сторонний VPN-сервер. Я успешно установил и настроил клиент OpenVPN на моем сервере, но обнаружил, что во время работы OpenVPN команды от стороннего веб-сайта либо не принимаются моим сервером, и / или мой сервер не подтверждает команду обратно сторонней организации. Веб-сайт. Если я остановлю OpenVPN на моем сервере, он снова заработает.
Я подозреваю, что проблема заключается в том, что сторонний веб-сайт отправляет команды на мой сервер (через модем и переадресацию портов), но ответ направляется через VPN, а не обратно через eth0, откуда он поступил.
Следующая диаграмма дает базовый обзор моей домашней сети.
Я не уверен, какая дополнительная информация необходима, но надеюсь, что следующего достаточно для решения проблемы.
Вывод ifconfig с активным VPN
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:07:e9:08:02:17
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::207:e9ff:fe08:217/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:155309 errors:0 dropped:0 overruns:0 frame:0
TX packets:141790 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:211724221 (211.7 MB) TX bytes:20656517 (20.6 MB)
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:16436 Metric:1
RX packets:43 errors:0 dropped:0 overruns:0 frame:0
TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2368 (2.3 KB) TX bytes:2368 (2.3 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.167.1.6 P-t-P:10.167.1.5 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:264 (264.0 B)
Вывод route
без запуска OpenVPN
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default modem 0.0.0.0 UG 100 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
Вывод route
с запущенным OpenVPN
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.111.1.5 128.0.0.0 UG 0 0 0 tun0
default modem 0.0.0.0 UG 100 0 0 eth0
10.111.1.1 10.111.1.5 255.255.255.255 UGH 0 0 0 tun0
10.111.1.5 * 255.255.255.255 UH 0 0 0 tun0
us-west.private modem 255.255.255.255 UGH 0 0 0 eth0
128.0.0.0 10.111.1.5 128.0.0.0 UG 0 0 0 tun0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
Я нашел несколько других форумов с похожими проблемами звучания, но не смог применить информацию для решения моей конкретной проблемы.
http://www.overclock.net/t/1043127/solved-openvpn-client-blocks-inbound-ports
https://forum.linode.com/viewtopic.php?t=8737
Обновление: мне сказали исследовать политику на основе маршрутизации, которая привела меня к аналогичному вопросу (удаленный доступ по SSH не работает, когда клиент OpenVPN включен в DD-WRT), но пока ответа там тоже нет.