Gerbang menghoskan halaman adminnya sendiri: alamat dalaman atau awam
Perkhidmatan pada gerbang VPN itu sendiri memerlukan entri dalaman yang boleh dicapai oleh terowong. Terbitkan secara peribadi, kemudian sahkan pendengar awam tidak lagi terbuka.
Halaman admin menjawab daripada telefon pada data mudah alih dan tamat masa daripada komputer riba yang menyertai VPN. Tiada apa yang rosak pada terowong, kerana permintaan itu tidak pernah masuk ke dalamnya. Nama hos diselesaikan kepada alamat awam gerbang, dan alamat itu hanya boleh dicapai dari luar terowong yang ia tamatkan. Membetulkannya bermakna memberi perkhidmatan entri peribadi, bukan memindahkan titik akhir luar.
Halaman dimuatkan dari luar dan bukan melalui terowong
Dua permintaan berbeza sedang dibandingkan. Daripada data mudah alih, pelayar mencapai alamat awam secara langsung. Dari dalam terowong, nama yang sama diselesaikan kepada alamat awam yang sama, dan paket itu kini perlu keluar melalui terowong untuk mencapai alamat di sebelah jauh terowong itu sendiri. Nama sama, alamat sama, dua kedudukan yang sangat berbeza.
Laluan destinasi memilih alamat, bukan port. Tiada apa dalam jadual penghalaan tahu bahawa port 443 adalah untuk pentadbiran dan port 1194 ialah pengangkutan, jadi kedua-duanya dianggap destinasi yang sama.
Itulah sebabnya halaman kadangkala berfungsi dan kadangkala tidak, bergantung pada nama dan rangkaian yang digunakan oleh klien. Ini masalah laluan, bukan masalah pengesahan. Kedua-dua klien mengesahkan dengan baik.
Kekalkan titik akhir luar boleh dicapai
Profil terowong penuh memerlukan laluan pengecualian untuk titik akhir VPN, dan pilihan redirect-gateway OpenVPN mendokumentasikan tepat perkara itu: titik akhir jauh mengekalkan laluan melalui gerbang sedia ada supaya terowong tidak menghala ke dalam dirinya sendiri. Buang pengecualian itu dan pengangkutan tersulit mengikut terowong, yang menamatkan sesi dalam gelung. Pengecualian itulah sebabnya alamat titik akhir kekal boleh dicapai dari dalam terowong.
Kesannya ialah alamat awam kekal boleh dicapai daripada klien, dan itulah sebabnya permintaan pelayar ke alamat itu juga boleh mengikut pengecualian yang sama dan keluar tanpa memasuki terowong. Pengecualian itu menjalankan tugasnya, dan nama itulah yang mendatangkan kerosakan.
Baca keputusan laluan dan bukan senarai antara muka sebelum mengubah apa-apa. Perintah di bawah mencetak keputusan dan bukan inventori. Jalankannya daripada klien yang gagal.
ip -4 route get 203.0.113.77
ip -4 rule show
ip -4 route show table allJika carian menunjukkan laluan titik akhir melalui gerbang fizikal, tingkah laku itu betul dan halaman admin hanya dihantar ke laluan yang salah. Di situlah penyelesaian nama menjadi pembetulan.
Berikan perkhidmatan nama peribadi
Perkhidmatan memerlukan nama yang diselesaikan kepada alamat gerbang di dalam terowong, sambil mengekalkan semantik sijil dan nama hos yang dijangka oleh aplikasi. Rekod zon peribadi untuk nama pentadbiran ialah jawapan biasa, dan ia membiarkan nama pengangkutan tidak disentuh.
Jangan halakan semula nama pengangkutan ke alamat dalaman, kerana pembentukan terowong seterusnya akan cuba mencapai alamat yang hanya wujud di dalam terowong. Kesilapan itu menghasilkan VPN yang berfungsi tepat sekali.
Periksa kedua-dua keluarga alamat juga, kerana rekod AAAA yang tertinggal boleh menghantar pelayar ke tempat yang tidak pernah diliputi pelan peribadi.
dig +short admin.hq.internal
dig +short -t AAAA admin.hq.internal
curl -sS -o /dev/null -w '%{http_code} %{remote_ip}\n' https://admin.hq.internal/Padankan dasar dengan tempat proses berjalan
Proses asli yang mendengar pada gerbang dicapai melalui laluan input setempat, jadi rantaian input dan pengikatan soket menentukan sama ada permintaan diterima. Peraturan pemajuan dan pemajuan IP tidak membuat pendengar setempat menjawab. Benarkan sumber terowong dalam dasar input dan sahkan proses itu terikat pada alamat yang boleh dicapai oleh terowong.
Kontena yang diterbitkan pada port hos mengikut laluan berbeza, kerana paket itu diterjemah mengikut destinasi dan dimajukan. Permintaan itu menemui dasar pemajuan hos dan peraturan Docker sendiri, itulah sebabnya pendengar asli yang berfungsi boleh wujud bersama kontena yang menolak port yang sama.
Urutan permulaan penting dalam kedua-dua kes, kerana pengikatan pada alamat yang hanya muncul selepas terowong naik gagal secara senyap semasa but.
Periksa akses peribadi dan laluan awam yang ditolak
Buat permintaan bernama baharu daripada klien yang dibenarkan dengan pemeriksaan identiti aplikasi itu sendiri tidak terjejas. Kemudian cuba perkhidmatan yang sama dari luar terowong dan sahkan ia tidak menjawab. Nama peribadi ialah kemudahan dan bukan sekatan, dan pendengar yang masih terikat pada alamat awam masih terdedah. Pemeriksaan terakhir itulah yang dilepaskan oleh kebanyakan semakan.
Baca pengikatan dan keadaan penapis dan bukan nama hos yang diberikan kepada pengguna. Pendedahan ialah sifat soket dan bukan sifat nama. Perbezaan itu kekal melalui setiap perubahan DNS.
ss -lntp | grep ':443'
nft list ruleset | grep -n 443
curl -sS -m 5 -o /dev/null -w '%{http_code}\n' https://203.0.113.77/Apabila permintaan dalaman mengembalikan halaman dan permintaan luaran tamat masa, perkhidmatan mempunyai satu laluan peribadi yang disengajakan dan pengangkutan kekal boleh dicapai. Apabila permintaan luaran masih menjawab, pendengar atau entri kontena yang diterbitkan perlu disempitkan sebelum sesiapa menyifatkan perkhidmatan itu sebagai dalaman sahaja.