Setiap laporan ini terdengar sama dan berarti sesuatu yang berbeda: laptop mengeluh tentang konflik alamat, tetapi hanya kadang-kadang, dan biasanya saat VPN aktif. Tiga gangguan terpisah menghasilkan pesan itu: duplikat sungguhan pada tautan Anda sendiri, tumpang tindih di mana jaringan jarak jauh memakai rentang LAN Anda dan tidak ada yang diduplikasi, dan tunel yang memberikan satu alamat kepada dua peer. Perbaikannya berbeda di setiap kasus, dan yang salah memindahkan gejala alih-alih menghilangkannya. Jadi tentukan kasus mana yang Anda hadapi sebelum mengubah apa pun.

Tiga gangguan dengan satu pesan kesalahan

Duplikat berarti dua mesin pada segmen yang sama sama-sama mengklaim satu alamat. Kernel menyadarinya karena balasan atas probe-nya sendiri datang dari MAC yang berbeda, dan apa yang terjadi selanjutnya bergantung pada tumpukan: Linux mencatatnya, Windows menonaktifkan antarmuka dan menulis entri di log Sistem, dan klien DHCP mungkin menolak tawaran itu.

Tumpang tindih tidak menduplikasi alamat apa pun. LAN Anda adalah 192.168.1.0/24, jaringan kantor juga 192.168.1.0/24, dan sekarang rute ke kantor menunjuk ke alamat yang juga printer dan NAS Anda. Dalam arti ARP tidak ada yang berkonflik; paketnya hanya pergi ke perangkat yang salah di salah satu dari dua jaringan.

Tabrakan di kumpulan adalah kesalahan tunel itu sendiri. Dua peer dikonfigurasi dengan atau diberi alamat tunel yang sama, sehingga server tidak dapat membedakan keduanya saat mengirim lalu lintas balik. Salah satu dari dua klien melihat handshake yang berfungsi dan tidak ada data, yang terbaca seperti masalah perutean dan bukan.

Uji 1: apakah duplikatnya ada di segmen Anda sendiri?

Mulailah dengan mendaftar apa yang sebenarnya dimiliki mesin Anda, bukan apa yang Anda ingat telah dikonfigurasi. Alamat adaptor VPN bersifat privat bagi tunel dan bukan alamat yang sama dengan yang dilihat situs web, jadi jalan keluar publik bersama bukan konflik.

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

Di Windows informasi yang sama datang dari ipconfig /all dan Get-NetIPAddress, dengan cache tetangga di arp -a. Jika alamat yang diperdebatkan ada di adaptor fisik dan keluhannya muncul tanpa VPN berjalan, VPN hanyalah penonton dan Anda sebaiknya berhenti mendiagnosisnya.

Untuk membuktikan duplikat alih-alih menebak, probe alamat itu dari perangkat yang tidak memilikinya. arping -D mengirim probe dengan alamat sumber nol, jadi balasan dari MAC yang tak terduga membuktikan host lain sudah menjawab alamat tersebut.

sudo arping -D -I eth0 -c 3 192.168.1.50

Lalu temukan pemiliknya melalui administrator jaringan alih-alih memilih alamat lain sendiri. Penetapan statis yang hanya hidup di catatan seseorang, printer dengan alamat tetap, dan reservasi di server DHCP adalah tersangka biasa, dan perangkat yang dimatikan tetap memiliki leasenya.

Uji 2: apakah kedua jaringan tumpang tindih?

Bandingkan prefiks yang diberikan tunel kepada Anda dengan prefiks pada antarmuka Anda sendiri. Jika rentang jarak jauh sama dengan atau memuat LAN Anda, gangguannya adalah tumpang tindih, dan petunjuknya adalah host yang dapat dijangkau tanpa VPN menjadi gelap, atau printer Anda sendiri menjawab pada alamat kantor.

ip route get 192.168.1.10
ip -br addr show

Pencarian rute memberi tahu Anda antarmuka mana yang akan dipakai kernel, dan jawaban itu adalah seluruh diagnosis. Jika ia menyebut tunel untuk alamat milik printer lokal Anda, Anda mengalami tumpang tindih dan tidak ada pembaruan lease yang akan mengubahnya.

