Pareho ang tunog ng lahat ng ulat na ito at iba ang ibig sabihin: nagrereklamo ang laptop tungkol sa salungatan ng address, pero paminsan-minsan lang, at kadalasan habang naka-on ang VPN. Tatlong magkaibang sira ang gumagawa ng mensaheng iyon: tunay na duplicate sa sarili mong link, isang overlap kung saan ginagamit ng remote network ang iyong LAN range at walang nadoble, at isang tunnel na nagbigay ng isang address sa dalawang peer. Iba ang pag-aayos sa bawat kaso, at ang mali ay inililipat ang sintomas sa halip na alisin ito. Kaya magpasya kung aling kaso ang mayroon ka bago ka magbago ng kahit ano.

Tatlong sira na may isang mensahe ng error

Ang duplicate ay nangangahulugang dalawang machine sa parehong segment ang parehong nag-aangkin ng isang address. Napapansin ito ng kernel dahil ang sagot sa sarili nitong probe ay galing sa ibang MAC, at ang susunod na mangyayari ay depende sa stack: nila-log ito ng Linux, hindi pinapagana ng Windows ang interface at nagsusulat ng entry sa system log, at maaaring tanggihan ng DHCP client ang alok.

Walang nadodoble na address sa isang overlap. Ang LAN mo ay 192.168.1.0/24, ang office network ay 192.168.1.0/24 din, at ngayon ang ruta papunta sa office ay tumuturo sa mga address na printer at NAS mo rin. Walang nagsasalungatan sa kahulugan ng ARP; ang packet ay dumadaan lang sa maling device sa isa sa dalawang network.

Ang banggaan sa pool ay kasalanan ng tunnel mismo. Dalawang peer ang na-configure o nabigyan ng parehong tunnel address, kaya hindi sila maihihiwalay ng server kapag nagpapadala ito ng return traffic. Nakikita ng isa sa dalawang client ang gumaganang handshake at walang data, na parang problema sa routing pero hindi.

Test 1: nasa sarili mong segment ba ang duplicate?

Magsimula sa paglista ng aktwal na hawak ng machine mo, hindi ng natatandaan mong na-configure mo. Ang address ng VPN adapter ay pribado sa tunnel at hindi kapareho ng address na nakikita ng mga website, kaya ang shared public exit ay hindi salungatan.

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

Sa Windows, ang parehong impormasyon ay galing sa ipconfig /all at Get-NetIPAddress, kasama ang neighbour cache sa arp -a. Kung ang pinagtatalunang address ay nasa physical adapter at lumalabas ang reklamo kahit hindi tumatakbo ang VPN, manonood lang ang VPN at dapat mong ihinto ang pag-troubleshoot dito.

Para patunayan ang duplicate sa halip na manghula, i-probe ang address mula sa device na hindi nagmamay-ari nito. Ang arping -D ay nagpapadala ng probe na may zero source address, kaya ang sagot mula sa hindi inaasahang MAC ay nagpapatunay na may ibang host na sumasagot na para sa address na iyon.

sudo arping -D -I eth0 -c 3 192.168.1.50

Pagkatapos, hanapin ang may-ari sa pamamagitan ng network administrator sa halip na pumili ka mismo ng ibang address. Ang mga static assignment na nasa notes lang ng iba, mga printer na may fixed address, at mga reservation sa DHCP server ang karaniwang salarin, at ang device na patay ay nagmamay-ari pa rin ng lease nito.

Test 2: nag-o-overlap ba ang dalawang network?

Ihambing ang prefix na ibinibigay sa iyo ng tunnel sa mga prefix sa sarili mong interface. Kung ang remote range ay katumbas o naglalaman ng iyong LAN, ang sira ay overlap, at ang nagbubunyag ay ang host na naaabot nang walang VPN ay dumidilim, o ang sarili mong printer ay sumasagot sa isang office address.

ip route get 192.168.1.10
ip -br addr show

Sinasabi ng route lookup kung aling interface ang gagamitin ng kernel, at ang sagot na iyon ang buong diagnosis. Kung sinasabi nitong tunnel para sa address na pag-aari ng lokal mong printer, may overlap ka at walang renewal ng lease na makakabago nito.

