Odpravite konflikt lokalnega naslova IP po povezavi z VPN
Dvojnik je lahko v vašem omrežju LAN, izvira iz prekrivajočega se oddaljenega obsega ali pa ga je bazen tunela razdelil dvakrat. Preizkusite, preden preštevilčite.
Vsa ta poročila zvenijo enako in pomenijo nekaj drugega: prenosnik se pritožuje zaradi konflikta naslova, a le včasih in večinoma med delovanjem VPN. Tri ločene okvare ustvarijo to sporočilo: resnični dvojnik na vaši lastni povezavi, prekrivanje, kjer oddaljeno omrežje uporablja vaš obseg LAN in ni nič podvojeno, ter tunel, ki je en naslov dodelil dvema peerjema. Popravilo se v vsakem primeru razlikuje, napačno pa premakne simptom, namesto da bi ga odstranilo. Zato se odločite, kateri primer imate, preden karkoli spremenite.
Tri okvare z enim sporočilom o napaki
Dvojnik pomeni, da si dva računalnika v istem segmentu lastita en naslov. Jedro to opazi, ker odgovor na njegovo lastno sondo pride z drugega naslova MAC, in kaj se zgodi naprej, je odvisno od sklada: Linux to zapiše v dnevnik, Windows onemogoči vmesnik in zapiše vnos v sistemski dnevnik, odjemalec DHCP pa lahko ponudbo zavrne.
Prekrivanje ne podvoji nobenega naslova. Vaše omrežje LAN je 192.168.1.0/24, pisarniško omrežje je prav tako 192.168.1.0/24, in zdaj pot do pisarne kaže na naslove, ki so tudi vaš tiskalnik in vaš NAS. Nič ni v konfliktu v smislu ARP; paket preprosto gre do napačne naprave v enem od obeh omrežij.
Trčenje v bazenu je krivda samega tunela. Dva peerja sta bila konfigurirana z istim naslovom tunela ali jima je bil dodeljen, zato ju strežnik pri pošiljanju povratnega prometa ne more ločiti. Eden od obeh odjemalcev vidi delujoč handshake in nič podatkov, kar je videti kot težava z usmerjanjem, pa ni.
Preizkus 1: ali je dvojnik v vašem lastnem segmentu?
Začnite s seznamom tega, kar vaš stroj v resnici ima, ne tega, kar se spomnite, da ste nastavili. Naslov adapterja VPN je zaseben za tunel in ni enak naslovu, ki ga vidijo spletna mesta, zato skupni javni izhod ni konflikt.
ip -br addr
ip neigh
ip route show table all | grep -E 'wg|tun|ppp'V sistemu Windows iste informacije pridobite iz ipconfig /all in Get-NetIPAddress, predpomnilnik sosedov pa je v arp -a. Če je sporni naslov na fizičnem adapterju in se pritožba pojavi brez delujočega VPN, je VPN samo opazovalec in prenehajte ga odpravljati.
Da bi dvojnika dokazali, namesto ugibali, naslov preizkusite z naprave, ki ga ne poseduje. arping -D pošlje sondo z ničelnim izvornim naslovom, zato odgovor z nepričakovanega naslova MAC dokazuje, da se za ta naslov že odziva drug gostitelj.
sudo arping -D -I eth0 -c 3 192.168.1.50Nato poiščite lastnika pri skrbniku omrežja, namesto da bi si sami izbrali drug naslov. Statične dodelitve, ki živijo le v nekom zapiskih, tiskalniki s stalnim naslovom in rezervacije na strežniku DHCP so običajni krivci, izklopljena naprava pa še vedno poseduje svoj zakup.
Preizkus 2: ali se omrežji prekrivata?
Primerjajte predpono, ki vam jo daje tunel, s predponami na svojih vmesnikih. Če je oddaljeni obseg enak vašemu omrežju LAN ali ga vsebuje, je okvara prekrivanje, razkrije pa jo to, da gostitelj, dosegljiv brez VPN, potemni, ali da se vaš tiskalnik odziva na pisarniški naslov.
ip route get 192.168.1.10
ip -br addr showIskanje poti vam pove, kateri vmesnik bi jedro uporabilo, in ta odgovor je celotna diagnoza. Če za naslov, ki pripada vašemu lokalnemu tiskalniku, pokaže tunel, imate prekrivanje in nobeno podaljšanje zakupa tega ne bo spremenilo.
Obstajajo tri pošteni izhodi in običajno je za vas na voljo le eden. Oddaljena stran lahko maskira promet za prekrivajoče se podomrežje, tako da vaš odjemalec vidi le naslov tunela strežnika. Tunel lahko prenaša ožjo oddaljeno predpono, ki ne trči z vašim omrežjem LAN. Ali pa lahko odjemalec usmerja po izvornem naslovu s pravili politike, kar deluje, a je krhko in težko predati sodelavcu.
Preštevilčenje pisarniškega omrežja je redko vaša odločitev. Preštevilčenje lastnega omrežja LAN, da bi se izognili trčenju, je večja sprememba, kot večina ljudi pričakuje, ko so v igri tiskalniki, kamere in gostitelji s statičnimi naslovi.
Preizkus 3: ali je tunel en naslov razdelil dvakrat?
WireGuard nima bazena naslovov. Vsak peer je prepoznan po svojem javnem ključu in po predponah v AllowedIPs, zato se dvojnik pojavi, ko se isti naslov tunela vpiše v dva vnosa peerjev ali se isti par ključev namesti na dva računalnika.
wg show all allowed-ips
wg show wg0 latest-handshakes
wg show wg0 transferŠtevci prometa so tu koristen stolpec: peer, ki kaže nedaven handshake, a nobenega prenosa, je napačno naslovljen ali pa ga zasenči drug vnos, ki si lasti isto predpono. Predpono dodelite natanko enemu peerju in vsaki napravi dajte svoj par ključev.
OpenVPN bazen ima, pogosto trčenje pa je skupni profil odjemalca s fiksno vrstico --ifconfig, kopiran na drugi računalnik. Oba odjemalca nato zahtevata isti naslov tunela, strežnik pa sprejme tisto sejo, ki jo obdela prvo. Izčrpanje bazena z --duplicate-cn da podoben izid, ko se več sej enega potrdila poteguje za en vnos.
Za to berite dnevnik strežnika, ne dnevnika odjemalca. Strežnik ve, katera seja si je lastila kateri naslov, ponavljajoči se naslovi pa so tam vidni kot opozorila, ki nikoli ne dosežejo odjemalca.
Popravite pri viru in nato preverite obe napravi
Vrstni red je pomemben. Najprej popravite dvojnik v omrežju LAN, ker odjemalec, ki ne more obdržati naslova, ne more obdržati niti tunela. Nato popravite dodeljevanje na strani VPN, ker se sprememba dodelitve iz bazena na odjemalcu razveljavi ob naslednji povezavi. Nazadnje se lotite podvojenih identitet: ločeni pari ključev na WireGuard, ločena potrdila ali vsaj ločeni profili na OpenVPN.
Na odjemalcu je mehanski del kratek. Sprostite in obnovite zakup DHCP ali prosite, da se naslov na strežniku spremeni za rezervacijo. Ne vtipkajte naključnega naslova, ki je videti prost.
sudo dhclient -r eth0 && sudo dhclient eth0
ipconfig /release && ipconfig /renewNato preverite z obeh koncev, ne z enega. Potrdite prehod, nato storitev, ki jo zares potrebujete, in se nato znova povežite ter ponovite. Če sta bili vpleteni dve napravi, preverite obe: premik enega naslova pusti drugo z zastarelimi vnosi sosedov ali starim zakupom, ki se pozneje vrne.
Česa na tej poti ne storite
Simptoma ne utišajte. Zaznavanje podvojenih naslovov je tisto, kar vas ustavi pri prevzemu naslova, ki je že v uporabi, in če ga izklopite, se viden konflikt spremeni v občasno izgubo paketov, ki jo je veliko težje izslediti. Enako velja za sprejemanje opozorila o potrdilu z nepričakovanega gostitelja: to sploh ni težava z naslovom in klikanje skozenj skrije drugo okvaro.
Prav tako ne spreminjajte naslavljanja upravljanega omrežja sami. Zabeležite prvotno nastavitev, vprašajte lastnika, ko je naslov dodeljen centralno, in spremembo ohranite dovolj majhno, da jo je mogoče razveljaviti. Pravila za zaznavanje konfliktov naslovov RFC 5227 pojasnjujejo, kaj pravilna sonda dokazuje, kar je vredno vedeti, preden konflikt razglasite za resničnega.