WireGuard-peergroepe by die hub: bron-eienaarskap plus beleid
Hou peergroepe apart met noue bronadresse per peer en 'n deurvoerbeleid, sonder 'n aparte tonnelkoppelvlak vir elke groep.
'n Hub wat WireGuard gebruik, kan peergroepe apart hou sonder 'n aparte koppelvlak of roetertabel per groep. Twee meganismes doen die werk, en om hulle te verwar is die gewone rede waarom 'n beleid korrek lyk en niks doen. Een laag besluit wie 'n bronadres mag opeis. Die ander besluit waarheen daardie pakket mag gaan.
Twee take, apart gehou
Die tonnellaag beantwoord 'n nou vraag: het hierdie peer se sleutel hierdie binneste bronadres gemagtig. Die deurvoerlaag beantwoord 'n wyer een: mag hierdie pakket na daardie bestemming vertrek. Nie een beantwoord die ander se vraag nie, en nie een is op sigself 'n volledige toegangsbeleid nie.
Daardie skeiding is die rede waarom 'n peer geauthentiseer en korrek geadresseer kan wees en tog nie 'n gasheer kan bereik wat dit nie behoort te bereik nie. Dit verduidelik ook die omgekeerde: 'n brandmuurreel wat alles toelaat, bewys niks oor wie watter adres mag opeis nie.
Ontwerp die twee lae saam en toets dan albei. 'n Konfigurasie wat op een laag korrek en op die ander ongetoets is, faal oop of toe, afhangend van die verstekwaarde.
Gee elke peer net sy eie adres
Peers met veel gashere verlei jou om die hele groepsreeks aan die bedienerkant toe te ken. Daardie toestemming is 'n aanspraak op 'n bronadres, so 'n gekompromitteerde of verkeerd opgestelde kliënt kan enige adres in die reeks voorhou en die tonnel sal dit aanvaar. Ken 'n /32 per peer toe vir sy eie binneste adres. Stel groepsreekse net op die kliënte, waar hulle beskryf watter bestemmings daardie kliënt mag bereik eerder as watter bronne dit mag gebruik.
Die brandmuur pas dan op 'n bron toe wat dit kan vertrou. 'n Reël wat vir die groep se reeks geskryf is, bly 'n nuttige groepering, en dit word eers betekenisvol wanneer geen enkele peer 'n adres kan opeis wat aan 'n ander lid behoort nie.
Skryf die deurvoerbeleid wat groepe skei
Die interessante verkeer hier gaan by dieselfde tonnelkoppelvlak in en uit, so dit kruis die deurvoerpad eerder as die gasheer se invoerpad. Reëls hoort in die bestaande deurvoerketting van watter brandmuurbeheerder die gasheer ook al besit, en hulle is fragmente eerder as 'n volledige reëlstel.
iifname "wg0" oifname "wg0" ip saddr 10.66.10.0/24 ip daddr 10.66.10.0/24 accept iifname "wg0" oifname "wg0" ip saddr 10.66.20.0/24 ip daddr 10.66.20.0/24 accept iifname "wg0" oifname "wg0" drop
Die eerste twee reëls laat verkeer binne elke groep toe. Die laaste een blokkeer alles anders wat daardie koppelvlak kruis, en dit is wat isolasie tussen die groepe skep. Voeg eksplisiete reëls vir die ander adresfamilie by as jy dit nodig het, want 'n drop wat vir IPv4 geskryf is, magtig of beskryf nie IPv6-gedrag nie.
Orde bepaal of die beleid toegepas word
Reëlorde maak meer saak as die fragment self. 'n Generiese reël wat gevestigde verbindings aanvaar en voor hierdie inskrywings geplaas word, laat 'n ou kruisgroepvloei voortduur, so die isolasie geld net vir nuwe verbindings. Besluit watter van daardie twee uitkomste jy wil hê voordat jy herlaai.
'n Aanvaardingsuitspraak is ook nie altyd finaal oor kettings by dieselfde haak nie. As 'n ander basisketting later loop, is die doeltreffende beleid die kombinasie, so ondersoek die tellers eerder as die lêer wat jy geredigeer het. Tellers is die goedkoopste bewys wat beskikbaar is. 'n Reël met geen pakkettelling pas nie, en 'n reël wat pas terwyl 'n latere ketting aanvaar, sê vir jou die drop is op die verkeerde plek.
Toets die matriks, nie die lêertelling nie
Bou 'n klein matriks van verwagte resultate en kontroleer elke sel. Groep A na groep A behoort te werk, groep B na groep B behoort te werk, en A na B behoort nie, in albei rigtings en vir albei adresfamilies as jy hulle ondersteun.
nft list ruleset wg show wg0 allowed-ips ping -c 2 10.66.10.5 conntrack -L -s 10.66.20.7 2>/dev/null | head
Die eerste twee wys wat opgestel is. Die ping van 'n lid van die verkeerde groep wys wat werklik gebeur. Die conntrack-lys wys of 'n ouer vloei nog aanvaar word, en dit is hoe 'n isolasieverandering stil-stil in gebreke bly om in werking te tree.
Gasheerdienste op die hub en toegang tot 'n LAN agter dit is aparte paaie met aparte beleid. Teken aan watter van hulle die matriks dek, want 'n toets wat net peer-tot-peer-verkeer nagaan, sê niks oor enigeen van hulle nie.