Handshake ya WireGuard inafanya kazi, lakini subnet ya ofisi haijibu
WireGuard inafanya kazi na inaping server, lakini hakuna kitu kwenye LAN yake kinachojibu. Angalia kiambishi cha mteja, uelekezaji wa server na njia ya jibu.
Handshake inakamilika, wg show inaripoti usafirishaji wa hivi karibuni, na anwani ya handaki ya server inajibu ping. Mwenyeji kwenye LAN ya server hajibu. Masharti matatu lazima yatimizwe kwa wakati mmoja: mteja lazima aelekeze kiambishi cha LAN kwenye handaki, server lazima isambaze pakiti, na jibu linahitaji njia ya kurudi. Moja kati ya matatu ikikosekana, dalili ni sawa.
AllowedIPs ni orodha ya ufikiaji na jedwali la uelekezaji kwa wakati mmoja
Kwa mteja, orodha AllowedIPs huamua kile kinachoweza kutumwa kwa mwenzake huyo na njia zipi WireGuard inasakinisha. Kipengele cha mwenzake kinachoorodhesha anwani ya handaki ya server pekee husakinisha njia moja ya mwenyeji, kwa hivyo maeneo ya LAN hayapiti kamwe kwenye handaki. Kuongeza kiambishi cha LAN ni jambo la kwanza la kuhakiki, na pia ni mabadiliko yanayokosekana mara nyingi baada ya usanidi ulionakiliwa. Mwenzake aliyepanuliwa hadi njia chaguo-msingi ni muundo tofauti, na utahamisha pia trafiki ya intaneti ya mteja.
Tunza njia ya mwenyeji na kiambishi cha LAN kama vipengele tofauti. Ikiwa ofisi ina subnet mbili, zote mbili zinastahili kuwa kwenye orodha, na kiambishi cha pili kinachokosekana huleta hitilafu inayoonekana kuchagua badala ya kamili.
[Peer] PublicKey = <server public key> Endpoint = vpn.example.net:51820 AllowedIPs = 10.66.0.1/32, 192.168.50.0/24
Usambazaji na tafsiri ni za server
Server inahitaji usambazaji wa IP umewezeshwa, kanuni ya usambazaji inayokubali trafiki inayotoka kwenye handaki, na kanuni ya tafsiri kuelekea kiolesura chake cha LAN. Tafsiri ndiyo inayofanya muundo ufanye kazi bila kugusa kila mwenyeji kwenye mtandao wa ofisi. Ndipo majibu yanarudi kwa server badala ya anwani ambayo LAN haijasikia kamwe. Bila hiyo, kila mwenyeji anahitaji njia ya subnet ya handaki na kanuni ya firewall inayoiruhusu, jambo ambalo mara chache hukubalika kwenye mtandao unaosimamiwa na mtu mwingine.
sysctl -w net.ipv4.ip_forward=1 iptables -A FORWARD -i wg0 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Kanuni zinazoongezwa kwa mkono hupotea wakati wa kuwasha upya, kwa hivyo zifunge kwenye kiolesura kwa amri za hook kwenye usanidi wa server. Seti ya kanuni inayoishi muda mrefu kuliko kiolesura chake ndiyo njia ambayo mashine huishia kutafsiri trafiki kwa handaki ambalo halipo tena.
Wakati LAN ilihama na kanuni haikuhama
Kubadilisha router inayopanga upya nambari za subnet ya ofisi ni toleo la kawaida la hitilafu hii. Handaki linabaki hai, handshake inabaki mbichi, na hakuna kitu nyuma ya server kinachojibu, kwa sababu kanuni ya tafsiri bado inataja anwani ya zamani. Skripti za usakinishaji mara nyingi huweka anwani ya LAN ya server kwenye kanuni ya POSTROUTING, na baada ya kupanga upya nambari anwani hiyo haipo kwenye kiolesura chochote. Pakiti hukaririwa upya kuelekea mahali ambapo hapaweza kujibu.
iptables -t nat -n -L POSTROUTING ip -br addr show
Linganisha matokeo mawili. Lengo la tafsiri lisiloonekana kwenye orodha ya violezo ni hitilafu, na kuirekebisha ni mabadiliko ya mstari mmoja mara tu unapoliona. Kanuni inaweza kuwa kwenye unit iliyozalishwa badala ya usanidi wa WireGuard, kwa hivyo pakia upya unit hiyo baada ya kuhariri na uthibitisha kwamba kuwasha upya kunakofuata hakuandiki upya mabadiliko yako.
Maeneo mawili nyuma ya NAT yanahitaji mahali pa kukutana
Wakati hakuna upande unaokubali miunganisho inayoingia, jibu la vitendo ni mwenyeji mdogo mwenye anwani ya umma na violesura viwili vya WireGuard. Kila eneo linaunganisha kuelekea nje, mwenyeji wa kati huorodhesha LAN ya kila mwenzake kwenye AllowedIPs, yaani orodha yake, na usambazaji hubeba pakiti kati ya handaki mbili. Hakuna kitu kwenye firewall ya eneo lolote linahitaji kubadilika, ndiyo sababu muundo huu huenea kwa urahisi.
Uelekezaji kati ya maeneo huhifadhi anwani asili za chanzo na kwa hivyo hufanya uwekaji kumbukumbu kwa kila mwenyeji uwe na maana. Tafsiri kwenye mwenyeji wa kati ni rahisi zaidi wakati LAN mbili zinapishana, lakini kwa gharama ya kupoteza utambulisho wa chanzo kwenye kumbukumbu. Amua ni sifa gani iliyo muhimu kabla ya kuchagua.
Tenganisha tabaka kwa ukaguzi nne
Fanya ukaguzi mmoja kwa tabaka badala ya kubadilisha vitu vitatu na kutumaini. Wa kwanza unaonyesha umri wa handshake na vihesabu kwa kila mwenzake. Wa pili unaonyesha kama mteja anaelekeza lengo hilo kwenye handaki kweli. Wa tatu na wa nne wanakuambia kama ombi lilifika na kama sera fulani iliilitupa baada ya kufika.
wg show ip route get 192.168.50.20 tcpdump -ni wg0 icmp iptables -vnL FORWARD --line-numbers
Ombi linalofika na halileti jibu linaelekeza kwenye njia ya jibu au mwenyeji wa LAN. Ombi lisilofika kamwe linaelekeza kwenye AllowedIPs au njia ya mteja. Matokeo haya mawili yanahitaji marekebisho tofauti, na ukamataji ndio unaowatenganisha.