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

Маршрутизация трафика в подсеть через клиентский туннель OpenVPN

У меня есть маскирующий роутер с питанием от Shorewall:

Теперь я хочу добавить клиент OpenVPN, который создает устройство TUN при подключении: tun1, и я хочу направить весь трафик, предназначенный для подсети 30.40.50.0/24, через туннель VPN. Весь остальной трафик, как и раньше, должен идти через eth0.
Если соединение VPN не работает (а устройство TUN не существует), трафик в эту подсеть также должен проходить через eth0 в качестве запасного варианта.

Похоже мой /etc/shorewall/routes полностью игнорируются, так как весь трафик по-прежнему идет через eth0.
Что я делаю не так?

Вот вкратце моя конфигурация Shorewall:

/etc/shorewall/zones:

#ZONE   TYPE    OPTIONS                 IN                      OUT
#                                       OPTIONS                 OPTIONS
fw      firewall
net     ipv4
loc     ipv4
tun     ipv4    # tunnels for outgoing traffic

/etc/shorewall/interfaces:

#ZONE   INTERFACE       BROADCAST       OPTIONS
net     eth0            detect          
loc     eth1            detect          
tun     tun1            -               optional

/etc/shorewall/providers:

#NAME   NUMBER  MARK    DUPLICATE       INTERFACE       GATEWAY         OPTIONS         COPY
ISP     1       1       main            eth0            detect          fallback
TUN     2       2       -               tun1            detect

/etc/shorewall/routes

#PROVIDER               DEST                    GATEWAY         DEVICE
#specifying default route causes error, so it's commented out:
#   ERROR: Command "ip -4 route add 0.0.0.0/0 dev eth0 table 1" Failed
#ISP                    0.0.0.0/0

# THIS ROW has no effect
TUN                     30.40.50.0/24

/etc/shorewall/masq:

#INTERFACE:DEST         SOURCE          ADDRESS         PROTO   PORT(S) IPSEC   MARK    USER/   SWITCH  ORIGINAL
#                                                                                       GROUP           DEST
# masqueraded LAN subnet is 10.0.0.0/24
eth0                    10.0.0.0/24
tun1                    10.0.0.0/24

Результат команды shorewall show routing наклеен Вот