D'Gäscht um Standard-libvirt-Netz léisen Nimm perfekt, bis d'WireGuard-Interface eropkënnt, an dann stockt all Sich op der selwechter Plaz. dnsmasq lauschtert nach ëmmer op 192.168.122.1:53, de Gäscht huet nach ëmmer déi Adress als Resolver, an d'Ufro kënnt nach ëmmer un. Wat sech geännert huet, ass datt d'Upstream-Ufro vum Host selwer, oder d'Äntwert dorop, elo vun enger Regel verworf gëtt, déi ausgewäert gëtt, éier eng Filterkette drun ass, déi s du géifs beaarbechten. Den Auswee ass eng Mark, déi fréi genuch ugewannt gëtt, op enger Verbindung, déi d'Äntwert ierft.

D'Gäscht verléieren DNS am Moment wou den Tunnel eropkënnt

Bestätegt d'Form éier s du eppes änderst. Maach den Tunnel erof, fuer dig @192.168.122.1 example.com vun engem Gäscht aus, a kuck wéi et äntwert. Maach den Tunnel erop, widderhuel, a kuck wéi et an en Timeout leeft. Dës Puer Resultater schléisst e kaputte libvirt-Netz, eng falsch Resolveradress an en doudegen dnsmasq an engem Schrëtt aus.

Kuck dann op d'Hostsäit. Wann dnsmasq d'Ufro a seng Upstream-Weiderleedung protokolléiert, ass de Paket ukomm an de Feeler ass um Ausgang. Wann dnsmasq guer näischt protokolléiert, gëtt d'Gäscht-Ufro um Agang verworf, an d'Ausnam gehéiert zu engem aneren Hook wéi deem, deen dësen Artikel markéiert.

Firwat eng accept-Regel an enger spéiderer Kette ni ausgeléist gëtt

Eng markbaséiert VPN-Firewall entscheet andeems se op d'Paketmark oder d'Verbindungsmark kuckt, net op deng Quelladress. Alles wat ouni déi erwaart Mark um physeschen Interface ukommt, gëtt ofgeleent, an déi Oflehnung geschitt an deem Regelsatz, deen den Marktest huet. Eng ip saddr 192.168.122.0/24 accept-Linn, déi enger spéiderer Kette bäigefüügt gëtt, gëtt fir dee Paket einfach ni consultéiert, dofir gesäit déi offensichtlech Regel richteg aus an ännert näischt.

Se esou breed maachen, bis eppes funktionéiert, ass déi zweet Fal. D'ganzt libvirt-Subnetz am Inputwee vum Host ze akzeptéieren, mécht all Host-Service fir Gäscht op, wou de richtege Bedarf een eenzegen Hafen ass.

De Mechanismus, deen eng schmuel Ausnam méiglech mécht, ass d'Verbindungsverfolgung. Wann s du ct mark op e Paket setz, gëtt de Wäert am conntrack-Andrág gespäichert an net just am Paket, sou datt all Paket vun där Verbindung en duerno dréit, inklusiv d'Äntwert vum Host zréck zum Gäscht. Dat ass deen Trick: markéier d'Ufro eng Kéier, an de Retourwee ass schonn markéiert.

Markéier d'Ufro éier d'VPN-Tabell se gesäit

Setz d'Ausnam an hir eegen Tabell, sou datt en spéidere Lieser se fënnt ouni d'VPN-Regelen ze analyséieren:

table inet allowedLocal {
  chain guest_dns {
    type filter hook input priority mangle; policy accept;
    ip saddr 192.168.122.0/24 meta l4proto { tcp, udp } \
      th dport 53 ct mark set 0x00000f41
  }
}

priority mangle ass negativ, wat dës Kette virun déi gewéinlech Filterketten setzt, déi de VPN-Paket bei Prioritéit null installéiert. D'Hook-Reiefolleg ass dat, wat d'Regel effektiv mécht; déi selwecht Regel an enger Kette, déi no der VPN-Kette sortéiert, ass Dekoratioun.

D'Marknummer selwer ass net portabel. Huelt de Wäert, deen déi installéiert VPN-Regelen fir hiren eegenen Trafic akzeptéieren, liest en aus dem liewegen Regelsatz a benotzt en. Eng falsch Mark produzéiert eng Regel, déi propper lued, mat all Ufro iwwereneestëmmt an näischt erluebt.

Halen de Lach esou breet wéi Hafen 53

Esou wéi et do steet, erlaabt dëst DNS vum libvirt-Subnetz zum Host iwwer TCP oder UDP Hafen 53 an näischt anescht. Et léisst d'Gäscht net baussent dem Tunnel an den Internet kommen, an et léisst den Host net Verbindungen a Richtung Gäscht opmaachen. Wann e Gäscht spéider en anere Host-Service brauch, füüg eng separat Regel bäi, déi dee Bestëmmungshafen nennt, amplaz dës hei ze lockeren.

Sief éierlech driwwer, wat s du ëmtausch. E Gäscht, deen en Resolver erreeche kann, kann och willkürlech Daten duerch DNS-Ufroe tunnelen, an dës Ausnam ass eng bewosst Lach an der VPN-Grenz, net eng Ausso, datt dat lokalt Netz vertrauenswierdeg ass. D'Quell op 192.168.122.0/24 ze beschränken hält d'Lach vu jidweder anerem lokale Subnetz fort, an d'Ufroe géint déi Quell ze zielen ass bëlleg, wann d'Gefor dir wichteg ass.

Looss et en Neistart iwwerliewe a beweis béid Hälften

Eng Regel, déi an enger Shell-Eingab getippt gëtt, verschwënnt beim nächsten Start, an eng Regel, déi geluede gëtt nodeems d'VPN-Interface schonn Trafic duerchléisst, verléiert d'Course bei der éischter Verbindung. Setz d'Tabell an d'persistent nftables-Konfiguratioun vum Host, oder an eng Unit, déi virum VPN-Service geordnet ass, a préift d'Reiefolleg amplaz se unzehuelen.

D'Verifikatioun brauch dräi getrennt Äntwerten. Bestätegt, datt d'Kette gelueden a fir d'éischt geordnet ass, bestätegt, datt den conntrack-Andrág d'Mark a béide Richtungen weist, a bestätegt, datt eng Gäscht-Sich eng Adress zréckkritt. Bestätegt dann déi aner Hallschent: gewéinlechen Web-Trafic vum Gäscht op en ëffentlechen Host schléit nach ëmmer feel, während den Tunnel erof oder blockéiert ass. Wann DNS funktionéiert an alles anescht leckt, ass deng Regel méi breet wéi déi hei uewen.

Wann d'Sichen after nach feel schloen nodeems d'Mark op hirem Platz ass, widdersteh der Versuchung d'Quell ze verbreeden. Préift wouhi dnsmasq weiderleet, ob de Resolver vum Gäscht op 192.168.122.1 oder op eng ëffentlech Adress weist, déi een ageit huet, an ob d'Ufro iwwerhaapt den Host erreecht. Markéieren erluebt de Paket an näischt anescht, also e schlechten Upstream oder en kaputt virtuelle Netz bleiwen kaputt egal wéivill Reegelen s du bäifügst.

Ähnlech Artikelen