Mengapa klien Access Server tidak terjangkau dari LAN
Klien yang dirutekan menyimpan alamat kolamnya, jadi balasan membutuhkan rute kembali. Baca sumbernya di layanan, lalu tambahkan rute kolam di gateway yang tepat.
Laptop terhubung, terowongan aktif, dan permintaan ke layanan internal menggantung saat konek. Pada layanan itu sendiri permintaan datang dari alamat seperti 10.90.0.25, balasan berangkat ke gateway default, dan tidak ada yang kembali, karena gateway itu tidak tahu di mana 10.90.0.25 berada. Dari ujung lain, kesalahan yang sama tampak seperti host internal yang tidak dapat mem-ping klien yang terhubung. Keduanya adalah satu objek yang hilang: rute balik ke kolam klien VPN, yang hanya dapat ditambahkan oleh jaringan privat.
Baca alamat sumber yang dilihat layanan
Satu bidang itu menentukan semua sisanya. Jika layanan internal melihat alamat kolam, Access Server merutekan alih-alih menyembunyikan lalu lintas klien, dan setiap balasan harus dirutekan kembali ke kolam. Jika yang dilihatnya adalah alamat privat server itu sendiri, server melakukan masquerade dan jalur balasan sudah bekerja, dengan harga hilangnya identitas per klien di log dan aturan akses layanan.
Bandingkan kedua ujung sebelum mengubah apa pun. Di server, daftarkan antarmuka terowongan dan alamatnya; di klien, pastikan alamat mana yang benar-benar dipegangnya; di host internal, lihat koneksi yang sedang aktif.
ip -br addr show
ss -tnp state established '( dport = :443 )'
ip route get 10.90.0.25Perintah terakhir adalah yang gagal dalam kasus rusak: ia melaporkan prefiks terowongan sebagai tidak terjangkau atau, lebih buruk, mengembalikan gateway default Anda, dan begitulah balasan berakhir di internet.
Jangan menganggap hanya ada satu kolam. Satu server dapat memiliki rentang dinamis plus pemetaan statis per pengguna, dan alamat statis bisa berada sepenuhnya di luar prefiks dinamis. Jika Anda hanya merutekan rentang yang Anda ingat, pengguna dengan alamat tetap tetap rusak dan semua orang lain melaporkan masalahnya selesai.
Tambahkan rute di tempat balasan diputuskan
Rute itu milik gateway yang sudah dipakai layanan internal, bukan milik layanan, kecuali layanan merutekan lalu lintasnya sendiri. Arahkan ke alamat privat Access Server yang dapat dijangkau, yang berbeda dari alamat terowongan yang dipegang klien.
ip route add 10.90.0.0/24 via 10.0.1.5
ip route get 10.90.0.25Di jaringan cloud, pernyataan yang sama menjadi entri tabel rute yang targetnya adalah instans atau antarmuka jaringan tempat server berjalan, dengan pemeriksaan sumber dan tujuan dimatikan pada antarmuka itu. Perhatikan apa yang tidak dilakukan entri itu: rute bukan pemberian akses, jadi grup keamanan, ACL jaringan, dan firewall host tetap harus mengizinkan lalu lintasnya.
Buat rute itu persisten, dan jaga ukuran kolam tetap jujur. Dua kolam yang tidak berurutan membutuhkan dua rute, dan kolam yang tumbuh melewati prefiks terkonfigurasinya diam-diam menghasilkan klien yang balasannya tidak punya tempat tujuan. Jika Anda mengendalikan rentang kolam, pilih ringkasan yang dapat Anda rutekan sekali dan biarkan.
Penerusan dan filter harus sesuai dengan rute
Perutean hanyalah separuh jalur. Server harus diizinkan meneruskan antara terowongan dan antarmuka privat, yang di Linux berarti net.ipv4.ip_forward plus rantai penerusan yang mengizinkan pasangan antarmuka, dan pada host yang diperkeras biasanya aturan eksplisit untuk setiap arah.
sysctl net.ipv4.ip_forward
nft list ruleset | grep -A5 forwardPemfilteran stateful menjelaskan gejala yang menuntun orang ke jalur yang salah. Balasan di dalam aliran yang sudah terbentuk tidak membutuhkan aturan masuk baru, jadi koneksi yang menggantung setelah SYN-ACK tidak diblokir oleh aturan accept yang hilang; koneksi itu dibuang atau dirutekan salah. Pertahankan perbedaan ini, karena ia memisahkan perubahan perutean dari perubahan firewall.
Jalur balik asimetris adalah versi yang lebih tenang dari masalah yang sama. Jika dua rute mencapai kolam dan balasan mengambil rute yang keluar dari antarmuka berbeda dari tempat permintaan masuk, pemfilteran jalur balik yang ketat membuangnya dan aliran gagal hanya untuk sebagian klien.
Dirutekan atau masquerade: pilih dengan sadar
Mode dirutekan mempertahankan alamat kolam klien di layanan, yang memungkinkan pencatatan dan kebijakan per klien, dan sebagai gantinya setiap jaringan internal yang harus membalas klien membutuhkan rute kolam. Mode masquerade menghapus persyaratan itu karena balasan kembali ke server, tetapi layanan tidak lagi dapat membedakan satu klien dari yang lain dan tidak dapat memulai apa pun ke klien tertentu.
Mengubah perilaku itu pada server yang sedang berjalan memutus sesi yang ada, jadi ujilah dulu dengan satu klien dan satu aliran. Jika pergantian itu jawaban yang benar, itu keputusan konfigurasi di server, bukan sesuatu yang diakali dengan menambahkan rute yang nanti menjadi tidak perlu.
Subnet di belakang klien adalah tugas terpisah
Menjangkau perangkat di LAN laptop itu sendiri tidak sama dengan menjangkau alamat terowongan laptop. Ini membutuhkan klien bertindak sebagai gateway subnet: jaringan yang dideklarasikan di sisi klien, penerusan diaktifkan di sistem operasi klien, dan rute di LAN itu kembali ke arah klien. Menambahkan rute jaringan privat untuk rentang rumah laptop tidak melakukan ini, dan menimbulkan konflik ketika dua pengguna memiliki rentang rumah yang sama.
Arah juga merupakan pertanyaan kebijakan. Izin bagi klien untuk membuka koneksi ke layanan internal tidak otomatis mengizinkan host internal membuka koneksi ke klien itu. Periksa kebijakan akses server dan firewall host klien sebelum menyimpulkan jalurnya rusak.
Verifikasi dengan satu aliran dan satu tangkapan
Buktikan jalurnya dengan satu koneksi alih-alih uji keterjangkauan umum. Amati aliran yang sama di kedua ujung: permintaan yang tiba di layanan dan balasan yang meninggalkannya.
tcpdump -ni any host 10.90.0.25 and port 443Sebelum perbaikan, tangkapan menunjukkan balasan berangkat ke gateway yang tidak akan merutekannya. Setelah perbaikan, balasan berangkat ke server dan aliran selesai. Lalu pastikan rute yang akan dipakai gateway untuk alamat klien kedua, agar kolam yang belum Anda cakup muncul sekarang, bukan seminggu kemudian.
Tutup dengan empat pemeriksaan yang menyelesaikannya: alamat sumber di layanan sesuai dengan mode yang Anda maksudkan, gateway memiliki rute ke setiap kolam yang dipakai, penerusan dan filter mengizinkan kedua arah, dan satu aliran nyata selesai dari ujung ke ujung. Pertanyaan umum perutean Access Server menyatakan prinsip yang sama untuk rilis terpasang, yang antarmuka konfigurasi didukungnya bisa berbeda dari panduan lama.