Przewodnik · 1 min czytania

VPN kill switch — blokuj wycieki, jeśli tunel się zamknie

Wyłącznik awaryjny zatrzymuje cały ruch w momencie, gdy twój VPN się rozłącza, więc twój prawdziwy adres IP nigdy nie wycieka. Przepisy do kopiowania i wklejania dla Linuxa, macOS i Windows — plus blokada wycieku IPv6.

Co robi kill switch

A kill switch blokuje internet twojego urządzenia w momencie, gdy tunel VPN się zamyka, więc nic nie wychodzi przez twoje prawdziwe połączenie. Bez niego, krótkie ponowne połączenie może ujawnić twój prawdziwy adres IP w trakcie tego, co robiłeś. Poniższe zasady pozwalają na ruch tylko przez interfejs s4m WireGuard (plus handshake do naszego serwera) i blokują wszystko inne.

Zastąp <WG_ENDPOINT_IP> swoim adresem IP serwera s4m i nazwą interfejsu (wg0 / utun3 / s4m) tymi, które masz w konfiguracji, którą pobrałeś.

Linux (nftables)

Trwała, nowoczesna i najczystsza opcja w obecnych dystrybucjach.

bash
#!/usr/sbin/nft -f
# s4m kill-switch: drop all output unless it goes through the s4m tunnel.
flush ruleset
table inet s4m_ks {
  chain out {
    type filter hook output priority 0; policy drop;
    oifname "lo" accept
    oifname "wg0" accept                         # s4m WireGuard interface
    ip daddr <WG_ENDPOINT_IP> udp dport 51820 accept  # handshake to s4m
    ct state established,related accept
    meta nfproto ipv6 drop                        # kill IPv6 leaks (exit is IPv4)
  }
}
# apply:  sudo nft -f s4m-killswitch.nft     revert: sudo nft flush ruleset

macOS (pf)

Używa wbudowanego filtra pakietów — bez dodatkowego oprogramowania.

bash
# /etc/pf.s4m.conf   —  load:  sudo pfctl -f /etc/pf.s4m.conf -e
set block-policy drop
block out all
pass out on lo0 all
pass out on utun3 all                      # your s4m WireGuard interface
pass out proto udp to <WG_ENDPOINT_IP> port 51820   # handshake
block out inet6 all                        # kill IPv6 leaks
# disable:  sudo pfctl -d

Windows (PowerShell, uruchom jako administrator)

Reguły zapory Windows Defender; ograniczone do adaptera s4m.

powershell
# Block all outbound, then allow only the s4m WireGuard adapter + handshake.
New-NetFirewallRule -DisplayName "s4m-ks-block" -Direction Outbound -Action Block -Enabled True
New-NetFirewallRule -DisplayName "s4m-ks-allow-wg" -Direction Outbound -Action Allow -InterfaceAlias "s4m" -Enabled True
New-NetFirewallRule -DisplayName "s4m-ks-handshake" -Direction Outbound -Action Allow -Protocol UDP -RemoteAddress <WG_ENDPOINT_IP> -RemotePort 51820 -Enabled True
# Stop IPv6 leaks:
Disable-NetAdapterBinding -Name "*" -ComponentID ms_tcpip6
# Remove later:  Get-NetFirewallRule -DisplayName "s4m-ks-*" | Remove-NetFirewallRule

Dlaczego blokować IPv6

Nasze wyjście to IPv4, więc każde żądanie IPv6 ominie tunel i ujawni Twój prawdziwy adres IPv6 — klasyczny wyciek. Każda z powyższych konfiguracji całkowicie blokuje IPv6. Możesz potwierdzić, że jesteś czysty na naszym teście IP i wycieków.

Share this page
FAQ

Pytania, odpowiedzi

Czy naprawdę potrzebuję kill switch?

Jeśli polegasz na VPN dla prywatności, tak — bez niego, chwilowy spadek cicho ujawnia Twój prawdziwy IP. Zasady tutaj działają w trybie zamkniętym: brak tunelu, brak ruchu.

Czy to przetrwa ponowne uruchomienie?

Pliki nftables i pf mogą być ładowane przy uruchamianiu (systemd lub demon uruchamiający); zasady Windows utrzymują się, dopóki ich nie usuniesz. Zobacz linie zastosowania/przywracania każdego fragmentu.

Zdobądź tunel wart ochrony

WireGuard, bez logów z założenia, anonimowa rejestracja.

Ludzie znaleźli tę stronę, szukając

Rzeczywiste frazy wyszukiwania, na które ta strona odpowiada — powiązane otwierają stronę, która je szczegółowo omawia.