May tatlong tapat na paraan palabas, at kadalasan isa lang ang magagamit mo. Maaaring i-masquerade ng remote side ang traffic para sa overlap na subnet, kaya ang tunnel address lang ng server ang nakikita ng client mo. Maaaring magdala ang tunnel ng mas makitid na remote prefix na hindi bumabangga sa LAN mo. O kaya ay maaaring mag-route ang client ayon sa source address gamit ang policy rules, na gumagana pero marupok at mahirap ipasa sa katrabaho.

Bihirang ikaw ang magpasya sa pag-renumber ng office network. Ang pag-renumber ng sarili mong LAN para iwasan ang banggaan ay mas malaking pagbabago kaysa inaasahan ng karamihan kapag may printer, camera at static host na kasama.

Test 3: nagbigay ba ang tunnel ng isang address nang dalawang beses?

Walang address pool ang WireGuard. Ang bawat peer ay nakikilala sa pamamagitan ng public key nito at ng mga prefix sa AllowedIPs, kaya lumilitaw ang duplicate kapag ang parehong tunnel address ay naisulat sa dalawang peer entry o ang parehong key pair ay na-install sa dalawang machine.

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

Ang traffic counters ang kapaki-pakinabang na column dito: ang peer na nagpapakita ng kamakailang handshake pero walang transfer ay mali ang address o natatakpan ng ibang entry na nag-aangkin ng parehong prefix. Maglagay ng prefix sa eksaktong isang peer at bigyan ang bawat device ng sarili nitong key pair.

May pool ang OpenVPN, at ang karaniwang banggaan ay isang shared client profile na may fixed na linyang --ifconfig na kinopya sa pangalawang machine. Pareho na ngayong humihingi ang dalawang client ng parehong tunnel address, at tinatanggap ng server ang session na unang pinroseso nito. Ang pagkaubos ng pool gamit ang --duplicate-cn ay gumagawa ng katulad na resulta kapag maraming session ng isang certificate ang nag-aagawan sa isang entry.

Basahin ang server log sa halip na client log para dito. Alam ng server kung aling session ang nag-angkin ng aling address, at ang mga paulit-ulit na address doon ay makikita bilang mga babala na hindi umaabot sa client.

Ayusin sa pinagmulan, pagkatapos suriin muli ang dalawang device

Mahalaga ang pagkakasunod-sunod. Ayusin muna ang duplicate sa LAN, dahil ang client na hindi makapagpanatili ng address ay hindi rin makakapagpanatili ng tunnel. Pagkatapos ay ayusin ang provisioning sa panig ng VPN, dahil ang pagbabago sa client sa isang pool assignment ay binabalik sa susunod na connect. Panghuli, harapin ang mga nadobleng pagkakakilanlan: hiwalay na key pair sa WireGuard, hiwalay na certificate o kahit hiwalay na profile sa OpenVPN.

Sa client, maikli ang mekanikal na bahagi. I-release at i-renew ang DHCP lease, o hilingin na baguhin ang address sa server para sa isang reservation. Huwag mag-type ng random na address na mukhang libre.

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

Pagkatapos, suriin mula sa dalawang dulo, hindi isa. Kumpirmahin ang gateway, pagkatapos ang serbisyong talagang kailangan mo, pagkatapos ay kumonekta muli at ulitin. Kung may dalawang device na kasama, suriin ang pareho: ang paglipat ng isang address ay nag-iiwan sa isa ng lumang neighbour entry o lumang lease na muling lilitaw mamaya.

Ano ang hindi dapat gawin sa daan

Huwag patahimikin ang sintomas. Ang duplicate address detection ang pumipigil sa iyo na kunin ang address na ginagamit na, at ang pag-disable nito ay ginagawang pana-panahong packet loss ang nakikitang salungatan, na mas mahirap sundan. Ganoon din sa pagtanggap ng certificate warning mula sa hindi inaasahang host: hindi iyon problema sa address, at ang pag-click dito ay nagtatago ng ibang sira.

Huwag mo ring baguhin nang mag-isa ang addressing ng managed network. Itala ang orihinal na setting, tanungin ang may-ari kapag sentralisadong itinatalaga ang address, at panatilihing sapat na maliit ang pagbabago para maibalik. Ipinapaliwanag ng mga tuntunin ng RFC 5227 sa pag-detect ng salungatan ng address kung ano ang pinapatunayan ng tamang probe, na mabuting malaman bago mo tawaging totoo ang isang salungatan.

Kaugnay na mga artikulo