Итак, у меня есть OpenVPN на моем NAS, который настроен и работает, но мой провайдер отключает «redirect-gateway», что означает, что весь трафик передается через VPN.
Основная проблема заключается в том, что я хочу, чтобы только определенные программы использовали tun0 (Transmission + SabNZBd). Это усложняется, поскольку я хочу, чтобы веб-интерфейсы этих программ по-прежнему были доступны через eth0.
Пока у меня есть следующее в сценарии маршрутизации:
# Demangle main routing table
ip route del table main 0.0.0.0/1 via $route_vpn_gateway dev $tun
ip route del table main 128.0.0.0/1 via $route_vpn_gateway dev $tun
# Copy default routing table to new VPN table
ip route flush table 100
ip route show table main | grep -Ev '^default via ' | while read entry; do sudo ip route add table 100 $entry; done
# Add default gateway to VPN table
ip route add table 100 default via $route_vpn_gateway dev $dev
# Add rule to make marked packets use VPN table
ip rule add fwmark 4 table 100
# Mark packets from processes in group
iptables -t mangle -A OUTPUT -m owner --gid-owner downloader -j MARK --set-mark 4
К сожалению, это не работает. Есть идеи?