
Estoy usando un firewall de Shorewall y configuré con éxito varias fuentes de ISP.
Actualmente equilibra todo el tráfico hacia ambos ISP. Lo que quiero lograr es enrutar el tráfico ssh al ISP1 y enrutar el tráfico www al ISP2. ¿Cómo puedo hacer esto?
Respuesta1
Creo que necesitarás crear varias tablas de rutas. Uno es el predeterminado para el tráfico normal, el siguiente es la tabla SSH especial que contiene entradas de ruta solo para la conexión ISP que desea utilizar.
A continuación, configure iptables para marcar los paquetes que provienen de su IP y del puerto SSH de escucha.
Finalmente, puede configurar entradas de reglas de IP para enrutar según la marca del firewall.
Hay mucha información (pero es posible que ya la hayas visto hasta ahora) en la documentación de LARTC:http://lartc.org/howto/lartc.rpdb.html
Entonces, como ejemplo:
Agregue una nueva tabla de enrutamiento con un nombre.
echo SSH 500 >>/etc/iproute2/rt_tables
Agregue una ruta predeterminada a otra tabla de enrutamiento que logre lo correcto.
ip route add default via $ISP2_GW table SSH
Configure una regla para que fwmark utilice esta nueva tabla.
ip rule add fwmark 0x0001 table SSH
Finalmente configure una regla de iptables para marcar sus paquetes.
iptables -I PREROUTING -t mangle -p tcp --sport 22 -j MARK --set-mark 0x0001 iptables -I OUTPUT -t mangle -p tcp --sport 22 -j MARK --set-mark 0x0001
Con suerte, eso debería configurar lo que desea correctamente. ¡También deberás asegurarte de que esta configuración sobreviva a los reinicios! Pero eso te lo dejo como ejercicio.