WireGuard: dalawang kalahating ruta laban sa 0.0.0.0/0 sa wg-quick
Dalawang saklaw ng /1 ang sumasaklaw sa parehong mga address gaya ng /0, ngunit iba ang pagruruta ng wg-quick sa mga ito. Suriin ang mga patakaran sa polisiya, marka at landas ng dulo bago mag-edit.
Dalawang prefix na /1 ang sumasaklaw nang eksakto sa parehong mga address na IPv4 gaya ng isang /0, at ang pagkakapantay-pantay na iyon ay may bisa lamang sa loob ng listahan ng pinapayagang prefix ng peer. Tumitigil itong may bisa sa sandaling magpasya ang kasangkapan sa pag-setup kung paano iruruta, dahil itinuturing ng Linux wg-quick ang default na prefix bilang espesyal na kaso at hindi bilang aritmetika. Ang espesyal na sangay ay naglalagay ng nakalaang talahanayan, dalawang patakaran sa polisiya, isang marka ng socket at mga setting ng pabalik na landas na hindi nakukuha ng isang pares ng kalahating ruta. Kaya kapag huminto ang isang proxy o browser sa paggana pagkatapos ng pag-edit, ang mga prefix ang pinakamababang kawili-wiling bahagi ng pagbabago.
Ang listahan ng prefix ay hindi ang buong konfigurasyon
AllowedIPs ay gumagawa ng dalawang trabaho nang sabay, at isa lamang sa mga ito ang tungkol sa saklaw. Para sa WireGuard mismo ang listahan ay pagruruta ng crypto key: pinagpapasyahan nito kung aling mga destinasyon ang naka-encrypt patungo sa isang peer at kung aling mga source address ang maaaring gamitin ng peer na iyon. Para sa wg-quick ang parehong listahan ay nagsisilbi ring spesipikasyon ng ruta, at ang rutang nalilikha nito ay nakasalalay sa kung aling sangay ang nagkataong tinutugma ng listahan. Kaya ang magkatulad na saklaw sa dalawang magkaibang hugis ng listahan ay walang sinasabi tungkol sa magkatulad na kalagayan ng host.
Inaalis ng default na konfigurasyon ang pasyang iyon sa iyong mga kamay, dahil ang Table ay awtomatiko bilang default at ang kasangkapan mismo ang pumipili kung saan tutunog ang mga ruta. Ang ibang tagapamahala ng network, isang pambalot ng distribusyon o isang pasadyang halaga ng Table ay binabago muli ang resulta, kaya ang payong isinulat para sa isang host ay maaaring magmukhang mali sa susunod.
Ano ang idinadagdag ng default na sangay bukod sa isang ruta
Ang isang entry na /0 ay nagpapadala ng wg-quick sa landas ng default na ruta nito: isang hiwalay na talahanayan ng pagruruta ang tumatanggap ng default, isang patakaran sa polisiya ang nagpapadala doon ng trapikong walang marka, ang ikalawang patakaran ay nagpapanatili sa mas tiyak na mga ruta ng pangunahing talahanayan bilang may awtoridad, at ang interface ay tumatanggap ng marka ng firewall sa sarili nitong socket. Ang markang iyon ang bantay ng loop. Ang mga naka-encrypt na datagram na nagdadala ng trapiko ng tunnel ay lumalabas na may nakatakdang marka, upang ang patakarang nagtuturo sa lahat ng iba pa papasok sa tunnel ay hindi lumunok ng sariling mga pakete ng transportasyon ng tunnel.
Sa halip, ang isang pares ng entry na /1 ay tumatahak sa ordinaryong landas ng ruta. Dalawang ruta ang tumutunog sa naka-konfigurang talahanayan, at wala sa mga makinarya sa paligid ang lumilitaw, hindi dahil ito ay walang gamit kundi dahil hindi kailanman pinasok ang landas ng code na iyon.
Saan naghihiwalay ang dalawang kaayusan
Ang pagkakaiba ay unang lumilitaw bilang rekursyon. Kapag ang kalahating ruta ay nasa pangunahing talahanayan, ang sariling address ng transportasyon ng peer ay nahuhulog sa loob ng isang prefix ng tunnel, kaya ang paketeng dapat magdala ng tunnel ay tumutugma sa isang rutang tumuturo papasok sa tunnel. May kailangang magpawalang-bisa nito: isang ruta ng host para sa kasalukuyang dulo, isang markang inilapat sa kamay o isang patakarang partikular sa interface. Gumagana ang ruta ng host hanggang sa magbago ang address ng dulo, na nangyayari sa mga dulong nakabatay sa DNS, mga kliyenteng gumagala at mga konfigurasyong may maraming peer.
Pangalawa, binabago ng lahat ng nangangatwiran tungkol sa marka ang pag-uugali. Ang isang transparent na proxy na lokal na nagre-redirect ng mga koneksyon ay lumilikha ng mga bagong socket na ang marka at pinagmulan ay naiiba sa orihinal na daloy ng kliyente, at ang mga patakaran sa polisiyang nililikha ng default na sangay ay bahagi ng naghiwalay sa mga daloy na iyon. Ang pagbasa sa sariling palabas na koneksyon ng proxy ay ibang pagsasanay kaysa sa pagsubok kung maabot ang orihinal na destinasyon.
Basahin ang mga patakaran at marka bago mag-edit
Kunin ang kasalukuyang kalagayan habang malusog ang tunnel, pagkatapos muli pagkatapos ng pagbabago, at ihambing ang dalawang dump sa halip na mangatwiran mula sa file ng konfigurasyon. Isama ang mga patakaran sa polisiya, bawat talahanayan, ang marka ng interface at ang mga naitalang dulo.
ip rule show
ip -4 route show table all | grep -E 'default|wg1'
wg show wg1 fwmark
wg show wg1 endpoints
Kung ang unang linya ng output ay nawalan ng patakaran para sa trapikong walang marka at ang nakalaang talahanayan ay walang laman, hindi tumatakbo ang default na sangay at walang aritmetika ng prefix ang magbabalik ng mga epekto nito. Ang markang sero sa isang interface na dating may marka ay parehong senyales, nakikita sa isang halaga.
Sanayin ang pagkawala ng tunnel bago ilabas
Kung ang kaayusan ng kalahating ruta ang sinadyang pagpili, kailangan nitong ibigay nang tahasan ang mga kulang na bahagi: isang landas ng dulo na nakakaligtas sa pagbabago ng address, ang inilaang pag-uugali kapag bumagsak ang tunnel at ang katumbas na pagtrato para sa IPv6. Isulat ang mga ito bilang mga pangangailangan sa halip na tuklasin ang mga ito sa gitna ng pagkagambala. Pagkatapos sanayin ang pagpalya, dahil ang isang buong tunnel na tahimik na bumabalik sa pisikal na uplink ay mas masama kaysa sa isang humihinto sa paggana.
sudo ip -4 route add 198.51.100.20/32 via 192.0.2.1 dev eth0
ip -4 route get 198.51.100.20
sudo wg-quick down wg1
Dapat lutasin ng paghahanap ng ruta ang dulo mula sa pisikal na interface nang hindi tumatawid sa tunnel, at ang pagbaba ng interface ay dapat mag-iwan sa host sa kalagayang ipinangako ng disenyo. Ang isang proxy na gumagana pagkatapos ng pagpapalit ay nagpapatunay na mahalaga ang nabuong kalagayan ng host; hindi nito pinatutunayan na ang pag-iwas sa loop at pag-uugali sa nakababang kalagayan ay nakaligtas sa pag-edit.