Vietinio IP adreso konflikto išsprendimas prisijungus prie VPN
Dublikatas gali būti jūsų LAN tinkle, ateiti iš persidengiančio nuotolinio diapazono arba būti du kartus išduotas tunelio baseino. Išbandykite prieš pernumeruodami.
Kiekviena iš šių ataskaitų skamba vienodai ir reiškia skirtingą dalyką: nešiojamasis kompiuteris skundžiasi adresų konfliktu, bet tik kartais, ir dažniausiai tada, kai VPN įjungta. Tris skirtingus gedimus sukelia šis pranešimas: tikras dublikatas jūsų pačių jungtyje, persidengimas, kai nuotolinis tinklas naudoja jūsų LAN diapazoną ir niekas nedubliuojama, ir tunelis, kuris vieną adresą davė dviem partneriams. Taisymas kiekvienu atveju skiriasi, o netinkamas perkelia simptomą, o ne jį pašalina. Todėl prieš ką nors keisdami nuspręskite, kuris atvejis jūsų.
Trys gedimai su vienu klaidos pranešimu
Dublikatas reiškia, kad dvi mašinos tame pačiame segmente abi pretenduoja į vieną adresą. Branduolys tai pastebi, nes atsakymas į jo paties zondą ateina iš kito MAC, o kas nutinka toliau, priklauso nuo steko: Linux tai registruoja, Windows išjungia sąsają ir įrašo įrašą sistemos žurnale, o DHCP klientas gali pasiūlymą atmesti.
Persidengimas nedubliuoja jokio adreso. Jūsų LAN yra 192.168.1.0/24, biuro tinklas taip pat 192.168.1.0/24, ir dabar maršrutas į biurą rodo adresus, kurie taip pat yra jūsų spausdintuvas ir NAS. ARP prasme niekas nėra konflikte; paketas tiesiog nueina į netinkamą įrenginį viename iš dviejų tinklų.
Susidūrimas baseine yra paties tunelio klaida. Du partneriai buvo sukonfigūruoti su tuo pačiu tunelio adresu arba jį gavo, todėl serveris negali jų atskirti siųsdamas grįžtamąjį srautą. Vienas iš dviejų klientų mato veikiantį rankos paspaudimą ir jokių duomenų, kas skaitoma kaip maršrutizavimo problema ir ja nėra.
1 testas: ar dublikatas jūsų pačių segmente?
Pradėkite nuo sąrašo, ką jūsų mašina iš tikrųjų turi, o ne ką prisimenate sukonfigūravę. VPN adapterio adresas yra privatus tuneliui ir nėra tas pats adresas, kurį mato svetainės, todėl bendra vieša išeitis nėra konfliktas.
ip -br addr
ip neigh
ip route show table all | grep -E 'wg|tun|ppp'Windows ta pati informacija ateina iš ipconfig /all ir Get-NetIPAddress, o kaimynų podėlis yra arp -a. Jei ginčijamas adresas yra fiziniame adapteryje ir skundas pasirodo be veikiančios VPN, VPN yra stebėtojas ir turėtumėte nustoti ją diagnozuoti.
Norėdami įrodyti dublikatą, o ne spėlioti, patikrinkite adresą iš įrenginio, kuris jo neturi. arping -D siunčia zondą su nuliniu šaltinio adresu, todėl atsakymas iš netikėto MAC įrodo, kad kitas hostas jau atsako į tą adresą.
sudo arping -D -I eth0 -c 3 192.168.1.50Tada raskite savininką per tinklo administratorių, o ne patys rinkdamiesi kitą adresą. Statinės priskyrimo, gyvenančios tik kažkieno užrašuose, spausdintuvai su fiksuotu adresu ir rezervacijos DHCP serveryje yra įprasti kaltininkai, o išjungtas įrenginys vis dar turi savo nuomą.
2 testas: ar du tinklai persidengia?
Palyginkite priešdėlį, kurį duoda tunelis, su priešdėliais jūsų sąsajose. Jei nuotolinis diapazonas lygus jūsų LAN arba jį apima, gedimas yra persidengimas, o požymis tas, kad be VPN pasiekiamas hostas dingsta, arba jūsų spausdintuvas atsako biuro adresu.
ip route get 192.168.1.10
ip -br addr showMaršruto paieška pasako, kurią sąsają branduolys naudotų, ir tas atsakymas yra visa diagnozė. Jei ji nurodo tunelį adresui, priklausančiam jūsų vietiniam spausdintuvui, turite persidengimą ir joks nuomos atnaujinimas to nepakeis.
Yra trys sąžiningi išėjimai, ir paprastai jums prieinamas tik vienas. Nuotolinė pusė gali maskuoti persidengiančio potinklio srautą, todėl jūsų klientas mato tik serverio tunelio adresą. Tunelis gali perduoti siauresnį nuotolinį priešdėlį, kuris nesikerta su jūsų LAN. Arba klientas gali maršrutizuoti pagal šaltinio adresą taikydamas politikos taisykles, kas veikia, bet yra trapu ir sunku perduoti kolegai.
Biuro tinklo pernumeravimas retai yra jūsų sprendimas. Savo LAN pernumeravimas siekiant išvengti susidūrimo yra didesnis pokytis, nei dauguma tikisi, kai įtraukiami spausdintuvai, kameros ir statiniai hostai.
3 testas: ar tunelis vieną adresą išdavė du kartus?
WireGuard neturi adresų baseino. Kiekvienas partneris identifikuojamas savo viešuoju raktu ir priešdėliais AllowedIPs, todėl dublikatas atsiranda, kai tas pats tunelio adresas įrašomas į du partnerių įrašus arba ta pati raktų pora įdiegiama dviejose mašinose.
wg show all allowed-ips
wg show wg0 latest-handshakes
wg show wg0 transferSrauto skaitikliai čia yra naudinga stulpelis: partneris, kuris rodo neseniai įvykusį rankos paspaudimą, bet jokio perdavimo, arba yra neteisingai adresuotas, arba jį užstoja kitas įrašas, pretenduojantis į tą patį priešdėlį. Dėkite priešdėlį tiksliai vienam partneriui ir duokite kiekvienam įrenginiui savo raktų porą.
OpenVPN turi baseiną, ir dažnas susidūrimas yra bendras kliento profilis su fiksuota --ifconfig eilute, nukopijuota į antrą mašiną. Tada abu klientai prašo to paties tunelio adreso, ir serveris priima tą sesiją, kurią apdoroja pirmą. Baseino išsekimas su --duplicate-cn duoda panašų rezultatą, kai kelios vieno sertifikato sesijos konkuruoja dėl vieno įrašo.
Tam skaitykite serverio žurnalą, o ne kliento žurnalą. Serveris žino, kuri sesija paėmė kurį adresą, o pasikartojantys adresai ten matomi kaip įspėjimai, kurie niekada nepasiekia kliento.
Taisykite prie šaltinio, tada dar kartą patikrinkite abu įrenginius
Tvarka svarbi. Pirmiausia ištaisykite LAN dublikatą, nes klientas, kuris negali išlaikyti adreso, negali išlaikyti ir tunelio. Tada ištaisykite aprūpinimą VPN pusėje, nes kliento pusės pakeitimas baseino priskyrime atšaukiamas kitą kartą prisijungus. Galiausiai susitvarkykite su dvigubomis tapatybėmis: atskirais raktų poromis WireGuard, atskirais sertifikatais arba bent atskirais profiliais OpenVPN.
Kliento pusėje mechaninė dalis trumpa. Atleiskite ir atnaujinkite DHCP nuomą, arba paprašykite pakeisti adresą serveryje rezervacijai. Nespausdinkite atsitiktinio adreso, kuris atrodo laisvas.
sudo dhclient -r eth0 && sudo dhclient eth0
ipconfig /release && ipconfig /renewTada patikrinkite iš abiejų galų, o ne iš vieno. Patvirtinkite šliuzą, tada paslaugą, kurios iš tikrųjų reikia, tada prisijunkite iš naujo ir pakartokite. Jei dalyvavo du įrenginiai, patikrinkite abu: perkėlus vieną adresą, kitas lieka su pasenusiais kaimynų įrašais arba sena nuoma, kuri vėliau vėl pasirodo.
Ko nereikėtų daryti kelyje
Netildykite simptomo. Pasikartojančių adresų aptikimas yra tai, kas neleidžia jums paimti jau naudojamo adreso, o jį išjungus matomas konfliktas virsta periodišku paketų praradimu, kurį sekti daug sunkiau. Tas pats galioja priimant netikėto hosto sertifikato įspėjimą: tai visai ne adreso problema, o jo praleidimas paslepia kitą gedimą.
Nekeiskite ir valdomo tinklo adresavimo savavališkai. Užsirašykite pradinį nustatymą, paklauskite savininko, kai adresas skiriamas centralizuotai, ir laikykite pakeitimą pakankamai mažą, kad būtų galima atšaukti. RFC 5227 adresų konfliktų aptikimo taisyklės paaiškina, ką įrodo teisingas zondas, ką verta žinoti prieš pavadinant konfliktą tikru.