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?
¿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