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 PostUp
regla de política de enrutamiento, como por ejemplo 143
(y elimínelo de la misma manera en el PostDown
script):
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 32000
o 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 1043
mientras enruta el tráfico desde 192.168.2.16
y 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.16
través del túnel WireGuard (a través de la ruta configurada wg-quick
en la tabla 43
). Cuando cierre la interfaz WireGuard wg-quick
(o reinicie el Pi), la regla 143
se eliminará y la regla 1043
volverá a coincidir.