Interruptor de interrupción de Iptables para Wireguard

Interruptor de interrupción de Iptables para Wireguard

Me gustaría pedir un poco de ayuda para configurar un interruptor de apagado para mi VPN.

Estoy usando la siguiente configuración en mi Pi y estoy configurando la IP de Pi como puerta de enlace en mi cliente seleccionado (192.168.2.16). De esta forma, el tráfico del cliente se enruta a través de la VPN.

Todo funciona muy bien, pero me gustaría agregar un interruptor de apagado si por alguna razón la conexión a la VPN falla, enrutar el tráfico a un agujero negro.

[Interface]
PrivateKey = ...
Address = 10.111.111.111/32
Table = 43

PostUp = ip rule add from 192.168.2.16 table 43; iptables -A FORWARD -i %i -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT; iptables -A FORWARD -i eth0 -o %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -t nat -A POSTROUTING -o %i -j MASQUERADE

PostDown = ...


[Peer]
PublicKey = ...
AllowedIPs = 0.0.0.0/0
Endpoint = 86.xxx.xxx.xxx:51820

Respuesta1

Agregue un número de baja prioridad a su PostUpregla de política de enrutamiento, como por ejemplo 143(y elimínelo de la misma manera en el PostDownscript):

PostUp = ip rule add from 192.168.2.16 table 43 priority 143; ...
PostDown = ip rule del from 192.168.2.16 table 43 priority 143; ...

Las reglas con un número de prioridad más bajo coinciden primero. Si no establece una prioridad, el sistema operativo la establecerá en un número cercano a 32765, justo debajo de las reglas predeterminadas.

Luego agregue una regla cuando inicie su Pi (el lugar donde lo haga depende del sistema operativo y la versión) con un número de prioridad más alto (pero más 32000o menos por debajo) que rechazará todo el tráfico de 192.168.2.16:

ip rule add from 192.168.2.16 prohibit priority 1043

Con esto implementado, cuando la interfaz WireGuard está inactiva, el motor de enrutamiento coincidirá con la regla 1043mientras enruta el tráfico desde 192.168.2.16y rechazará ese tráfico. Cuando inicie la interfaz WireGuard con wg-quick, agregará una regla 143, que tendrá prioridad, y comenzará a enrutar el tráfico a 192.168.2.16través del túnel WireGuard (a través de la ruta configurada wg-quicken la tabla 43). Cuando cierre la interfaz WireGuard wg-quick(o reinicie el Pi), la regla 143se eliminará y la regla 1043volverá a coincidir.

información relacionada