Ada dua alasan sah untuk menyusun tunnel secara bersarang di laptop pengembang. Entah klien korporat harus tampak berasal dari negara tertentu, atau dua jaringan privat harus dapat dijangkau pada saat yang sama. Kedua kasus memerlukan tunnel luar untuk membawa koneksi klien dalam itu sendiri.

Menjalankan dua klien dalam urutan apa pun tidak menghasilkan itu. Perutean yang menghasilkannya.

Bandingkan dua urutan yang mungkin

Pilih lapisan luar sebagai tunnel yang titik akhirnya dapat dijangkau internet publik. Lapisan dalam adalah tunnel yang servernya hanya menjawab melalui jalan keluar itu. Di Windows pembagian praktisnya adalah WireGuard di luar dan klien korporat di dalam. Faktor penentunya adalah kendali.

Klien WireGuard resmi menerapkan berkas konfigurasi lengkap, termasuk rute dan DNS. Klien korporat komersial biasanya menyembunyikan keduanya. Menempatkan klien tersembunyi di luar membuat Anda menebak-nebak jalur di bawahnya.

Urutan terbalik bukan hal mustahil. Hanya lebih sulit dipikirkan, karena klien luar menulis ulang rute menurut jadwal yang tidak pernah Anda lihat.

Biarkan AllowedIPs hanya menamai rentang korporat

AllowedIPs mendaftar tujuan yang dirutekan WireGuard ke dalam tunnel. Untuk penyusunan bersarang ia hanya perlu alamat server dalam dan prefiks korporat. Semua hal lain tetap di jaringan lokal, termasuk printer dan hypervisor. Ini tunnel terpisah sejak desainnya, dan sepenuhnya menghindari masalah pengecualian.

Lapisan luar dengan tunnel penuh membutuhkan 0.0.0.0/0 dikurangi rentang lokal. Formatnya tidak dapat menyatakan pengecualian, jadi komplemennya harus dihitung dan ditempelkan.

[Interface]
PrivateKey = ...
Address = 10.99.4.2/32

[Peer]
PublicKey = ...
Endpoint = 198.51.100.44:51820
AllowedIPs = 198.51.100.44/32, 10.20.0.0/16, 10.21.0.0/16

Bila klien dalam tidak memasang rutenya sendiri, daftarkan prefiks korporat sendiri. Prefiks yang terlewat dari baris itu adalah tujuan yang tidak pernah dibawa tunnel luar. Salinan daftar yang basi lebih buruk daripada tidak ada, karena masih terlihat benar.

Urutan, metrik, dan adaptor kedua

Hubungkan tunnel luar lebih dulu, lalu jalankan klien korporat. Dengan begitu koneksi titik akhirnya keluar melalui WireGuard alih-alih gateway lokal. Beri antarmuka korporat metrik lebih rendah agar prefiksnya menang untuk alamat yang dimilikinya.

# which interface currently claims the corporate prefix?
Find-NetRoute -RemoteIPAddress 10.20.10.5 | Select-Object -First 1

# prefer the corporate interface for its own prefixes
Set-NetIPInterface -InterfaceAlias 'Corp VPN' -InterfaceMetric 3
Set-NetIPInterface -InterfaceAlias 'wg-personal' -InterfaceMetric 40

wg show interfaces

Metrik adalah langkah yang dilewati orang. Tanpa urutan, rute yang dipasang terakhir menang untuk prefiks yang tumpang tindih. Itu berubah antar boot, karena itulah masalahnya tampak berkala.

Klien yang dibangun di atas OpenVPN 2.6 menambahkan jebakan sendiri. Bila adaptor pengalihan beban kanal data sudah terpakai, instans kedua menolak untuk mulai. Menambahkan disable-dco ke profil mengembalikan ke jalur TAP yang lebih lama, dan keduanya lalu berjalan berdampingan.

Di mana jalur bersarang putus

Memutus tunnel luar mematikan tunnel dalam. Menyambung ulang hanya klien dalam sering mengirimnya langsung ke internet dan diam-diam menghapus penyusunan bersarang. Uji urutannya dari awal setiap kali, dengan kedua tunnel berhenti.

Perkirakan MTU berguna yang lebih kecil. Setiap lapisan menambah beban, jadi pasangan awal sekitar 1420 dan 1400 adalah tempat memulai. Transfer yang macet pada paket besar sementara permintaan kecil berhasil adalah tanda umum. Kebijakan korporat adalah batas lainnya, karena klien yang menginginkan perangkat terkelola dapat menganggap jalur bersarang sebagai pelanggaran.

Bila kedua ujung adalah jaringan tetap, tunnel situs-ke-situs antar gateway menghilangkan masalah urutan alih-alih mengelolanya. Di satu laptop, dua tunnel hanya hidup berdampingan bila masing-masing punya antarmuka sendiri dan aturan yang memilih tujuan per prefiks.

Artikel terkait