Alle desse rapportane høyrest like ut og tyder noko ulikt: laptopen klagar på ein adressekonflikt, men berre av og til, og mest medan VPN-en er oppe. Tre separate feil gjev den meldinga: ein ekte duplikat på di eiga lenkje, ein overlapp der fjernnettverket brukar LAN-området ditt og ingenting er duplisert i det heile, og ein tunnel som gav éin adresse til to peers. Reparasjonen er ulik i kvart tilfelle, og den gale flyttar symptomet i staden for å fjerna det. Bestem derfor kva tilfelle du har før du endrar noko.

Tre feil som deler éi feilmelding

Ein duplikat tyder at to maskinar på same segment båe krev éin adresse. Kjernen merkar det fordi svaret på hans eigen sonde kjem frå ein annan MAC, og kva som skjer vidare avheng av stacken: Linux loggar det, Windows slår av grensesnittet og skriv ei oppføring i systemloggen, og ein DHCP-klient kan avvisa tilbodet.

Ein overlapp dupliserer ingen adresse i det heile. LAN-et ditt er 192.168.1.0/24, kontornettverket er også 192.168.1.0/24, og no peikar ruta til kontoret på adresser som også er skrivaren og NAS-en din. Ingenting er i konflikt i ARP-forstand; pakken går rett og slett til feil eining i eitt av dei to nettverka.

Ein poolkollisjon er tunnelens eigen feil. To peers vart konfigurerte med eller tildelte same tunneladresse, så serveren kan ikkje skilja dei når han sender returtrafikk. Éin av dei to klientane ser ein fungerande handshake og ingen data, noko som ser ut som eit ruteproblem og ikkje er det.

Test 1: sit duplikatet på ditt eige segment?

Byrj med å lista opp kva maskinen din faktisk har, ikkje kva du hugsar at du konfigurerte. Ei VPN-adapteradresse er privat for tunnelen og er ikkje den same som adressa nettstadene ser, så ein delt offentleg utgang er ingen konflikt.

ip -br addr
ip neigh
ip route show table all | grep -E 'wg|tun|ppp'

På Windows kjem den same informasjonen frå ipconfig /all og Get-NetIPAddress, med nabo-cachen i arp -a. Viss den omstridde adressa ligg på den fysiske adapteren og klaga dukkar opp utan at VPN-en køyrer, er VPN-en ein tilskodar, og du bør slutta å feilsøkja han.

For å prova ein duplikat i staden for å gjeta, sonder adressa frå ei eining som ikkje eig henne. arping -D sender sonden med ei nullbasert kjeldeadresse, så eit svar frå ein uventa MAC provar at ein annan vert allereie svarar for adressa.

sudo arping -D -I eth0 -c 3 192.168.1.50

Finn deretter eigaren via nettverksadministratoren i staden for å velja ei anna adresse sjølv. Statiske tildelingar som berre finst i notata til nokon, skrivarar med fast adresse og reservasjonar på DHCP-serveren er dei vanlege syndarane, og ei eining som er slått av eig framleis lease-avtalen sin.

Test 2: overlappar dei to nettverka?

Samanlikn prefikset tunnelen gjev deg med prefiksa på dine eigne grensesnitt. Viss fjernområdet er likt LAN-et ditt eller inneheld det, er feilen overlapp, og det avslørande teiknet er at ein vert som nås utan VPN-en blir mørk, eller at din eigen skrivar svarar på ei kontoradresse.

ip route get 192.168.1.10
ip -br addr show

Ruteoppslaget fortel deg kva grensesnitt kjernen ville bruka, og det svaret er heile diagnosen. Viss det seier tunnelen for ei adresse som høyrer til den lokale skrivaren din, har du ein overlapp, og uansett kor mange gonger du fornyar lease-avtalen, endrar det ingenting.

