Apa yang VPS Mesti Benarkan Sebelum Ia Boleh Mengehos VPN Anda
VM yang melayari web masih boleh gagal sebagai gerbang VPN. Sahkan sokongan antara muka, dua firewall, pemajuan, pelan alamat dan klien luar.
Instans but, pemasangan pakej berjaya, dan perkhidmatan malah melaporkan keadaan berjalan, tetapi tiada apa yang bersambung. Corak ini biasa pada pelayan peribadi maya kerana tetamu yang mudah mencapai internet masih mungkin tidak dapat mencipta antara muka yang dikehendaki protokol anda. Lima pemeriksaan memisahkan hos yang boleh menyediakan terowong daripada yang hanya kelihatan sedia, dan pemeriksaan pertama yang gagal biasanya menjelaskan segala-galanya selepasnya. Setiap satu murah dijalankan dan berakhir dengan keputusan, bukan nota.
Sahkan antara muka yang diperlukan protokol
OpenVPN di atas TUN memerlukan peranti aksara dan modul kernel di belakangnya; WireGuard memerlukan sokongan kernel sendiri atau pelaksanaan ruang pengguna dengan jangkaan yang sepadan. Kontena terurus mungkin berkongsi kernel hos yang tidak pernah mendedahkan peranti itu, dan sesetengah platform melarang penciptaan antara muka terowong sama sekali, tanpa mengira apa yang dipasang.
Uji keupayaan dan bukannya membaca halaman sokongan, kerana label pemasaran berubah lebih cepat daripada had asasnya. Senarai ciri yang ditulis untuk satu pelan mungkin tidak menerangkan kernel yang sebenarnya dijalankan oleh tetamu. Dua arahan pendek menjawab soalan untuk protokol yang biasa digunakan, dan kedua-duanya membersihkan diri. Arahan di bawah tidak mencipta apa-apa yang kekal dan dibuang serta-merta.
sudo ip tuntap add dev tun9 mode tun
sudo ip tuntap del dev tun9 mode tun
sudo ip link add wgtest type wireguard && sudo ip link del wgtest
Penolakan pada pasangan pertama bermakna TUN tidak tersedia dan mod lalai OpenVPN tidak boleh bermula; penolakan pada baris terakhir bermakna antara muka kernel WireGuard tiada. dokumentasi kernel tentang TUN/TAP menerangkan peranti yang diuji oleh pemeriksaan pertama. Tiada satu pun daripada dua kegagalan itu diperbaiki dengan memasang semula pakej VPN.
Ingat bahawa laluan masuk mempunyai dua pemilik
Peraturan rangkaian penyedia dan firewall tetamu ialah sistem berasingan, dan trafik mesti melepasi kedua-duanya. Pendengar yang terikat pada tetamu tidak bermakna apa-apa jika kumpulan keselamatan penyedia menggugurkan port itu, dan peraturan penyedia yang terbuka tidak melakukan apa-apa jika tetamu menolak paket. Sahkan pendengar, kemudian peraturan tetamu, kemudian panel penyedia, dalam urutan itu, dan sahkan protokol serta nombor port. Melompat terus ke panel penyedia ialah cara orang membuka julat yang mereka tidak perlukan.
UDP ialah mangsa biasa: banyak platform membenarkan TCP secara lalai dan menganggap peraturan UDP sebagai entri berasingan. Jika instans berada di belakang NAT penyedia dan bukannya memegang alamat awam, pemajuan port di sebelah penyedia menjadi konfigurasi ketiga yang perlu diselaraskan.
Rancang laluan pulang, bukan hanya jalan keluar
Perkhidmatan terowong penuh memerlukan pemajuan diaktifkan, skema terjemahan atau penghalaan untuk trafik klien, dan laluan pulang yang sampai ke kumpulan klien. Membuka pendengar tidak menyediakan mana-mana daripadanya. Terowong yang terbentuk tetapi tidak membawa trafik berguna biasanya gagal di sini, bukan pada pengesahan. Anggap jabat tangan yang berjaya sebagai permulaan diagnosis, bukan penghujungnya.
Tulis pelan sebagai tiga keputusan konkrit: julat sumber yang diterima klien, bagaimana trafik mereka keluar ke internet, dan bagaimana balasan menemui jalan pulang. Kemudian sahkan kernel bersetuju dengan pelan sebelum menguji klien, supaya ketidakpadanan senyap tidak disalah anggap sebagai kerosakan di sebelah klien.
sysctl -n net.ipv4.ip_forward
sudo nft list ruleset | head -n 40
ip -4 route show default
Putuskan perkara IPv6 secara eksplisit
IPv6 datang melalui beberapa mekanisme yang berkelakuan berbeza untuk gerbang: alamat pada instans, awalan yang dihalakan, atau tiada langsung. Hanya awalan yang dihalakan membolehkan pelayan memberi alamat kepada klien dengan cara biasa. Andaian bahawa alamat IPv6 yang berfungsi pada hos bermakna awalan klien yang boleh digunakan ialah kesilapan yang muncul kemudian sebagai kesambungan separuh rosak. Inilah jenis kerosakan yang terlepas daripada setiap ujian yang dijalankan hanya dengan IPv4.
Jika penyedia tidak menghalakan sebarang awalan, putuskan sama ada terowong itu hanya IPv4 dan sama ada klien harus diberitahu. Ketiadaan yang didokumenkan lebih selamat daripada konfigurasi separa yang menghantar destinasi IPv6 secara senyap ke lohong hitam untuk pengguna yang bersambung.
Buktikan daripada klien luar
Keadaan perkhidmatan setempat menerangkan satu proses pada satu hos. Ujian yang berguna ialah klien dibenarkan di rangkaian lain, yang bersambung dengan profil yang anda hendak edarkan, kemudian mencapai aplikasi dan menyelesaikan nama. Sambung semula sekali juga, kerana terowong yang hanya berfungsi pada percubaan pertama gagal memenuhi keperluan yang paling penting dalam praktik.
sudo wg show wg0 latest-handshakes
ip -4 route get 203.0.113.44
sudo journalctl -u wg-quick@wg0 -n 15 --no-pager
Kekalkan asas operasi di samping ujian: ruang untuk kemas kini, log terhad, akses pentadbiran yang tidak bergantung pada terowong, konsol pemulihan, dan nota tentang apa yang berlaku kepada profil klien apabila instans dibina semula dan alamat awamnya berubah. Jika antara muka atau model pemajuan yang diperlukan memang tiada, tiada perubahan di sebelah klien akan menyediakannya, dan langkah seterusnya yang jujur ialah jenis instans lain, bukan lebih banyak konfigurasi.