Jalan pintas yang menggoda ialah memberi klien VPN alamat daripada julat yang sama yang digunakan oleh pelayan DHCP pejabat, atas teori bahawa semuanya satu rangkaian juga. Ia bukan. Terowong yang dihalakan membawa paket unicast antara dua hujung, manakala kolam LAN wujud untuk menjawab permintaan siaran pada segmen fizikal. Menggunakan semula nombor yang sama meletakkan dua pengagih bertanggungjawab atas satu ruang alamat dan membiarkan laluan balik tidak ditakrifkan.

Dua pengagih, satu ruang alamat

Pelayan DHCP LAN tahu alamat mana yang telah dipajaknya dan kepada alamat MAC yang mana, dan mempertahankannya dengan ARP. Pelayan VPN mempunyai kolam sendiri dan tidak tahu apa-apa tentang pajakan itu. Kedua-duanya tidak salah; mereka cuma tidak pernah diperkenalkan.

Alamat daripada kolam LAN yang diberikan oleh pelayan VPN mungkin sudah milik sebuah pencetak. Kini dua peranti menuntut satu alamat pada awalan yang sama, dan jadual penghantaran suis menentukan yang mana menjawab.

Itulah kegagalan yang pertama ditemui orang: klien yang berjaya bersambung dan kemudian sampai ke mesin yang salah, atau sampai ke mesin yang betul secara berselang.

Mengapa penghala tidak mengagihkan alamat VPN

Penemuan DHCP ialah siaran, dan siaran berhenti pada sempadan yang dihalakan. Melainkan reka bentuk menjambatani terowong itu atau menjalankan geganti DHCP dengan kuasa yang sepadan, permintaan klien tidak pernah sampai ke pelayan LAN.

Oleh itu pelayan VPN menetapkan alamat itu sendiri: kolam dalam konfigurasi pelayan, alamat setiap rakan dalam pemasangan WireGuard, atau alamat yang ditolak oleh lapisan pengesahan dalam penggunaan IKEv2. Mekanisme ini bebas daripada pangkalan data pajakan LAN, dan itulah sebabnya ia memerlukan julat sendiri.

Penaakulan yang sama menjelaskan mengapa menukar skop DHCP tidak membaiki klien VPN yang tidak pernah mendapat alamat. Klien tidak bertanya kepada pelayan LAN, dan tiada penyuntingan skop yang membuatnya bertanya.

Pertindihan muncul sebagai konflik, bukan sebagai rangkaian perlahan

Dua rangkaian yang berkongsi awalan tanpa reka bentuk yang disokong ialah masalah berbeza daripada pemilikan berganda, dan kedua-duanya sering dikelirukan. Jika kolam VPN ialah awalan berasingan, pertindihan hanya penting apabila laluan menghantar trafik ke sisi yang salah. Jika kolam berada dalam awalan LAN, konflik itu serta-merta dan setempat.

Dalam amalan anda melihat balasan ARP daripada peranti yang salah, sambungan yang set semula di tengah jalan, dan klien yang alamatnya dituntut oleh orang lain. Tiada satu pun kelihatan seperti masalah penghalaan, sebab itulah pembetulan dikenakan pada lapisan yang salah. Pajakan berganda mudah disahkan dan menyusahkan untuk didiami. Ia juga bertahan selepas but semula, kerana kedua-dua pengagih terus mendesak alamat yang sama.

Laluan balik ialah masalah berasingan

Walaupun dengan kolam yang bersih dan berasingan, hos LAN perlu tahu cara menjawab klien. Get laluan lalai mereka ialah penghala, dan penghala memerlukan laluan untuk kolam yang menunjuk ke pelayan VPN, melainkan reka bentuk menterjemah trafik klien.

Baca laluan itu dalam kedua-dua arah sebelum mengubah apa-apa. Di get laluan, tanya antara muka mana yang akan digunakan kernel untuk alamat klien; di klien, tanya laluan mana yang digunakan untuk alamat LAN.

Perintah ini menunjukkan keputusan penghantaran di get laluan dan entri jiran yang mendedahkan pertindihan:

ip -4 route get 10.8.0.5
ip neigh show dev br-lan | grep 10.8
ip -4 route get 192.168.50.20

Jika perintah pertama menjawab dengan antara muka terowong, laluan balik itu wujud. Jika ia menjawab dengan antara muka LAN, penghala percaya klien berada di wayar dan akan mencuba ARP untuknya.

Reka bentuk terjambatan wujud, tetapi ia mesti dipilih

Menjambatani terowong ke LAN ialah reka bentuk sebenar, digunakan apabila klien mesti menerima siaran atau mesti ditemui oleh protokol yang menganggap satu segmen. Ia memerlukan pelayan memiliki tingkah laku penjambatan itu dan pengendalian alamat yang menyertainya.

Yang tidak berkesan ialah meniru hasilnya dengan menyalin nombor. Kolam kongsi tanpa jambatan memberi anda konflik tanpa penemuan, yang merupakan yang terburuk daripada kedua-dua susunan.

Pilih lapisan tiga dengan kolam berasingan melainkan aplikasi benar-benar memerlukan segmen itu, dan dokumenkan kolam itu supaya pentadbir seterusnya tidak menggunakan semula julat DHCP demi kekemasan.

Artikel berkaitan