У меня есть маскирующий роутер с питанием от Shorewall:
net
зона)loc
зона)Теперь я хочу добавить клиент 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
наклеен Вот