Loop ng default na ruta ng WireGuard: hanapin ang landas ng endpoint
Ibinabalik ng default na ruta ang sariling naka-encrypt na mga packet ng tunnel sa loob nito. Basahin ang landas ng endpoint, magdagdag ng isang host route, pagkatapos ay i-verify at i-roll back.
Bumangon ang interface, mukhang tama ang configuration ng peer, at walang handshake ang natatapos kailanman. Ang pagdaragdag ng default na ruta sa tunnel ang hakbang na kadalasang nagdudulot nito: ang parehong talahanayan ng ruta ang nagpapasya na ngayon kung saan dapat pumunta ang sariling naka-encrypt na mga packet ng tunnel, at ang sagot na ginagawa nito ay bumabalik sa tunnel. Walang makakadala ng panlabas na packet na magdadala ng panloob, kaya humihinto ang koneksyon bago pa ito magsimula. Maliit ang pag-aayos, ngunit may pagkakasunod-sunod, at mas mahalaga ang pag-verify kaysa sa pag-edit.
Kumpirmahin ang loop bago baguhin ang isang ruta
Basahin ang kasalukuyang address ng endpoint ng peer at pagkatapos ay tanungin ang routing stack kung saan pupunta ang packet sa address na iyon. Kung pinangalanan ng sagot ang interface ng tunnel, kumpirmado ang loop at hindi na kailangan ng karagdagang diagnosis. I-save ang parehong output sa talaan ng pagbabago bago hawakan ang anuman, dahil ang paghahambing pagkatapos ng pag-aayos ay ang parehong dalawang utos. Ang loop ay hindi banayad kapag nakita na; ang kahirapan ay mukhang malusog ang interface habang nangyayari ito.
sudo wg show wg1 endpoints
ip route get 198.51.100.20
ip rule show
Isama ang mga patakaran ng patakaran sa pagkuha na iyon. Ang default na ruta na mukhang tama sa pangunahing talahanayan ay maaari pa ring matalo sa isang patakaran na pumipili ng ibang talahanayan para sa may marka o walang markang trapiko, at muling lilitaw ang loop na may talahanayan ng ruta na mukhang maayos.
Basahin ang landas ng endpoint, hindi ang landas ng tunnel
Ang landas ng endpoint ay ang rutang tinatahak ng naka-encrypt na datagram patungo sa pampublikong address ng peer, at dapat itong manatili sa labas ng tunnel hangga't umiiral ang tunnel. Ang landas ng tunnel ay lahat ng pinapayagang dalhin ng peer. Ang dalawang landas na ito ay nagbabahagi ng isang talahanayan ng ruta, at iyon ang eksaktong dahilan kung bakit ang isang catch-all na entry ay maaaring magpaguho sa kanila sa isa't isa. Ang paghihiwalay ng trapiko ng tunnel mula sa sariling transportasyon ng tunnel ang buong problema sa disenyo, at bawat sinusuportahang tool ay nilulutas ito nang bahagyang iba sa isang lugar.
Suriin ang parehong pamilya ng address nang hiwalay kung dinadala ng interface ang pareho. Ang gumaganang pagbubukod ng IPv4 ay walang sinasabi tungkol sa kung maaabot pa ang endpoint ng IPv6, at ang pinaghalong configuration ay maaaring mukhang gumagana hanggang sa mapili ang address ng IPv6 ng peer.
Ibalik ang landas ng endpoint sa isang magkakaugnay na pagbabago
Mayroong dalawang sinusuportahang diskarte, at ang paghahalo sa kanila ang paraan ng pagiging hindi mahuhulaan ng gumaganang setup. Ang una ay hayaang ang tool na nagmamay-ari ng interface ang mangasiwa sa buong tunnel: wg-quick may nakalaang paghawak para sa default na hanay ng peer na nag-i-install ng hiwalay na talahanayan, mga patakaran ng patakaran at marka ng socket, na nagpapanatili sa mga panlabas na packet sa labas ng tunnel. Iwanan ang makinaryang iyon na buo sa halip na muling gawin ang kalahati nito sa pamamagitan ng kamay. Ang setup na naghahalo ng manu-manong idinagdag na default sa isang manager na nag-i-install na ng mga marka at patakaran ay may tendensiyang mabigo pagkatapos ng muling pagkonekta, kapag isinulat muli ng manager ang estado na ipinapalagay ng manu-manong hakbang.
Ang pangalawa ay manu-manong disenyo kung saan nakakakuha ang endpoint ng tahasang host route sa pamamagitan ng pisikal na gateway. Idagdag ang rutang iyon bago ang default, palitan sa halip na magdagdag upang hindi manalo ang lumang entry, at kumpirmahin ang paghahanap pagkatapos.
sudo ip route replace 198.51.100.20/32 via 192.0.2.1 dev eth0
ip route get 198.51.100.20
sudo ip route add default dev wg1
I-verify, pagkatapos ay panatilihin ang daan pabalik
Ang timestamp ng handshake na sumusulong ang unang patunay, at ito ay mas malakas kaysa sa isang interface na umiiral lamang. Sundan ito ng pagsubok ng application sa tunnel, pagkatapos ay sadyang ibaba ang interface at kumpirmahin na bumabalik ang host sa magagamit na estado sa halip na hawakan ang isang default na ruta na tumuturo sa wala. Ang huling hakbang na iyon ang nilalaktawan ng mga tao, at iyon ang nagpapasya kung ang isang reboot ay mag-iiwan sa makina na walang koneksyon.
sudo wg show wg1 latest-handshakes
sudo wg-quick down wg1
ip route show default
ip route get 198.51.100.20
Bago ang lahat ng ito, i-save ang kasalukuyang estado ng routing at tiyakin na mayroong daan ng pagpasok na hindi umaasa sa tunnel: isang console, isang out-of-band management address o isang kasamahan sa site. Ang isang remote na makina na nawalan ng default na ruta ay hindi mababawi sa koneksyong kararaang nawala, at ang pinakaligtas na hakbang sa runbook ay ang ginawa bago ang unang utos.