Rute default XFRM menelan IKE dan ESP: pertahankan jalur luar
Kebijakan yang melindungi semuanya juga dapat menangkap paket yang menjaga terowongan. Tandai IKE dan ESP, atau pertahankan rute ke peer.
Lalu lintas terlindungi, terowongan aktif, lalu mati pada pembaruan kunci berikutnya. Rute default melalui antarmuka XFRM menjelaskan lalu lintas yang ingin Anda lindungi. Rute itu juga menelan paket yang diperlukan untuk terus melindunginya.
Dua tujuan yang terlibat tidak dapat dipertukarkan. Perutean harus mengatakannya secara eksplisit.
Ke mana pencarian peer sebenarnya pergi
Catat aturan aktif, tabel yang menyimpan rute XFRM, dan alamat publik peer. Lalu lihat jalur yang akan diambil koneksi luar dengan sumber dan tanda sebenarnya. Tujuan generik tidak memberi tahu apa pun tentang jalur kontrol itu. Hanya sumber dan tanda sebenarnya yang memberi jawaban berguna.
Koneksi awal yang berhasil juga tidak membuktikan banyak. Kegagalan sering muncul setelah pemasangan rute mengubah jawabannya. Startup berhasil, lalu pembaruan pertama tidak.
ip rule show
ip route show table 220
ip -4 route get 198.51.100.44 from 10.40.0.2
ip xfrm policy list
Jika pencarian peer berakhir di antarmuka XFRM, paket luar dirutekan ke terowongan yang mereka bangun sendiri. Itulah lupnya, terlihat dalam satu perintah.
Opsi pengecualian pada gateway modern
Dokumentasi strongSwan tentang VPN berbasis rute memberikan dua jawaban praktis. Satu menandai IKE dan ESP agar aturan yang mengarah ke tabel XFRM tidak cocok dengan keduanya. Yang lain menyisakan rute peer atau pengecualian yang masih dapat dijangkau pencarian.
Ambil yang dapat dinyatakan kumpulan aturan Anda tanpa efek samping. Tanda itu bersih ketika sisa tumpukan sudah memakai tanda. Itu berbahaya ketika mask yang sama berarti hal lain di aturan lain. Kedua jenis paket tetap memerlukan penanganan itu.
Menandai IKE saja membiarkan paket data pada jalur yang tertangkap. Itu menghasilkan terowongan yang melakukan handshake lalu tidak membawa apa pun.
Tanda itu adalah satu bit di fwmark paket yang tidak diklaim hal lain di gateway: 0x1 dengan mask 0x1 adalah pilihan biasa, dan harus diatur di dua tempat agar pengecualian berfungsi. Charon memerlukannya pada soket IKE, dan pengaturan tanda masuk serta keluar koneksi anak memerlukan nilai yang sama agar paket terenkapsulasi juga keluar bertanda. Mask 0x1 alih-alih 0xffffffff membiarkan bit sisanya bebas, yang penting ketika subsistem lain sudah menandai paket pada host yang sama. Dengan keduanya diatur, aturan ditulis sebagai pengecualian, sehingga paket bertanda melewati tabel yang menyimpan rute XFRM dan jatuh ke tabel utama:
ip rule add not fwmark 0x1/0x1 lookup 220 pref 1000
ip -4 route get 198.51.100.44 from 10.40.0.2 mark 0x1
Lalu baca jawabannya dengan tanda diterapkan. Tanpanya Anda memeriksa jalur yang diambil lalu lintas terlindungi, yaitu kebalikan dari pertanyaan bagian ini.
Apa yang diasumsikan pemasangan otomatis tentang build
Pemasangan rute otomatis untuk antarmuka XFRM bergantung pada versi strongSwan dan konfigurasinya. ID antarmuka, kebijakan yang dipasang, dan asosiasi semuanya harus merujuk ke objek yang dimaksud. Ketidakcocokan muncul sebagai rute yang diam-diam menunjuk ke suatu tempat yang nyata.
Menyalin nomor tabel atau mask tanda dari gateway lain adalah cara tabrakan dimulai. Periksa dulu apa yang sudah memakainya. Tabrakan memengaruhi lalu lintas jauh melampaui terowongan yang ingin Anda ubah, dan gejalanya jarang menunjuk ke salinan itu.
Perubahan alamat peer adalah bagian dari desain. Rute host untuk alamat kemarin bukan rencana pemulihan endpoint, sedangkan tanda bertahan terhadap perubahan itu.
Awasi pembaruan pertama
Periksa jalur luar setelah rute terlindungi dipasang, bukan sebelumnya. Lalu awasi pembaruan berikutnya dan satu pertukaran aplikasi. Kegagalan biasanya muncul pada transisi itu, bukan saat startup.
ip -4 route get 198.51.100.44
sudo swanctl --list-sas
sudo tcpdump -ni any 'udp port 500 or esp'
Menghapus rute default terlindungi untuk sementara biasanya memulihkan konektivitas. Hasil itu diagnostik, bukan final.
Tujuannya adalah pemisahan yang stabil antara lalu lintas dalam dan paket luar yang membawanya. Tulis mekanisme yang dipilih dan tabel atau tandanya di catatan gateway. Jika tidak, orang berikutnya yang menyentuh aturan akan memasukkan kembali lup itu.