NAT Berganda dan VPN Anda: klien berfungsi, pelayan tidak
Dua penghala yang menterjemah alamat jarang menghentikan klien VPN keluar. Mengehos pelayan di belakangnya lebih sukar, terutamanya apabila lapisan luar ialah NAT gred pembawa.
Penghala anda berada di belakang penghala lain, alamat WAN bersifat peribadi, dan klien VPN tetap menyambung. Gabungan itu mengejutkan orang yang menyangka NAT berganda akan merosakkan terowong, tetapi sambungan keluar ialah perkara yang paling baik dikendalikan oleh terjemahan. Mengehos pelayan VPN di belakang dua lapisan yang sama ialah kes yang biasanya gagal. Lukis arah sambungan sebelum anda mengubah apa-apa.
Lukis arah sambungan terlebih dahulu
Buka halaman status penghala dalam dan catat alamat WAN-nya, kemudian bandingkan dengan alamat yang dilaporkan oleh perkhidmatan awam kepada anda. Jika kedua-duanya berbeza, sekurang-kurangnya ada satu penterjemah antara penghala anda dan internet. Jika alamat WAN berada dalam 100.64.0.0/10, penterjemah luar itu mungkin milik pembekal anda, dan anda tidak mengawalnya. Kedua-dua fakta itu menentukan langkah mana yang mungkin berjaya.
curl -s https://ifconfig.me
ip -brief address
traceroute -n 1.1.1.1
NAT berganda bukan VPN berganda. Terjemahan menulis semula alamat dan port; ia tidak menambah terowong penyulitan kedua, dan ia tidak menyulitkan apa-apa. Memisahkan kedua-dua idea itu penting kerana penyelesaiannya sama sekali berbeza, dan salah satunya memerlukan perbualan dengan pembekal anda dan bukannya halaman tetapan.
Keluar: klien bertanya, penterjemah memetakan
Terowong keluar bermula dengan paket dari mesin anda, jadi setiap penterjemah boleh mencipta pemetaan dan membenarkan balasan masuk semula. Protokol, port dan pemasa melahu menentukan sama ada pemetaan itu bertahan cukup lama untuk berguna. Kebanyakan penghala pengguna mengendalikannya tanpa sebarang konfigurasi.
Kegagalan yang benar-benar muncul biasanya berkaitan tamat masa dan sokongan protokol, bukan bilangan penghala. Terowong yang terputus selepas beberapa minit senyap ialah pemetaan yang tamat tempoh, dan keepalive ialah jawapan biasa. IPsec mempunyai sambungan NAT-traversal standard, jadi mendakwa ia tidak boleh melintasi terjemahan sememangnya salah. Jika terowong langsung tidak terbentuk, lihat titik akhir dan kelayakan sebelum menyalahkan topologi.
wg show
ping -c3 10.8.0.1
Berhenti jika terowong keluar berfungsi dari satu rangkaian dan tidak dari rangkaian lain. Perbandingan itu tentang rangkaian, bukan bilangan penghala.
Masuk: penghantaran hanya meliputi peralatan yang anda miliki
Mengehos pelayan ialah arah bertentangan: sambungan baharu tiba dari internet dan mesti sampai ke mesin anda melalui setiap lapisan. Peraturan penghantaran port pada penghala dalam hanya membantu jika penterjemah luar juga menyampaikan trafik itu kepada anda. Mengulang peraturan tempatan tidak memberikan kawalan ke atas peralatan pembekal.
nc -vz 203.0.113.10 51820
ss -lunp 'sport = :51820'
Bandingkan alamat WAN penghala dalam dengan alamat awam yang anda perhatikan, dan catat dari mana setiap nilai datang. Jika alamat WAN bersifat peribadi atau dalam julat dikongsi, lapisan luar melakukan terjemahan yang tidak dapat anda konfigurasikan. Tanya pembekal apakah capaian masuk yang disokongnya sebelum anda menghabiskan sepanjang malam pada peraturan yang tidak mungkin berkuat kuasa. Menanggalkan penghala atau mematikan tembok api secara meluas bukanlah diagnosis, dan ia pertukaran buruk untuk satu port terbuka.
Berhenti jika lapisan luar milik pembekal dan ia tidak menghantar. Maka jawapan yang disokong ialah kaedah akses lain atau geganti, bukan peraturan lain di pihak anda.
Uji satu pemboleh ubah pada satu masa
Ubah satu perkara bagi setiap ujian dan catat hasilnya, kerana laluan NAT berganda mempunyai lebih banyak pemboleh ubah daripada laluan satu penghala. Kekalkan profil dan peranti tetap, kemudian bandingkan rangkaian akses lain. Perhatikan sama ada rundingan gagal, sama ada sesi terputus selepas melahu, atau sama ada hanya destinasi peribadi yang gagal. Ketiga-tiga pemerhatian itu menunjuk kepada tiga lapisan berbeza.
journalctl -u wg-quick@wg0 -n 30 --no-pager
ip route get 10.20.30.40
Subnet peribadi yang bertindih ialah perangkap berasingan yang tidak dapat diperbaiki oleh berapa banyak pun terjemahan. Jika rangkaian rumah anda dan rangkaian jauh menggunakan julat yang sama, konflik laluan muncul tanpa mengira berapa banyak penterjemah di antaranya. Penomboran semula satu pihak ialah satu-satunya jawapan yang tahan lama.
Gerbang jauh juga wajar diberi perhatian yang sama, kerana peraturan penghantaran dan laluan baliknya mungkin bahagian yang hilang. Terowong yang lulus pengesahan masih boleh tiada laluan aplikasi yang boleh digunakan, dan kegagalan itu kelihatan sama dari pihak klien. Penelusuran berakhir apabila anda boleh mengatakan arah mana yang gagal dan lapisan mana yang bertanggungjawab.