Назад | Перейти на главную страницу

Настройка вторичного сетевого интерфейса (VPN) на сервере linux с использованием openvpn

Сеть

  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