VPN용 킬 스위치를 설정하는 데 약간의 도움을 요청하고 싶습니다.
내 Pi에서 다음 설정을 사용하고 있으며 선택한 클라이언트(192.168.2.16)에서 Pi의 IP를 게이트웨이로 설정하고 있습니다. 이러한 방식으로 클라이언트 트래픽은 VPN을 통해 라우팅됩니다.
모든 것이 훌륭하게 작동하지만 어떤 이유로 VPN 연결이 중단되면 트래픽을 블랙홀로 라우팅하는 킬 스위치를 추가하고 싶습니다.
[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
답변1
PostUp
다음과 같이 라우팅 정책 규칙 에 낮은 우선순위 번호를 추가하고 스크립트 143
에서 동일한 방식으로 삭제합니다 PostDown
.
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; ...
우선순위 번호가 낮은 규칙이 먼저 일치됩니다. 우선 순위를 설정하지 않으면 OS는 32765
기본 규칙 바로 아래에 있는 숫자로 설정합니다.
그런 다음 Pi를 시작할 때(이 작업을 수행하는 위치는 OS 및 버전에 따라 다름) 32000
다음의 모든 트래픽을 거부하는 더 높은 우선 순위 번호(그러나 그 이하) 로 규칙을 추가합니다 192.168.2.16
.
ip rule add from 192.168.2.16 prohibit priority 1043
이를 통해 WireGuard 인터페이스가 다운되면 라우팅 엔진은 1043
에서 트래픽을 라우팅할 때 규칙을 일치시키고 192.168.2.16
해당 트래픽을 거부합니다. 를 사용하여 WireGuard 인터페이스를 시작하면 우선 순위가 적용되는 wg-quick
규칙이 추가되고 WireGuard 터널을 통해( 표에서 설정한 경로를 통해 ) 트래픽 라우팅이 시작됩니다. WireGuard 인터페이스를 종료 하거나 Pi를 재부팅하면 규칙이 제거되고 규칙이 다시 일치됩니다.143
192.168.2.16
wg-quick
43
wg-quick
143
1043