Štyri veci sa musia zladiť, kým linuxový hostiteľ začne posielať cez tunel iba svoj SMTP: trasa vo vyhradenej tabuľke, pravidlo politiky, ktoré vyberá prevádzku, zdrojová adresa, ktorú peer prijme, a spätná cesta, ktorá prežije asymetriu. Každá je samostatná konfigurácia s vlastným režimom zlyhania. Poradie nižšie spôsobuje, že zlyhanie ukazuje na časť, ktorá je skutočne nesprávna. Je to práca so smerovaním špecifická pre port, nie žiadosť o predvolenú trasu VPN.

Pravidlo portu nie je predvolená trasa

Pravidlo, ktoré spája lokálne vytvorené TCP s cieľovým portom 25, posiela túto prevádzku do tabuľky, ktorú pomenujete. Pravidlo samo o sebe nič nevytvára: vyberá, a tabuľka musí obsahovať trasu, ktorá dokáže preniesť paket. Kombinácia oboch pokrýva len odchádzajúci smer jedného protokolu, takže preposielanie pre iných hostiteľov, prichádzajúce poštové spojenia a IPv6 zostávajú mimo tohto usporiadania. Nazvať to politikou špecifickou pre port namiesto predvoleného nastavenia VPN udržiava túto hranicu čestnú.

Dve nastavenia wg-quick sú predpoklady, nie súčasť politiky. AllowedIPs = 0.0.0.0/0 umožňuje peerovi niesť ľubovoľné ciele IPv4 a Table = off bráni wg-quick nainštalovať vlastnú predvolenú trasu pre tento prefix. Nemiešajte tieto pokyny so správcom, ktorý uplatňuje vlastnú politiku trás, pretože sa nezhodnú na tom, komu patrí hlavná tabuľka.

Napíšte trasu, selektor a stráž

Vyberte číslo tabuľky a dvojicu priorít, ktoré nič iné nepoužíva, a potom v tomto poradí použite trasu, selektor a stráž. Čísla nižšie sú príklady, nie rezervované hodnoty:

ip -4 route add default dev wg0 src 10.77.0.2 table 51825
ip -4 rule add priority 10000 iif lo ipproto tcp dport 25 lookup 51825
ip -4 rule add priority 10001 iif lo ipproto tcp dport 25 unreachable

iif lo obmedzuje pravidlo na prevádzku lokálneho pôvodu a ipproto tcp dport 25 určuje smer spojenia; referencia ip-rule dokumentuje oba selektory. Existujú v súčasných jadrách a vydaniach iproute2 a na staršom systéme je pravidlo rovno odmietnuté, čo je jasnejšie zlyhanie než pravidlo, ktoré sa načíta a na nič nepasuje.

Pravidlo unreachable na ďalšej priorite je stráž. Bez neho chýbajúca trasa v tabuľke 51825 prepadne na bežnú predvolenú trasu a pošta počas výpadku tunela odíde cez fyzické rozhranie, čo je presne prípad, ktorému mala politika zabrániť.

Zdrojová adresa sa musí zhodovať

Preferencia src trasy iba doplní zdroj pre spojenia, ktoré si žiadny neviazali. Nie je to preklad a neprepisuje výslovné naviazanie, takže démon naviazaný na fyzickú adresu ďalej odosiela z tejto adresy. Ak nájdete práve toto, zmeňte nastavenie samotného démona alebo navrhnite zámernú politiku prekladu, pretože neskorý plošný masquerade je iné riešenie s inými dôsledkami.

Na bráne musí peer klienta autorizovať zdroj, ktorý skutočne prijíma, teda 10.77.0.2/32, nie široký cieľový prefix. Kopírovanie klientského 0.0.0.0/0 do každého peera brány zamieňa, ktorý peer vlastní ktorú prevádzku. Brána tiež potrebuje preposielanie, politiku firewallu, ktorá povoľuje tok, a spätnú cestu vrátane výstupného prekladu, keď nadradená strana nedokáže smerovať privátnu adresu tunela.

Skontrolujte spätnú cestu, potom trvácnsť

Prečítajte si vyhľadania, kým niečomu uveríte, pretože ukazujú, ktorú tabuľku a ktorý zdroj dostane každý smer. Jeden cieľ na porte 25 a ten istý cieľ na porte 443 stačia:

ip -4 route get 198.51.100.25 ipproto tcp dport 25
ip -4 route get 198.51.100.25 ipproto tcp dport 443

Prvé vyhľadanie by malo uviesť wg0 a zamýšľaný zdroj a druhé by malo zachovať bežné odchádzajúce pripojenie. Keď aplikácia naviaže vlastnú adresu, pridajte do vyhľadania from s touto adresou. Smer odpovede, ktorý sa dostane na wg0 a potom je lokálne zahodený, ukazuje na filtrovanie spätnej cesty IPv4, pretože pravidlo len pre odchádzajúci port neprinúti spätné vyhľadanie vybrať tunel.

Tam, kde je asymetrické smerovanie povolené, môže byť vhodný voľný režim obmedzený na rozhranie cez net.ipv4.conf.wg0.rp_filter=2, a najprv sa oplatí skontrolovať efektívne maximum hodnôt all a rozhrania. Nevypínajte overovanie globálne ako skratku. Potom odovzdajte tabuľku, priority a stráž tomu, kto vlastní konfiguráciu, a po opätovnom pripojení otvorte nové spojenia, aby ste potvrdili, že voľba stále drží. Majte na pamäti, že odpovede lokálneho poslucháča SMTP nesú zdrojový port 25, nie cieľový port 25, čo je samostatná otázka politiky.

Súvisiace články