Ada tiga jalan keluar yang jujur, dan biasanya hanya satu yang tersedia bagi Anda. Sisi jarak jauh dapat menyamarkan lalu lintas untuk subnet yang tumpang tindih, sehingga klien Anda hanya melihat alamat tunel server. Tunel dapat membawa prefiks jarak jauh yang lebih sempit dan tidak bertabrakan dengan LAN Anda. Atau klien dapat merutekan berdasarkan alamat sumber dengan aturan kebijakan, yang berfungsi tetapi rapuh dan sulit diserahkan kepada rekan kerja.

Menomori ulang jaringan kantor jarang menjadi keputusan Anda. Menomori ulang LAN Anda sendiri untuk menghindari tabrakan adalah perubahan yang lebih besar daripada yang dibayangkan kebanyakan orang begitu printer, kamera, dan host statis terlibat.

Uji 3: apakah tunel memberi satu alamat dua kali?

WireGuard tidak memiliki kumpulan alamat. Setiap peer diidentifikasi oleh kunci publiknya dan oleh prefiks di AllowedIPs, jadi duplikat muncul ketika alamat tunel yang sama ditulis ke dua entri peer atau pasangan kunci yang sama dipasang di dua mesin.

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

Penghitung lalu lintas adalah kolom yang berguna di sini: peer yang menunjukkan handshake terbaru tetapi tidak ada transfer entah salah alamat atau tertutup oleh entri lain yang mengklaim prefiks yang sama. Letakkan prefiks pada tepat satu peer dan beri setiap perangkat pasangan kuncinya sendiri.

OpenVPN memang punya kumpulan, dan tabrakan yang umum adalah profil klien bersama dengan baris --ifconfig tetap yang disalin ke mesin kedua. Kedua klien lalu meminta alamat tunel yang sama, dan server menerima sesi yang diprosesnya lebih dulu. Habisnya kumpulan dengan --duplicate-cn menghasilkan akibat serupa ketika beberapa sesi dari satu sertifikat bersaing untuk satu entri.

Untuk kasus ini bacalah log server, bukan log klien. Server tahu sesi mana yang mengambil alamat mana, dan alamat yang berulang di sana terlihat sebagai peringatan yang tidak pernah sampai ke klien.

Perbaiki di sumbernya, lalu periksa ulang kedua perangkat

Urutannya penting. Perbaiki dulu duplikat LAN, karena klien yang tidak dapat mempertahankan alamat juga tidak dapat mempertahankan tunel. Lalu perbaiki penyediaan di sisi VPN, karena penyuntingan di sisi klien atas penetapan kumpulan dibatalkan pada sambungan berikutnya. Terakhir, tangani identitas ganda: pasangan kunci terpisah di WireGuard, sertifikat terpisah atau setidaknya profil terpisah di OpenVPN.

Pada klien bagian mekanisnya singkat. Lepaskan dan perbarui lease DHCP, atau minta alamat diubah di server untuk reservasi. Jangan mengetik alamat acak yang terlihat bebas.

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

Lalu verifikasi dari kedua ujung, bukan satu. Pastikan gateway, lalu layanan yang benar-benar Anda butuhkan, lalu sambungkan ulang dan ulangi. Jika dua perangkat terlibat, periksa keduanya: memindahkan satu alamat meninggalkan yang lain dengan entri tetangga yang usang atau lease lama yang muncul lagi nanti.

Apa yang tidak boleh dilakukan di sepanjang jalan

Jangan membungkam gejalanya. Deteksi alamat duplikat adalah yang mencegah Anda mengambil alamat yang sudah dipakai, dan mematikannya mengubah konflik yang terlihat menjadi kehilangan paket berkala yang jauh lebih sulit dilacak. Hal yang sama berlaku untuk menerima peringatan sertifikat dari host yang tak terduga: itu sama sekali bukan masalah alamat, dan melewatinya menyembunyikan gangguan lain.

Jangan mengubah pengalamatan jaringan terkelola sendiri juga. Catat pengaturan aslinya, tanyakan kepada pemiliknya ketika alamat ditetapkan secara terpusat, dan jaga perubahan cukup kecil untuk dibalik. Aturan deteksi konflik alamat RFC 5227 menjelaskan apa yang dibuktikan probe yang benar, yang layak diketahui sebelum Anda menyebut konflik itu nyata.

Artikel terkait