Я установил отдельную таблицу маршрутизации (tovpn)
#echo 200 tovpn >> /etc/iproute2/rt_tables
Сейчас назначаю ему маршруты.
Где 10.0.0.1 - это tun2 P-t-P, а 10.0.0.2 - это inet
#ip route add 10.0.0.1 dev tun2 table tovpn
#ip route add default via 10.0.0.2 dev tun2 table tovpn
В некоторой сети 172.20.20.0/24 трафик перенаправлен на таблицу
#ip rule add from 172.22.22.0/24 table tovpn
#iptables -t nat -A POSTROUTING -s 172.22.22.0/24 -o tun2 -j MASQUERADE
Отлично, все работает.
Как указать дополнительный трафик, проходящий через туннель, указав IP-адрес хоста?
Следующее не работает, если я хочу направить, например, трафик на 8.8.4.4 через туннель.
#ip rule add to 8.8.4.4/32 table tovpn
альтернативно
#ip rule add to 8.8.4.4/32 lookup tovpn
Любая помощь будет принята с благодарностью, спасибо.
Моя таблица маршрутизации была настроена неправильно. Правильная установка:
# ip route add $PTPADDR src $INETADDR proto kernel dev tun1 table tovpn
# ip route add default dev tun1 table tovpn
Теперь пометьте пакеты с помощью
# iptables -t mangle -A PREROUTING -i $LANINTERFACE -d 8.8.8.8/32 -j MARK --set-mark 300