Tiada CHILD SA muncul dalam output status, terowong kelihatan mati, kemudian ping ke subnet jauh menaikkannya. Dalam persediaan IPsec atas permintaan, urutan itu ialah reka bentuk, bukan kerosakan. Dasar trap memasang pemilih dan menunggu, dan paket pertama yang sepadan dengannya yang memulakan IKE dan rundingan CHILD SA.

Sebahagian kekeliruan ialah perbendaharaan kata: “up” digunakan untuk dua keadaan berbeza. Konfigurasi telah dimuatkan dan dasar kernel wujud, tetapi persatuan data tidak. Monitor yang hanya mengira SA aktif akan melaporkan tapak sihat sebagai mati selagi tiada siapa menghantar trafik ke sana.

Terowong menganggur atas permintaan tiada CHILD SA untuk ditunjukkan

Entri trap tidak mengesahkan apa-apa dengan sendirinya. Ia meminta kernel menyimpan dasar untuk trafik terpilih dan menaikkan acquisition apabila paket memerlukan dasar itu. Daemon menerima acquisition, memadankannya dengan definisi child dan berunding dari situ. Sehingga itu tiada IKE SA untuk ditunjukkan juga, sebab itu kedua-dua senarai boleh kosong serentak.

Urutan itulah yang menjadikan log boleh dibaca. Pertama acquisition datang, kemudian IKE_SA_INIT dan IKE_AUTH, kemudian CHILD SA. Jika log tamat sejurus selepas acquisition, pencetus berfungsi. Rundingan gagal, dan soalan seterusnya ialah tentang kelayakan, cadangan atau kebolehsampaian, bukan tentang trap.

Dengan backend kernel Linux anda boleh melihat dasar sebelum mana-mana SA wujud. Jalankan ip xfrm policy dan cari pemilih dengan arah out dan templat yang menunjuk ke sambungan. Entri itu ialah keadaan atas permintaan, dan kewujudannya ialah perkara pertama yang perlu disahkan.

start_action menentukan sama ada apa-apa pun menunggu

Setiap child dalam swanctl.conf membawa start_action. start bermula apabila konfigurasi dimuatkan, trap memasang dasar dan menunggu, dan none menyerahkan permulaan kepada perkara lain. Hanya trap menghasilkan tingkah laku “ping dan ia naik” yang diterangkan di atas.

children {
    office-lan {
        local_ts = 192.168.50.0/24
        remote_ts = 192.168.70.0/24
        start_action = trap
    }
}

Dua pemilih trafik mentakrifkan apa yang dikira menarik, dan paket daripada hos di luar awalan itu tidak mencetuskan trap; ia dihalakan seperti biasa. Melebarkan pemilih supaya pencetus lebih agresif juga melebarkan skop yang terowong dakwa lindungi, jadi terbitkan daripada trafik yang benar-benar ingin anda sulitkan.

Rujukan swanctl.conf menyenaraikan nilai yang diterima, bersama tindakan close dan DPD berasingan yang mengawal apa yang berlaku selepas SA wujud.

Ketahui sama ada pencetus tercetus langsung

Mulakan dengan swanctl --list-conns dan sahkan child dimuatkan dengan tindakan yang anda maksudkan. Kemudian hantar satu paket daripada hos di dalam local_ts ke alamat di dalam remote_ts dan perhatikan swanctl --list-sas. Jika output tidak berubah, tiada acquisition sampai ke daemon.

Dua sebab biasa trap senyap: paket telah di-source-NAT sebelum mengenai dasar dan tidak lagi sepadan dengan local_ts, atau sambungan tidak pernah dimuatkan kerana ralat sintaks atau kelayakan. Jalankan semula swanctl --load-all dan baca outputnya sebelum menyentuh pemilih. Sambungan yang gagal dimuatkan tidak memasang dasar, jadi tiada apa untuk trafik cetuskan.

Arah juga penting: trap yang dipasang untuk trafik keluar tidak bermula pada paket masuk. Jika pihak jauh yang perlu menaikkan terowong, ia perlukan trap sendiri, atau pihak ini perlukan start.

Menunggu paket pertama bukan selalu pertukaran yang betul

Sesi interaktif merasai kos persediaan. Permintaan pertama membayar pertukaran IKE dan rundingan CHILD, dan klien dengan had masa singkat boleh berputus asa sebelum SA wujud. start proaktif menghapuskan kelewatan paket pertama itu. Tetapi ia mengekalkan terowong untuk trafik yang mungkin tidak pernah tiba.

Tiga fakta menentukan pilihan: berapa kerap laluan digunakan, sama ada permintaan pertama mempunyai had masa ketat, dan sama ada rakan sebaya boleh dicapai semasa but. Trafik kelompok sekali-sekala dan rakan sebaya yang mungkin luar talian semasa but kedua-duanya menyokong trap. Klien sensitif kependaman dan rakan sebaya yang sentiasa boleh dicapai menyokong start. Jika kedua-dua pihak boleh memulakan, bersetuju siapa memiliki pencetus supaya tidak berlaku rundingan berganda.

Dasar yang dipasang juga bukan jaminan kalis kebocoran. Jika keperluan ialah fail-closed, firewall mesti menggugurkan trafik tanpa SA, dan peraturan itu hidup di luar definisi child.

Catat tiga baris yang menamatkan perdebatan seterusnya

Tuliskan pemilih, tindakan permulaan dan output arahan yang menunjukkan dasar hadir tanpa SA. Tiga baris itu memisahkan “atas permintaan dan menganggur” daripada “tidak dimuatkan” lain kali seseorang melaporkan terowong mati. Ia mengambil masa seminit untuk dicatat. Tanpanya siasatan yang sama bermula dari sifar.

Uji daripada hos yang benar-benar berada di dalam pemilih. Ping daripada penghala itu sendiri sering mengikut laluan berbeza dan tidak membuktikan apa-apa tentang dasar yang melindungi subnet di belakangnya.

Artikel berkaitan