Een OpenVPN-Client aus dem LAN aussperren, ouni den Tunnel ze stoppen
Bënnt d'Tunneladress vum Client u säin Zertifikat, verwerft säin LAN-Verkehr um Kapp vu FORWARD, a prüft duerno IPv6, verfollegte Sitzungen an d'Iwwerliewe vun engem Neistart.
Een Client op Ärem OpenVPN-Server muss den LAN-Zougang verléieren, während all aner Tunnelen weiderlafen. Wann Dir dat sicht, seet déi bescht Äntwert meeschtens, den Daemon kéint dat net, wat just hallef richteg ass: OpenVPN huet keng Firewall pro Client, awer den Host, deen den Tunnel ofschléisst, filtert schonn Paketen. Déi zwou Entscheidungen, déi zielen, sinn d'Identitéit, déi Dir spärrt, an d'Positioun vun der Regel. Maacht déi zwou richteg, an d'Ännerung gëtt eng Zeil, déi Dir testen an ewechhuele kënnt.
Bënnt de Client, ier Dir d'Regel schreift
OpenVPN verlount Tunneladressen aus engem Pool, also ass 10.8.0.6 eng Plaz an net eng Persoun. Wann d'Sitzung ophalen ass, kënnt d'Locatioun zréck a kann un déi nächst Verbindung goen, dat heescht eng Regel géint déi Adress follegt der Plaz, net dem Benotzer. Entscheet also fir d'éischt, wat Dir wierklech spärrt: eng Adress fir e kuerzen Experiment oder en Zertifikat fir een, deen Dir dobausse wëllt halen.
Fir d'Adress un den Zertifikat ze bannen, erstellt eng Datei am Verzeechnes, dat client-config-dir nennt, a gitt der Datei genee de common name vum Zertifikat. Setzt eng Direktiv dra, ifconfig-push 10.8.0.6 255.255.255.0, an dee Client behält déi selwecht Tunneladress iwwer Reconnecten. Zwou Astellunge mussen do sinn, fir datt dat wierkt: client-config-dir muss an der Serverkonfiguratioun deklaréiert sinn, an d'Adress, déi geschéckt gëtt, muss an engem Subnetz leien, deen de Server route kann. Feehlt eng, gëtt d'Datei ouni Feeler ignoréiert, wat den nächsten Firewalltest irreféierend mécht.
Eng temporär Spär kann eng Pooladress benotzen, soulaang den Ticket festhält, wéi eng Sitzung se deemools hat.
D'Reiefolleg entscheet, ob de Verwerf leeft
Op enger Linux-Paart, déi tëscht dem Tunnel an dem LAN weiderleet, ginn d'Paketen duerch d'Kette FORWARD. Liest de Befehl hei drënner als Saz: setzt um Kapp vu FORWARD an, passt Verkéier un, deen aus tun0 erakënnt, vun deem eenzegen Host, adresséiert un de LAN-Subnetz, a verwerft en.
iptables -I FORWARD -i tun0 -s 10.8.0.6/32 -d 192.168.1.0/24 -j DROPEt ass de -I, deen d'Regel lafe léisst. Mat -A ugehaang, landt se ënner all breeder Akzeptanz fir den Tunnelsubnetz a gesäit ni e Pak. Prüft d'Positioun mat iptables -vnL FORWARD --line-numbers, a liest och d'Zähler: e Verwerf uewen, deen näischt zielt, heescht, datt de Verkéier iwwer en anere Wee kënnt.
Déi eege LAN-Adress vun der Paart ass en anere Wee. Paketen un d'Këscht selwer ginn an INPUT, net an FORWARD, also kann e Client en LAN-Host verléieren an trotzdem d'Admin-Säit vum Router opmaachen. Füügt déi passend INPUT-Regel dobäi, wann dat zielt.
Wat de Filter net gesäit
Gefiltert gëtt, wann e Pak bewäert gëtt, also kann eng etabléiert TCP-Sitzung weiderlafen, bis se zougeet oder zréckgesat gëtt. Wann d'Spär direkt mussen an d'Fleesch goen, läscht d'verfollegte Flëss fir déi Quell mat conntrack -D -s 10.8.0.6, nodeems d'Regel gesat ass. Wann e puer Sekonnen Iwwerlappung akzeptabel sinn, notéiert déi Wiel, amplaz se implizit ze loossen. Esou oder esou muss déi nächst Persoun wëssen, ob d'Regel liewege Verkéier stoppt oder just nei Verbindungen.
Verkéier tëscht Peeren beréiert ni d'Firewall vum Host. Mat client-to-client aktiv leet OpenVPN déi Pakete bannen am Daemon weider, also gesäit weder FORWARD nach INPUT se. Déi eenzeg Léisunge sinn, client-to-client auszeschalten oder ze akzeptéieren, datt Peeren sech kënnen erreechen; eng iptables-Regel gesäit dee Verkéier net.
IPv6, Firmware an Iwwerliewe vun engem Neistart
Eng IPv4-Regel seet näischt iwwer IPv6. Wa den Tunnel an de LAN béid Familljen droen, muss déi gläichwäerteg Regel an ip6tables existéieren, oder am nftables-Regelsaz, deen d'Politik op deem Host huet. Router-Firmware verstoppt netfilter dacks hannert senger eegener Abstraktioun, also gëllen Syntax an Tabellennimm, déi aus engem Forum kopéiert goufen, vläicht net.
Op OpenWrt ass den dokumentéierte Wee en Firewall-Konfiguratiounsagang an net eng handgeschriwwen iptables-Zeil, an eng handgeschriwwen Zeil kann verschwannen, wann d'Firewall nei lued. Aner Distributiounen restauréieren d'Regele mat netfilter-persistent, enger Boot-Eenheet oder engem Händlerdepot, an déi Mechanismen sinn net auswiesselbar. Beweist deen, deen Dir gewielt hutt, mat engem Neistart, well en Neillueden en anere Wee übt.
Prüft pro Wee a gitt duerno propper zréck
Testt all Wee getrennt, well eng gelongen Iwwerpréiwung déi aner verstoppt. E gespaarte Client soll nach iwwer den Tunnel an d'Internet kommen, awer géint en LAN-Host feelen, en zweeten Client soll dee selwechten Host erreechen, an d'Paartadress an de Peer-Wee brauchen all hir eege Observatioun. Schreift d'Resultater nieft d'Regel, sou datt déi nächst Ännerung eng Basis huet. D'Tabell hei drënner ass de Saz, deen et wäert ass, am Ticket ze bleiwen.
| Wee | Erwaart mat der Regel | Wann et feelt |
|---|---|---|
| Gespaarte Client op en LAN-Host | Keng Äntwert | D'Regel läit ënner enger Akzeptanz, oder d'Quell passt net |
| Gespaarte Client op d'Internet | Funktionéiert iwwer tun0 | D'Regel ass ze breet, ouni Zilpas |
| Zweete Client op dee selwechten LAN-Host | Funktionéiert | D'Regel huet méi wéi den ugedaachte Host gepasst |
| Gespaarte Client op d'LAN-Adress vun der Paart | Nëmme mat der passender INPUT-Regel gespaart | INPUT-Regel fehlt |
| Gespaarte Client op eng Peertunneladress | Funktionéiert nach | client-to-client ass aktiv an ausserhalb vum Firewall-Beräich |
Zréckgoen ass en Ewechhuele no Spezifikatioun, keen Flush: iptables -D FORWARD -i tun0 -s 10.8.0.6/32 -d 192.168.1.0/24 -j DROP hëlt genee deen Agang ewech an lässt de Rescht vun der Kette intakt. Huelt déiselwecht Zeil aus der Datei ewech, déi d'Regele beim Boot restauréiert, luet se nei a bestätegt, datt de Client den LAN-Host erëm erreecht. En Flush vu FORWARD géif och Regele réckgängeg maachen, déi Dir net geschriwwen hutt, wat en Zréckgoen an en zweeten Tëschefall verwandelt.
Ier Dir den Ticket zoumaacht, bestätegt dräi Saachen: d'festgeluechte Adress passt zum Zertifikat, d'Regel steet iwwer den Akzeptanzen mat engem Zähler deen net null ass, an d'Persistenzdatei enthält déiselwecht Regel, déi Dir getest hutt. Feehlt eng dovun, ass d'Spär eng Illusioun an enger Shell-Sitzung.