WireGuard-klient loob ühenduse ja pingib aadressi täiesti teisel liidesel ning vastus saabub. Salvestused näitavad päringut ainult tunnelis. Miski ei ole katki ja hoolikalt välja lülitatud edastusseadisel ei ole sellega mingit pistmist. See on võrdlus kahe tee vahel, mis näevad diagrammil sarnased välja ja on kernelis täiesti erinevad.

Üks tee edastab pakette kellegi teise eest; teine toimetab need hosti enda kätte.

Hostile adresseeritud pakett jääb hosti

Kaugklient saadab IP-paketi aadressile, mida host omab. Marsruutimine küsib selle paketi kohta ühe küsimuse: kas see sihtkoht on kohalik? Iga aadress, mida host hoiab, ilmub kohalikku marsruutimistabelisse ja seda tabelit vaadatakse enne peamist, seega läheb pakett hosti enda virna, selle asemel et väljuda teise liidese kaudu. Vastus genereeritakse kohapeal ja see reisib tunnelist tagasi, sest sealt päring tuli.

See ongi kogu mehhanism. Edastamist ei toimu, liidese oleku muutus ei osale ja kõnealune aadress ei pea olema mujalt kättesaadav.

Miks ip_forward ei kehti

Edastamine juhlb pakette, mis peavad väljuma teise liidese kaudu kui see, millel need saabusid. Ping hosti enda vastu ei lähe kunagi seda teed: pakett tarbitakse kohapeal ja vastus genereeritakse kohapeal. Seetõttu ei muuda net.ipv4.ip_forward=0 seadistamine siin midagi ja edastusahela reegel ei näe seda liiklust kunagi. Õige kontroll asub sisendteel, piiratud sissetuleva liidese või allikaga.

Seepärast tekitab edastamise väljalülitamine ja eeldus, et host on isoleeritud, vale turvatunde.

Lugege kohalikku tabelit, mis otsustas

ip rule show teatab tavaliselt nullpriooriteediga reeglist, mis saadab kõik otsingud esmalt kohalikku tabelisse, ja ip route show table local loetleb hosti enda aadressid kohaliku ulatusega. See tabel sisaldab aadresse liidestel, mis on administratiivselt väljas, kuid veel konfigureeritud. Staatiliselt määratud IPv4-aadressid jäävad tavaliselt lingi katkemisele vastu ja nii võib ping väljalülitatud sillale ikkagi õnnestuda ning operaatorit üllatada.

IPv6 on just selles punktis eriarvamusel. Selle aadressid võetakse lingi katkemisel tavaliselt tagasi, välja arvatud juhul, kui keep_addr_on_down on seatud. Võrrelge perekondi, selle asemel et eeldada, et üks reegel katab mõlemad.

Mida vastaspool tegelikult saavutab

Vastus ruuteri enda aadressilt segmendis ei ütle midagi selle segmendi taga olevate masinate kohta. Vastaspool ei pääse selle tee kaudu teise liidese taga olevale hostile; ta jõuab ainult aadressidele, mida ruuter ise omab. Teenuse testimine eraldi LAN-hostil, mitte ruuteri aadressi pingimine, on see, mis teeb kindlaks, kas edastamine on üldse lubatud.

Vastaspoole piiramine tunneliaadressiga seotud teenustega on sisendpoliitika küsimus. Lubage soovitud teenus tunneli liidesel ja piirake allikaid, mis tohivad seda kasutada, sest pakett tõesti saabub sinna.

Kontrollige ka aadresse, mille kavatsesite kasutusest välja viia. Aadressi liideselt eemaldamine on usaldusväärsem kui tulemüürireeglite kuhjamine vananenud aadressi peale.

Seotud artiklid