Klien VPN yang dirutekan sampai ke pelayan tetapi bukan hos LAN
Klien yang dirutekan boleh mendail masuk dan masih kehilangan setiap balasan daripada hos LAN. Tambah laluan pulang pada get laluan, kemudian semak penghantaran dan penapisan paket.
Terowong naik, klien membuat ping ke pelayan VPN, dan perkongsian pada mesin satu lompatan lebih jauh tidak pernah menjawab. Tiada apa-apa dalam konfigurasi klien yang menjelaskannya, kerana permintaan itu memang keluar dari klien dan memang tiba. Yang gagal ialah perjalanan pulang, dan peranti yang gagal biasanya get laluan LAN dan bukan hos VPN. Menjejak paket balasan menjelaskan seluruh kelas gejala ini.
Ikut Balasan, Bukan Permintaan
Pelayan VPN menyahsulit paket klien dan menghantarnya ke LAN dengan alamat klien masih dalam medan sumber. Hos destinasi menjawab alamat itu, dan kini jadual laluannya sendiri menentukan segala-galanya. Get laluan lalainya tidak tahu apa-apa tentang kolam terowong, jadi balasan keluar menuju penyedia internet dan dibuang di suatu tempat sepanjang laluan itu.
Pada klien gejalanya ialah tamat masa senyap: tiada penolakan, tiada set semula, hanya tiada apa-apa. Pelayaran perkongsian tergantung, ping melaporkan tiada balasan, dan log pelayan kelihatan sihat kerana pelayan telah menjalankan tugasnya.
Letakkan Laluan Pulang di Tempat Hos Melihat
Setiap hos LAN merujuk get laluan lalainya, jadi get laluan ialah satu-satunya peranti yang perlu tahu di mana kolam terowong berada. Tambah laluan statik di sana dan setiap hos mewarisi laluan yang betul tanpa disentuh.
Jika get laluan mengagihkan alamatnya sendiri sebagai pilihan DHCP, agihkan laluan dengan cara itu supaya mesin baharu mengambilnya secara automatik. Jika tidak, laluan itu tinggal dalam satu fail konfigurasi dan hilang pada pembinaan semula seterusnya.
# on the LAN gateway; tunnel pool 172.20.5.0/24, VPN server 10.60.4.10
ip route add 172.20.5.0/24 via 10.60.4.10
ip route get 172.20.5.14
Mengapa NAT Sumber Kelihatan Membaikinya
Menyamarkan kolam klien di belakang alamat pelayan VPN menghapuskan masalah dengan mengeluarkan alamat klien daripada paket. Balasan kemudian kembali ke pelayan, yang sudah tahu cara mencapai terowong, dan semuanya berfungsi. Kosnya ialah hos dalaman tidak lagi dapat melihat siapa klien, dan setiap sambungan kelihatan berasal dari satu mesin.
Pertukaran itu kadangkala betul, contohnya apabila perkakas vendor tidak boleh diberi laluan statik. Jangan buat peraturan lebih lebar daripada kolam semasa, kerana peraturan yang ditulis untuk /24 berhenti sepadan pada hari kolam dinomborkan semula kepada /16, dan tanda pertama ialah sekumpulan klien baharu yang menyambung dan tidak sampai ke mana-mana.
iptables -t nat -A POSTROUTING -s 172.20.5.0/24 -o ens18 -j MASQUERADE
iptables -t nat -L POSTROUTING -n -v
Laluan Awan Memerlukan Tiga Tetapan
Dalam VPC jurang yang sama kembali dalam bentuk lain, kerana subrangkaian langsung tidak mempunyai laluan untuk julat klien. Jadual laluan memerlukan entri untuk kolam terowong yang menyasarkan antara muka rangkaian instans, dan antara muka itu perlu mematikan pemeriksaan sumber dan destinasi supaya platform menerima paket yang sumbernya bukan alamatnya sendiri. Kumpulan keselamatan dan ACL rangkaian juga mesti membenarkan kolam itu dalam kedua-dua arah.
Setiap peninggalan menghasilkan kegagalan separa yang berbeza. Langkau entri jadual laluan dan instans peribadi menjawab ke subrangkaian yang tidak dapat membawa balasan kembali ke kolam. Dengan pemeriksaan masih hidup, platform membuang balasan selepas instans sudah menghantarnya. Tanpa peraturan kumpulan keselamatan, permintaan itu sendiri tidak pernah tiba, dan klien melihat tamat masa satu lapisan lebih awal.
Jalankan Pemeriksaan dalam Urutan Ini
Sahkan penghantaran dan dasar penapisan sebelum menyalahkan penghalaan, kerana hos yang tidak akan menghantar gagal dengan cara senyap yang sama. Kemudian baca tetapan laluan balik yang berkesan pada antara muka yang membawa terowong, kerana penapis ketat boleh membuang balasan yang datang dari arah tidak dijangka.
Akhiri dengan tangkapan yang diambil pada hos LAN semasa klien mempingnya. Permintaan yang tiba tanpa balasan yang sepadan membuktikan laluan pulang, dan permintaan yang tidak pernah tiba memindahkan kesalahan kembali kepada pelayan atau terowong.
sysctl net.ipv4.ip_forward net.ipv4.conf.all.rp_filter
tcpdump -ni any host 172.20.5.14 and icmp
Pemeriksaan sumber dan destinasi didokumenkan dalam panduan antara muka rangkaian elastik. Tetapkannya pada antara muka yang benar-benar membawa trafik terowong, bukan pada penyesuai tidak berkaitan yang dipasang pada instans yang sama.