Det finst tre ærlege vegar ut, og berre éin er vanlegvis tilgjengeleg for deg. Fjernsida kan maskera trafikk for det overlappande subnettet, slik at klienten din berre ser tunneladressa til serveren. Tunnelen kan bera eit smalare fjernprefiks som ikkje kolliderer med LAN-et ditt. Eller klienten kan ruta etter kjeldeadresse med policyreglar, noko som fungerer, men er skjørt og vanskeleg å overlata til ein kollega.

Å nummerera kontornettverket på nytt er sjeldan di avgjerd. Å nummerera ditt eige LAN på nytt for å unngå kollisjonen er ei større endring enn dei fleste ventar når skrivarar, kamera og statiske vertar er involverte.

Test 3: delte tunnelen ut éi adresse to gonger?

WireGuard har ingen adressepool. Kvar peer blir identifisert av sin offentlege nøkkel og av prefiksa i AllowedIPs, så ein duplikat oppstår når same tunneladresse blir skriven inn i to peer-oppføringar eller same nøkkelpar blir installert på to maskinar.

wg show all allowed-ips
wg show wg0 latest-handshakes
wg show wg0 transfer

Trafikkteljarar er den nyttige kolonnen her: ein peer som viser ein nyleg handshake men ingen overføring er anten feiladressert eller overskygga av ei anna oppføring som krev same prefiks. Set eit prefiks på nøyaktig éin peer, og gje kvar eining sitt eige nøkkelpar.

OpenVPN har ein pool, og den vanlege kollisjonen er ein delt klientprofil med ei fast --ifconfig-linje kopiert til ein andre maskin. Båe klientane ber då om same tunneladresse, og serveren godtek den økta han behandlar først. Uttøming av poolen med --duplicate-cn gjev eit liknande resultat når fleire økter av eitt sertifikat konkurrerer om éi oppføring.

Les serverloggen i staden for klientloggen for dette. Serveren veit kva økt som kravde kva adresse, og gjentekne adresser viser seg der som åtvaringar som aldri når klienten.

Reparer ved kjelda, og kontroller deretter båe einingane

Rekkjefølgja har noko å seia. Fiks ein LAN-duplikat først, fordi ein klient som ikkje kan halda på ei adresse, heller ikkje kan halda på ein tunnel. Fiks deretter provisjoneringa på VPN-sida, fordi ei klientendring av ei pooltildeling blir angra ved neste tilkopling. Til slutt tek du føre deg dupliserte identitetar: separate nøkkelpar på WireGuard, separate sertifikat eller i det minste separate profilar på OpenVPN.

På klienten er den mekaniske delen kort. Frigjer og forny ein DHCP-lease, eller be om at adressa blir endra på serveren for ein reservasjon. Ikkje skriv inn ei tilfeldig adresse som ser ledig ut.

sudo dhclient -r eth0 && sudo dhclient eth0
ipconfig /release && ipconfig /renew

Kontroller deretter frå båe endar, ikkje éin. Stadfest gatewayen, deretter tenesta du faktisk treng, og kople så til på nytt og gjenta. Viss to einingar var involverte, kontroller båe: å flytta éi adresse lèt den andre sitja att med utdaterte nabo-oppføringar eller ein gammal lease som dukkar opp igjen seinare.

Kva du ikkje bør gjera på vegen

Ikkje dyss ned symptomet. Duplicate address detection er det som hindrar deg i å ta ei adresse som alt er i bruk, og å slå det av gjer ein synleg konflikt om til periodisk pakketap som er mykje vanskelegare å spora. Det same gjeld å godta ei sertifikatåtvaring frå ein uventa vert: det er ikkje eit adresseproblem i det heile, og å klikka seg gjennom ho gøymer ein annan feil.

Ikkje endra adresseringa til eit administrert nettverk på eiga hand heller. Noter den opphavlege innstillinga, spør eigaren når adressa blir tildelt sentralt, og hald endringa lita nok til å reversera. RFC 5227-reglane for deteksjon av adressekonfliktar forklarer kva ein korrekt sonde provar, noko som er verdt å vita før du kallar ein konflikt ekte.

Relaterte artiklar