Name los op na adresse, en daardie adresse kan in 'n vuurmuurversameling beland wat later routering beïnvloed, wat naamgebaseerde sturing sonder 'n proxy moontlik maak. Die vangs is dat vier komponente korrek moet oorhandig: die oplosser, die versameling, die klassifiseerder wat 'n nuwe vloei merk, en die eweknie wat dit dra. Elke oorhandiging faal anders en elkeen hou sy eie tyd.

Behandel die ontwerp as 'n ketting eerder as 'n konfigurasie. Die vraag by elke stap is watter komponent die besluit besit en wat gebeur wanneer sy insette ontbreek.

Wat die DNS-antwoord kan en nie kan doen nie

dnsmasq kan adresse uit antwoorde in 'n nftables-versameling kopieer, wat 'n voeding is eerder as 'n routeringsbesluit. Daardie opsie, gedokumenteer in die dnsmasq-handleiding, noem die familie, die tabel en die versameling, en sy voorste 4# kies slegs A-rekords, so v6-bestemmings het hul eie reëling nodig. Die versameling moet reeds bestaan, want die oplosser voeg elemente by iets wat die vuurmuureienaar geskep het. Niks in daardie stap kies 'n koppelvlak, 'n tabel of 'n eweknie nie.

Die kliënt moet ook daardie oplosser vir die naam gebruik. 'n Toepassing met sy eie geënkripteerde DNS, of 'n gekaste antwoord van voor die beleid bestaan het, verbind sonder om enige inskrywing in die versameling te skep.

Die versameling is 'n inset, nie 'n roete nie

'n Element in 'n versameling is 'n ooreenstemmingsvoorwaarde. Iets moet daarna kyk, besluit dat hierdie pakket 'n nuwe vloei begin, en die beleid toepas wat die vloei deur die tonnel stuur. Op Linux beteken dit gewoonlik 'n roete-vermoënde uitvoerpad wat 'n merk kan stel, 'n reël wat gemerkte pakkette na 'n toegewyde tabel stuur, en 'n roete in daardie tabel wat na die WireGuard-toestel wys. Lidmaatskap alleen installeer niks daarvan nie.

nft add set inet vpn_select office_v4 { type ipv4_addr\; }
ip rule add fwmark 0x40 table 200
ip route add default dev wg0 table 200
wg show wg0 allowed-ips

Die eweknie pas 'n tweede dekkingskontrole toe wat mense vergeet. WireGuard enkripteer 'n pakket slegs vir 'n eweknie wie se toegelate adresse die bestemming insluit, so 'n beleidsroete na die koppelvlak is nie genoeg wanneer die eweknie se lys daardie voorvoegsel uitsluit nie. Hou die lys onder die beheer van die routeringseienaar eerder as om te vertrou op watter roeteskepping die bestuurder ook al doen.

Merkers, tabelle en eweknie-dekking

Merkers is 'n gedeelde naamruimte, so beide die waarde en die masker moet met alles anders wat hulle gebruik, ooreengekom word. 'n Reël wat gemerkte verkeer na 'n toegewyde tabel stuur, het 'n bepaalde resultaat nodig wanneer daardie tabel geen ooreenstemmende roete het nie, want 'n onbeantwoorde opsoek kan na die volgende reël voortgaan en die pakket by die fisiese koppelvlak uitstuur. 'n Swartgat-verstek binne die toegewyde tabel verander daardie stille ontsnapping in 'n sigbare val. Wat die ontwerp steeds nie kan doen nie, is om toe te maak vir 'n bestemming wat nooit die versameling betree het nie.

Die tonnel se eie buitenste pakkette moet die klassifiseerder vryspring. WireGuard-gereedskap bied 'n sokmerk juis vir daardie doel, en die gebruik daarvan keer dat die enkapsulering teruggeroei word in die koppelvlak wat dit bou.

Toets elke leeftyd afsonderlik

Drie store verouder op drie skedules: die oplosser se kas, die versamelingselemente en die gevolgde verbinding. Toets hulle in daardie volgorde en kyk of elkeen beweeg wanneer dit moet. Die opdragte hieronder lees die oplosser, die versameling, die verbindingstabel en die beleidsreëls sonder om iets te verander.

dig +short office.example
nft list set inet vpn_select office_v4
conntrack -L -d 10.60.8.15
ip rule show

'n Vars opsoek wat 'n element byvoeg, bewys die voeding werk, terwyl 'n verouderde element wat sy antwoord oorleef 'n leeftydwanverhouding is wat die moeite werd is om neer te skryf. 'n Nuwe verbinding wat met die verwagte merk in die verbindingstabel verskyn, wys die klassifiseerder het geloop, en 'n ou verbinding wat sy oorspronklike merk hou, is korrekte gedrag eerder as 'n fout. Die reëllisting antwoord of die beleidsopsoek hoegenaamd bestaan, wat 'n ander vraag is as of dit ooreengestem het. Lees die vier uitsette in daardie volgorde en die falende oorhandiging identifiseer homself.

Waar die vereiste is dat 'n bepaalde naam altyd een pad gebruik, kan 'n DNS-gevoede versameling dit nie bewys nie, want gedeelde adresse dra ook ander name. 'n Proxy of 'n toepassingsvlak-meganisme is die instrument vir daardie waarborg.

Verwante artikels