Kumokonekta ang dalawang tunnel, naaabot ng bawat kliyente ang gateway, at sa sandaling subukan ng isa ang address ng isa pa, nawawala ang mga packet. Walang mali sa alinman sa dalawang handshake, at walang dami ng muling pag-isyu ng mga key ang makakabago nito. Nagdadala ang gateway ng mga ordinaryong hindi naka-encrypt na packet ng IP sa pagitan ng dalawa sa sarili nitong interface, kaya hindi kailanman kailangang magkaintindihan ng mga protocol; ang kailangan nila ay tatlong bagay na hindi ibinibigay ng anumang handshake. Saklaw ng destinasyon sa pinagmulang kliyente, pagmamay-ari ng pinagmulan sa gateway at pabalik na landas sa kabilang dulo. Pareho ang sintomas sa tatlo, kaya sabay silang dinidyagnos.

Kulang ang sintomas ng isang piraso sa isang pagkakataon

Gumagamit ang disenyong ito ng pool ng WireGuard 10.71.0.0/24 sa wg1 at pool ng OpenVPN 10.72.0.0/24 sa tun1, parehong nagtatapos sa isang gateway. Ang kahilingang sinusubok ay dumadaan mula 10.71.0.5 patungong HTTPS sa 10.72.0.30. Ang bawat hakbang sa ibaba ay tungkol sa nag-iisang daloy na iyon. May iba't ibang lagda ng pagkabigo ang bawat pagsusuri kahit pareho ang karanasan ng gumagamit, at karaniwang isa lang sa tatlo ang kulang sa isang pagkakataon.

Magsimula sa pagkumpirma na ang dalawang pool ay talagang nasa gateway na ito at naka-on ang pagpapasa sa namespace kung saan nakatira ang mga tunnel. Ang gateway na nagtatapos sa dalawang protocol sa magkaibang namespace ay walang ipinapasa sa pagitan nila, at sulit itong ibukod bago magbasa ng anumang configuration ng peer.

Palawakin ang saklaw ng destinasyon ng spoke

Sa kliyenteng WireGuard, kailangang piliin ng umiiral na entry ng peer ang gateway para sa destinasyong OpenVPN, ibig sabihin kailangang lumitaw ang prefix ng destinasyon sa pinapayagang listahan ng peer na iyon. Ang pagdaragdag nito ay hindi gumagawa ng pangalawang tunnel; binabago nito kung aling peer ang pipiliin ng kliyente kapag hinahanap ang address na iyon, at sa wg-quick karaniwang awtomatikong sinusunod ng ruta ang listahan.

AllowedIPs = 10.71.0.0/24, 10.72.0.0/24

Iwanang hindi ginalaw ang tunay na mga linya ng key at endpoint, at tandaan na ang tagapamahala na gumagamit ng Table = off ay hindi kumukuha ng anumang ruta mula sa listahang ito. Sa ganoong kaso ang parehong prefix ay kailangang i-install sa talahanayan ng ruta ng sistema ng nagmamay-ari nito, at ang kulang na ruta doon ay mukhang eksaktong kulang na pinapayagang prefix.

Panatilihin ang pagmamay-ari ng pinagmulan sa gateway

Ang entry ng peer ng kliyenteng ito sa gateway ay dapat patuloy na magmay-ari ng eksaktong address ng pinagmulan ng kliyenteng iyon. Sinusuri ang mga pinapayagang address sa dalawang direksyon: pumipili sila ng peer para sa papalabas na trapiko at pinapatunayan nilang ang pinagmulan ng papasok na packet ay pag-aari ng peer na nagpadala nito. Ang paglalagay ng pool ng OpenVPN sa entry ng spoke dahil gustong maabot ito ng spoke ay ang pagkakamaling nagtutulak ng trapiko sa maling kalahok.

AllowedIPs = 10.71.0.5/32

Basahin ang entry na iyon bilang pahayag ng pagmamay-ari at hindi bilang kaginhawahan ng routing. Ang iba pang kailangang maabot ng kliyente ay kabilang sa listahan ng destinasyon ng kliyente, hindi sa palagay ng gateway kung ano ang pinapayagang ipadala ng peer na ito.

Bigyan ang panig ng OpenVPN ng pabalik na ruta

Kailangan na ngayon ng destinasyon ng rutang pabalik sa pinagmulan ng WireGuard, at para sa mga kliyente ng pool karaniwang dumarating ito bilang rutang itinutulak mula sa server ng OpenVPN. Itulak lamang ito sa mga kliyenteng dapat magkaroon nito, at kumpirmahin sa kliyente na tinanggap ito sa halip na ipagpalagay na inilapat ang direktiba.

push "route 10.71.0.0 255.255.255.0"

Ang pamamahagi ng ruta ay hindi awtorisasyon. Kapag ang destinasyon ay nasa likod ng isa pang kliyenteng OpenVPN sa halip na nasa pool, ang pagmamay-ari ng sariling LAN ng kliyenteng iyon at ang mga pangangailangan nito sa pagpapasa ay sumasama sa disenyo, at ang itinulak na ruta ay kalahati lamang. Isulat muli ang pangangailangan bilang graph bago magdagdag ng mga direktiba: aling node ang may-ari ng aling prefix, at aling node ang nagpapasa patungo rito.

Payagan lamang ang nag-iisang serbisyong nilayon mong payagan

Kapag naka-on ang pagpapasa at ang dalawang pool ay naruruta, ang natitirang tanong ay patakaran. Isulat ang tuntunin para sa konkretong daloy at hindi para sa pares ng interface sa pangkalahatan, i-preview ito bago ilapat, at panatilihin ang pabalik na landas na may estado upang ang mga sagot ay hindi maharang bilang bagong koneksyon. Walang gastos ang tuyong pagtakbo at eksaktong ipinapakita kung ano ang idadagdag.

sudo ufw --dry-run route allow in on wg1 out on tun1 proto tcp from 10.71.0.5 to 10.72.0.30 port 443

Ito ay mga tuntunin para sa ipinasang trapiko, hiwalay sa mga tuntunin sa pakikinig ng gateway para sa dalawang serbisyo ng VPN. Ang pagbukas ng panlabas na port ng UDP ay hindi nagbibigay ng awtorisasyon sa panloob na kahilingan, at ang pagbibigay ng awtorisasyon sa panloob na kahilingan ay hindi nangangailangan ng walang limitasyong SSH sa gateway o default na pahintulot sa pagpapasa. Kailangan ding magtugma ang firewall ng destinasyon mismo at ang address ng pakikinig, dahil ang serbisyong nakakabit sa loopback ay tumatanggi kahit sa pinakaingat na ruta ng packet. Ang patakarang sumasaklaw lamang sa isang direksyon ng usapan ay karaniwang nabibigo sa matagumpay na kahilingan at tahimik na sagot, na siyang pinakakalito sa tatlong resulta.

Ang katumbas na ruta ay karaniwang ibig sabihin na hindi kailangan ang pagsasalin ng pinagmulan, na nagtatago ng address ng WireGuard sa destinasyon at nagpapabasa ng mga log. Huwag magdagdag ng pangkalahatang masquerading dahil may dalawang protocol na kasangkot, at huwag alisin ang umiiral na tuntunin ng pagsasalin nang hindi alam kung ano ang nakasalalay dito. Pagkatapos i-verify ang nag-iisang daloy mula simula hanggang dulo, at subukan din ang isang ipinagbabawal na pinagmulan o port: ang handshakeng gumagana sa bawat panig ay hindi nagpapatunay sa crossed na ruta ni sa paghihiwalay.

Kaugnay na mga artikulo