Split tunnel tidak mengecualikan hos awam daripada peraturan NAT ASA
Laluan split-include menarik hos awam ke dalam terowong, tempat ASA mesti melakukan hairpin dan menterjemah sumber. Langkau mana-mana satu langkah dan aliran gagal.
Split tunneling biasanya diterangkan sebagai cara untuk mengekalkan trafik korporat di dalam terowong dan seluruh internet di luar firewall. Kedua-dua separuh penerangan itu salah dengan cara yang sama. Split tunneling ialah keputusan laluan yang dibuat oleh klien, dan keputusan laluan tidak mengatakan apa-apa tentang apa yang berlaku kepada paket selepas ia sampai ke headend.
Satu perkhidmatan rakan kongsi pada alamat awam, yang berkeras mahu melihat alamat ibu pejabat anda, sudah cukup untuk meruntuhkan cerita itu.
Mitos: split tunnel mengeluarkan firewall daripada laluan
Kepercayaan ialah mana-mana destinasi di luar julat peribadi kekal pada sambungan internet tempatan, jadi firewall tidak pernah melihatnya dan tidak pernah memerlukan peraturan untuknya. Itu hanya benar selagi destinasi itu tiada dalam senarai terowong. Sebaik sahaja pengendali menambah hos awam ke ACL split-include, klien menghantar trafik itu ke dalam terowong, dan ASA mesti menghalakan, menapis dan menterjemahnya seperti mana-mana aliran dinyahsulit yang lain. Tiada apa yang berubah pada klien kecuali senarai destinasi.
Klien tidak menjadi penghala. Ia mengikut dasar yang anda berikan.
Apa sebenarnya yang dilakukan oleh laluan split-include
Dalam persediaan akses jauh Cisco ASA, dasar kumpulan membawa split-tunnel-policy tunnelspecified dan split-tunnel-network-list yang menamakan ACL standard. Setiap baris permit dalam ACL itu ialah destinasi yang perlu dihantar oleh klien ke dalam terowong, dan semua yang lain terus menggunakan laluan lalai tempatan.
Menambah satu hos ialah satu baris, dan itulah satu-satunya bahagian perubahan yang boleh dilihat oleh klien: access-list RA-SPLIT standard permit host 203.0.113.20.
Sambung semula klien selepas itu. Dasar ditukar semasa sambungan, jadi sesi yang telah terbentuk mengekalkan senarai lama dan menjadikan perubahan itu kelihatan seperti tidak melakukan apa-apa.
Paket masuk dan keluar melalui antara muka yang sama
Sekarang jejaki aliran selepas dinyahsulit. Paket masuk melalui antara muka luar melalui terowong VPN, destinasinya ialah alamat awam, dan jadual penghalaan menghantarnya kembali keluar melalui antara muka luar yang sama menuju internet. Trafik yang masuk dan keluar pada satu antara muka akan digugurkan melainkan ASA dibenarkan, dan itulah yang dilakukan oleh same-security-traffic permit intra-interface. Tanpanya sambungan gagal dengan cara yang kelihatan seperti masalah penghalaan tetapi bukan.
Tetapan itu bersifat global. Ia membenarkan hairpinning untuk setiap aliran yang memerlukannya, bukan hanya untuk hos rakan kongsi ini, jadi ia tergolong dalam perubahan yang disemak dan bukan ujian pantas.
Mengapa PAT terhad destinasi bukan pilihan
Alamat sumber pada paket yang dinyahsulit masih alamat VPN klien, biasanya daripada kumpulan seperti 10.77.0.0/24. Alamat itu tiada laluan di internet awam, jadi rakan kongsi sama ada tidak pernah menjawab atau menjawab ke tempat yang tiada.
Penterjemahan membetulkan sumber dan membiarkan destinasi tidak disentuh. Oleh kerana objek sudah ditakrifkan di tempat lain, peraturan manual yang terhad kepada destinasi ini mempunyai bentuk ini:
same-security-traffic permit intra-interface
object network RA_POOL
subnet 10.77.0.0 255.255.255.0
object network PARTNER_HOST
host 203.0.113.20
nat (outside,outside) source dynamic RA_POOL interface destination static PARTNER_HOST PARTNER_HOSTBahagian destination static penting. Jika diabaikan, peraturan menjadi penterjemahan luas yang boleh sepadan dengan jauh lebih banyak trafik daripada yang dimaksudkan, dan peraturan identity luas yang lebih awal dalam susunan boleh menewaskannya sepenuhnya. Periksa show nat detail dan susunan bahagian sebelum menganggap peraturan anda yang sepadan.
PAT antara muka juga bermakna rakan kongsi melihat alamat antara muka ASA, yang mungkin diterjemah semula di hulu. Jika kontrak menamakan alamat, sahkan dari hujung ke hujung dan bukan pada satu hop.
Buktikan dengan destinasi ujian yang betul
Gunakan hos rakan kongsi itu sendiri, bukan halaman what-is-my-ip generik. Halaman itu hampir pasti di luar senarai split, jadi ia melaporkan alamat internet tempatan anda dan tidak mengatakan apa-apa tentang laluan ini. Buka sambungan baharu ke perkhidmatan rakan kongsi dan tanya sumber apa yang mereka lihat, atau jalankan packet-tracer input outside tcp 10.77.0.10 12345 203.0.113.20 443 detailed dan baca peringkat NAT dan penghalaan baris demi baris. Traceroute daripada klien ialah pemeriksaan yang lebih lemah, kerana ia menunjukkan laluan yang sudah berlaku, bukan dasar yang memilihnya.
Kemudian periksa apa yang tidak sepatutnya berubah. Laman web biasa mesti masih keluar melalui sambungan tempatan, dan sumber peribadi dalam senarai terowong mesti masih boleh dicapai. Perubahan yang membaiki rakan kongsi dan memecahkan salah satu daripada keduanya ialah pepijat lain.
Versi yang berfungsi bagi reka bentuk ini adalah pendek: satu hos dalam ACL split, kebenaran hairpin, satu peraturan PAT terhad destinasi. Semua yang lain dalam cerita itu ialah mitos.