GNU/Linux >> Tutoriales Linux >  >> Linux

¿Responder en la misma interfaz que la entrada?

echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from <interface_IP> table isp2 prio 1
ip route add default via <gateway_IP> dev <interface> table isp2

Lo anterior no requiere ninguna marca de paquete con ipfilter. Funciona porque los paquetes salientes (respuesta) tendrán la dirección IP que se usó originalmente para conectarse a la segunda interfaz como dirección de origen (de) en el paquete saliente.


Los siguientes comandos crean una tabla de enrutamiento alternativa a través de eth1 para paquetes que tienen la marca 1 (excepto paquetes a localhost). El ip El comando es de la suite iproute2 (Ubuntu:iproute Install iproute http://bit.ly/software-small, iproute-doc Install iproute-doc http://bit.ly/software-small).

ip rule add fwmark 1 table 1
ip route add 127.0.0.0/0 table 1 dev lo
ip route add 0.0.0.0/0 table 1 dev eth1

La otra mitad del trabajo es reconocer paquetes que deben obtener la marca 1; luego usa iptables -t mangle -A OUTPUT … -j MARK --set-mark 1 en estos paquetes para enrutarlos a través de la tabla de enrutamiento 1. Creo que lo siguiente debería hacerlo (reemplazar 1.2.3.4 por la dirección de la interfaz de ruta no predeterminada):

iptables -t mangle -A OUTPUT -m conntrack --ctorigdst 1.2.3.4 -j MARK --set-mark 1

No estoy seguro de si eso es suficiente, tal vez se necesite otra regla en los paquetes entrantes para decirle al módulo de control que los rastree.


Tuve problemas con los paquetes generados localmente con la solución sugerida por Peter, descubrí que lo siguiente corrige eso:

echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from <interface_IP> table isp2 priority 900
ip rule add from dev <interface> table isp2 priority 1000
ip route add default via <gateway_IP> dev <interface> table isp2
ip route add <interface_prefix> dev <interface> proto static scope link src <interface_IP> table isp2

NOTA: Puede tener problemas de sintaxis con la cuarta línea anterior. En tales casos, la sintaxis para el cuarto comando puede ser esta ahora:

ip rule add iif <interface> table isp2 priority 1000

Linux
  1. ¿Interfaz Sftp a Scp?

  2. Agregue una interfaz de red en la nube a un servidor en la nube

  3. Ifconfig:7 ejemplos para configurar la interfaz de red

  4. ¿Hay una interfaz de python para iptables?

  5. Extraer datos de la tabla HTML

Cómo optimizar tablas MySQL

Cómo crear una tabla de DynamoDB en AWS

3 formas de configurar una interfaz de red en Linux

comando ip en Linux con ejemplos

¿Cómo enrutar solo una subred específica (ip de origen) a una interfaz en particular?

Determinar el canal de la interfaz inalámbrica