Configuración de 4 interfaces de Shorewall

Configuración de 4 interfaces de Shorewall

Estoy intentando utilizar Shorewall en Arch para administrar una configuración con 2 redes locales y 2 conexiones ISP. En última instancia, quiero que el tráfico de la red local 1 (interfaz 192.168.1.0/24 enp5s0) use el ISP 1 (76. ... interfaz enp6s0) y el tráfico de la red local 2 (interfaz 192.168.0.0/24 enp7s0) para usar el ISP 2 (99 .... interfaz enp3s0). Actualmente, puedo hacer que uno u otro funcione, pero no ambos, dependiendo de qué ruta predeterminada viene primero:

output of `ip route ls` with sensitive information redacted:
default via 76.[rd].1 dev enp6s0  src 76.[rd].78  metric 203  mtu 576
default via 99.[rd].1 dev enp3s0  src 99.[rd].190  metric 205
76.[rd].0/24 dev enp6s0  proto kernel  scope link  src 76.[rd].78  metric 203  mtu 576
76.[rd].78 dev enp6s0  scope link  src 76.[rd].78
99.194.48.0/21 dev enp3s0  proto kernel  scope link  src 99.[rd].190  metric 205
99.[rd].190 dev enp3s0  scope link  src 99.[rd].190
192.168.0.0/24 dev enp7s0  proto kernel  scope link  src 192.168.0.1  metric 204
192.168.1.0/24 dev enp5s0  proto kernel  scope link  src 192.168.1.1  metric 202

Con el resultado anterior, el local 1 podría llegar al exterior, pero el local 2 no. Viceversa si la primera línea desapareciera. Estoy bastante seguro de que tener múltiples rutas predeterminadas es un no-no, incluso con múltiples ISP, pero así es como lo hizo Shorewall.

Como no había ningún ejemplo para esto en ninguna parte, lo basé en el ejemplo de tres interfaces de Shorewall. Para evitar que esta publicación sea increíblemente larga, aquí hay enlaces para pegar cada una de las configuraciones relevantes de los muros costeros:

Las páginas de Shorewall sobre el tema no son útiles porque el objetivo de su ejemplo es muy diferente al mío. Cualquier sugerencia en la dirección correcta sería muy apreciada.

Respuesta1

Asegúrese de no configurar la puerta de enlace predeterminada en los archivos netctl ni en ningún otro archivo. Si utiliza DHCP para obtener direcciones IP, asegúrese de desactivar la obtención de la puerta de enlace predeterminada (dhcpcd -G). Ejecutar "ip route ls" deberíano mostrar ninguna puerta de enlace predeterminada. Sólo "ip route show table all" enumeraría las puertas de enlace predeterminadas para cada tabla de ISP. Algo como esto:

default via 10.1.1.1 dev enp3s0  table ITC1  src 10.1.1.10
10.1.1.1 dev enp3s0  table ITC1  scope link  src 10.1.1.10
default via 10.1.2.1 dev enp4s0  table ITC2  src 10.1.2.10
10.1.2.1 dev enp4s0  table ITC2  scope link  src 10.1.2.10
default via X.X.X.X dev enp5s0  table MPLS  src X.X.X.X
X.X.X.X dev enp5s0  table MPLS  scope link  src X.X.X.X
default  table balance
    nexthop via X.X.X.X  dev enp5s0 weight 1
    nexthop via 10.1.1.1  dev enp3s0 weight 2
    nexthop via 10.1.2.1  dev enp4s0 weight 2

También puede eliminar las entradas del archivo mangle ya que las entradas de rtrules deberían ser suficientes para lo que necesita.

información relacionada