Mengapa Dasar Keselamatan IPsec Bukan Entri Jadual Laluan
Laluan yang berfungsi tidak membuktikan apa-apa tentang IPsec. Baca carian laluan dan pemilih dasar untuk aliran yang sama, kemudian sahkan bahawa persatuan meliputinya.
Ping 10.20.0.5 melalui terowong dan tiada apa yang kembali, sedangkan jadual laluan menegaskan subnet itu boleh dicapai. Penghalaan dan IPsec menjawab soalan yang berbeza, dan hanya satu daripadanya tentang kebolehan dicapai. Carian hadapan memilih laluan, kemudian pangkalan data dasar keselamatan memutuskan sama ada laluan itu perlu dilindungi, dibiarkan atau ditolak. Apabila kedua-duanya tidak bersetuju, paket mati secara senyap, jadi bacalah kedua-duanya dalam urutan itu.
Mulakan dengan carian, bukan jadual
Tanya kernel apa yang sebenarnya akan dilakukannya: ip route get 10.20.0.5 mencetak laluan yang dipilih, antara muka keluar dan alamat sumber yang akan digunakannya. Awalan, peraturan dasar, tanda atau sumber pilihan semuanya boleh mengubah jawapan itu, sebab itulah carian langsung mengalahkan membaca jadual dengan mata.
Uji destinasi di dalam julat terlindung, bukan alamat get laluan. Mencapai get laluan di seberang hanya membuktikan bahawa ada laluan; ia tidak menyatakan apa-apa tentang subnet yang sebenarnya anda perlukan. Kemudian sahkan bahawa antara muka yang dipilih oleh carian ialah yang anda jangkakan terowong gunakan.
Padankan pemilih di kedua-dua belah
Pangkalan data dasar mempunyai entrinya sendiri, dan setiap satu menamakan arah, sumber, destinasi dan protokol, kemudian menyatakan apa yang patut berlaku kepada paket yang sepadan. Gunakan ip xfrm policy untuk menyenaraikannya; bendera menunjukkan sama ada tindakan itu melindungi, memintas atau menyekat. Dasar yang pemilihnya lebih luas atau lebih sempit daripada aliran ujian anda tidak akan sepadan dengannya, dan paket keluar tanpa perlindungan. Itulah kegagalan yang anda cari, bukan laluan yang hilang.
Bandingkan nilai sebenar: sumber, destinasi, protokol dan port. Jika carian menyelesaikan satu pasangan alamat manakala entri dasar meliputi pasangan lain, kedua-dua paparan menerangkan trafik yang berbeza. Jalankan semula kedua-duanya dengan tuple yang sama sebelum membuat kesimpulan, jika tidak anda akan menyunting dasar yang tidak pernah berada di laluan.
Padanan dasar bukan keadaan terpasang
Dasar yang sepadan hanya menyatakan paket mesti dilindungi; kernel masih memerlukan persatuan keselamatan untuk melakukan perlindungan. Senaraikannya dengan ip xfrm state, atau dengan swanctl --list-sas apabila strongSwan menjalankan rundingan, dan baca pemilih serta pembilang pada setiap entri.
Apabila dasar sepadan dan tiada persatuan meliputi pemilih yang sama, paket digugurkan dan bukannya dihantar dalam teks biasa. Itulah pengguguran yang perlu dicari apabila terowong naik tetapi satu subnet gagal. Pembilang memberitahu selebihnya: persatuan yang tidak pernah meningkat tidak pernah dipilih, manakala yang meningkat dan tetap berakhir dengan pengguguran menunjuk ke sisi jauh. Membetulkan pemilih dan memperbaharui kunci ialah pembaikan yang berbeza, jadi tentukan yang mana anda perlukan sebelum menyentuh konfigurasi.
Apa yang masih diperlukan terowong berasaskan laluan
Antara muka XFRM membuat terowong kelihatan seperti peranti yang boleh anda halakan laluan, yang benar-benar berguna. Ia tidak menghapuskan dasar dan keadaan yang menentukan apa yang berlaku apabila paket tiba di sana. Laluan menyumbang lompatan seterusnya dan tidak lebih.
Jika peranti wujud dan laluan menunjuk ke dalamnya manakala tiada persatuan sepadan dengan pemilih dalaman, paket dibuang, dan tiada jumlah penyuntingan laluan menghasilkan kunci atau pemilih. Periksa antara muka dengan sumber dan destinasi yang sama seperti yang anda halakan, kemudian bandingkan dengan senarai keadaan.
Tetapkan pemilikan sebelum menyunting apa-apa
Tembok api hos menambah keputusan ketiga yang tidak diketahui oleh mana-mana daripada dua pangkalan data itu. Laluan yang betul tambah dasar yang sepadan tambah persatuan yang terpasang masih boleh berakhir dengan paket yang digugurkan, dan aplikasi hanya melaporkan tamat masa. Sahkan tembok api membenarkan trafik terlindung sebelum menyalahkan IPsec. Merakam di peranti terowong dan pada antara muka fizikal menunjukkan di sisi mana penyulitan paket itu hilang.
Pemilikan konfigurasi menentukan sama ada pembaikan anda bertahan selepas dimulakan semula. Satu komponen boleh memasang keadaan manakala komponen lain menguruskan laluan, dan suntingan manual pada yang kedua ditimpa apabila terowong naik kali seterusnya. Ubah konfigurasi pemilik, kemudian baca semula kedua-dua paparan; RFC 4301 memisahkan kedua-dua pangkalan data apabila anda perlu menerangkan pemisahan itu kepada orang lain.