Сеть
WAN
__|___
|Router|
‾‾|‾‾‾ ______
192.168.0.1----(192.168.0.0/24)----192.168.0.102-|Server|-192.168.3.1---(192.168.3.0/24)
‾‾‾‾‾‾
Сервер
Итак, я пытаюсь настроить это (A):
192.168.0.102
__________|____________
| | |
| eth0--tun0 |
| | | |
| apache-| | |
| ssh----| | |
| | |
|_________________|_____|
|
192.168.3.1
Но вот что я получаю (B):
192.168.0.102
__________|____________
| | |
| eth0--tun0 |
| | |
| apache--------| |
| ssh-----------| |
| | |
|_________________|_____|
|
192.168.3.1
$ifconfig:
eth0 Link encap:Ethernet HWaddr 00:xx:xx:xx:xx:xx
inet addr:192.168.0.102 Bcast:192.168.0.255 Mask:255.255.255.0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.114.0.4 P-t-P:10.114.0.4 Mask:255.255.0.0
$route -n:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.114.0.1 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
10.114.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0
<VPN IP> 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
128.0.0.0 10.114.0.1 128.0.0.0 UG 0 0 0 tun0
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
Вопрос
Как только я запускаю службу openvpn, я получаю настройки, описанные в случае B. Любой трафик к / от сервера использует интерфейс tun0 (и, таким образом, получает VPNd).
Итак, как мне сделать весь трафик по умолчанию для интерфейса eth0, кроме трафика, явно направленного на tun0?
Я попытался установить метрику на tun0 на 100, используя ifmetric после запуска и настройки службы openvpn. Однако Trafic по-прежнему использует tun0 по умолчанию.
Есть ли значение conf, которое я могу поместить в .conf, запущенный openvpn?
iptables настроен на маршрутизацию трафика с 192.168.3.1 на tun0.
Похоже, что на сервере есть:
push "redirect-gateway tun0"
или аналогичная конфигурация, из-за которой весь трафик проходит через соединение tun0. Вы должны иметь возможность удалить это правило и просто явно перенаправить нужные подсети.
Следующее правило маршрутизации является проблемой:
0.0.0.0 10.114.0.1 128.0.0.0 UG 0 0 0 tun0