Я использую openSuSE в качестве роутера. eth0 - это WAN nic, eth1 - это LAN. У меня также есть устройство tun10, которое я использую с клиентским подключением OpenVPN.
Я хочу, чтобы yast routes указывали, какой трафик должен выходить через туннель OpenVPN. Весь остальной трафик должен продолжать выходить через eth0 (маршрут по умолчанию). Вот почему я использую route-nopull
, поскольку сервер OpenVPN проталкивает маршрут по умолчанию для 0.0.0.0/32.
Однако я не вижу, чтобы маршруты, определенные в yast, отображались в route -n
. Как заставить их работать?
Указанные ниже IP-адреса являются выдуманными. (кроме одного для whatismyip.com)
OpenVPN client.conf
некоторые выдержки
client
route-nopull
dev tun10
proto udp
Настройки сети YaST -> маршрутизация
шлюз по умолчанию: 101.102.103.104
устройство: eth0маршруты: (только один пример)
- пункт назначения: 141.101.120.15 (whatismyip.com)
- шлюз: 10.20.30.40
- genmask: 255.255.255.255
- устройство: tun10
route -n
вывод
отмеченные линии появляются только когда я запускаю VPN-туннель без route-nopull
Destination Gateway Genmask Flags Iface
0.0.0.0 10.20.30.40 128.0.0.0 UG tun10 //without route-nopull
0.0.0.0 101.102.103.104 0.0.0.0 UG eth0
10.0.0.0 0.0.0.0 255.255.255.0 U eth1
128.0.0.0 10.20.30.40 128.0.0.0 UG tun10 //without route-nopull
10.20.30.40 0.0.0.0 255.255.255.255 UH tun10 //without route-nopull
10.20.30.41 10.20.30.40 255.255.255.255 UHG tun10 //without route-nopull
Насколько мне известно, YaST не будет создавать эти правила за вас. Если вы действительно хотите использовать YaST, я не могу помочь, но если вы хотите, чтобы ваши маршруты работали, попробуйте следующее:
Добавить маршрут в конфигурацию вашего клиента OpenVPN (см. страница руководства OpenVPN в --маршрут подробнее). Таким образом, маршруты будут добавлены после успешного соединения с OpenVPN.
Например:
route 141.101.120.15 255.255.255.255 10.20.30.40