Así que tengo OpenVPN en mi configuración de NAS y en funcionamiento, pero mi proveedor empuja "redirect-gateway" hacia abajo, lo que significa que todo el tráfico se envía a través de VPN.
El problema básico es que solo quiero que ciertos programas usen tun0 (Transmisión + SabNZBd). Esto se hace más difícil ya que quiero que las interfaces web de esos programas sigan siendo accesibles a través de eth0.
Hasta ahora tengo lo siguiente en un script de ruta:
# 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
Lamentablemente esto no está funcionando. ¿Algunas ideas?
networking
routing
openvpn
Chris Banes
fuente
fuente
¿Has probado el firewall marcando por -dport o -sport en su lugar?
NickW
@NickW: El problema es que los clientes de torrent usan puertos aleatorios, por lo que no puedo hacer una regla estática.
Chris Banes
Tal vez invertirlo entonces? ¿Marcar los que permanecen estáticos pero enviarlos a través de la tabla de enrutamiento normal, todo lo demás a través del túnel?
NickW