Menyenaraikan sambungan dalam konfigurasi strongSwan hanya membuktikan bahawa satu definisi telah dimuatkan. Ia tidak bermaksud rakan sejawat telah dihubungi, SA IKE wujud, atau mana-mana trafik dilindungi. Daemon menganggap definisi dan persatuan hidup sebagai objek berasingan, dan jarak antara keduanya ialah pilihan reka bentuk yang disengajakan. Mengetahui objek mana yang anda periksa menukar kegagalan kabur menjadi arahan seterusnya yang khusus.

Memuatkan bukan menyambung

Sambungan yang dimuatkan ialah kenyataan tentang apa yang boleh dirundingkan kemudian: alamat rakan sejawat, kelayakan, cadangan dan pemilih trafik. Tiada apa-apa dalam kenyataan itu yang mewajibkan daemon menghubungi sesiapa. Get laluan boleh menunggu pihak lain, memulakan sendiri semasa but, atau menunggu trafik yang sepadan mengejutkannya. Ketiga-tiganya sah, dan ketiga-tiganya kelihatan sama dalam fail konfigurasi sehingga anda membaca dasar permulaan.

Pengendali menghadapi masalah apabila membaca senarai definisi sebagai senarai status. Profil ada, jadi terowong dianggap aktif, dan jam berikutnya habis untuk menyahpepijat laluan bagi persatuan yang tidak pernah dibina.

Kesilapan sebaliknya sama biasa. Profil yang tiada membuat orang mencari kerosakan rangkaian sedangkan konfigurasi tidak pernah dimuatkan. Namakan objek itu, kemudian jalankan arahan yang memerhatikannya.

Tiga objek, tiga pemerhatian

strongSwan menyimpan definisi yang dimuatkan, satu SA IKE dan satu SA CHILD. Yang pertama ialah konfigurasi, yang kedua ialah hubungan kawalan yang disahkan, dan yang ketiga ialah perlindungan yang dirundingkan untuk trafik terpilih. Ketiga-tiganya mempunyai nama berasingan, jadi profil bernama hq boleh memiliki child bernama hq-lan.

Jadual memetakan setiap lapisan kepada arahan yang menunjukkannya. Baca baris sebelum membaca log.

LayerWhat it containsCommand
DefinitionPeer addresses, credentials, proposals, and traffic selectorsswanctl --list-conns
IKE SAOne authenticated control channel to the peerswanctl --list-sas
CHILD SAKeys and selectors for the traffic being protectedChild rows under the IKE SA

Meminta child terlebih dahulu membina SA IKE induknya apabila tiada. Meminta SA IKE sahaja ialah panggilan lain. Kanal kawalan yang disahkan dengan baik tidak menjamin child yang anda minta.

Perbezaan itu penting semasa kegagalan separa. Satu SA IKE boleh sihat sementara child gagal kerana ketidakpadanan pemilih atau cadangan yang tidak diterima rakan sejawat. Kedua-dua objek gagal atas sebab berbeza, jadi kedua-duanya wajar mendapat pemerhatian berasingan.

Pilih tindakan permulaan dengan sengaja

Dalam swanctl.conf, start_action sesuatu child menentukan tingkah laku selepas pemuatan. Nilai lalai none membiarkan definisi itu untuk permulaan manual atau penggunaan sebagai responder. start mendailnya, manakala trap meninggalkan dasar yang berunding sebaik sahaja trafik yang sepadan muncul.

Jadi «pemuatan tidak pernah memulakan terowong» dan «pemuatan sentiasa memulakan satu» kedua-duanya salah. Tindakan itu sebahagian daripada profil dan harus sepadan dengan peranan rakan sejawat. Dua get laluan yang kedua-duanya menunggu pihak lain menghasilkan kesenyapan, bukan terowong.

Dengan trap, trafik mesti sepadan dengan pemilih, jadi ping yang tidak berkaitan tidak akan mengejutkan apa-apa. Dengan start, alamat rakan sejawat mesti boleh digunakan dan kedua-dua pihak mesti bersetuju tentang pengesahan dan cadangan. Tiada satu pun tindakan itu menggantikan pemeriksaan syarat tersebut.

Pemulihan ialah dasar berasingan

Permulaan bukan keepalive. Pengesanan rakan sejawat mati, penutupan jelas oleh rakan sejawat, pembaharuan kunci dan permulaan semula proses ialah peristiwa kitaran hayat berbeza yang mempunyai tetapan sendiri. Konfigurasikan setiap satu dengan sengaja daripada mengharapkan satu permulaan awal meliputi semuanya.

Terowong yang naik semasa but dan mati sejam kemudian ialah persoalan pemulihan. Dasar permulaan telah melakukan tugasnya dan kemudian tidak lagi penting. Lihat tetapan DPD dan pembaharuan kunci sebelum menyalahkan rundingan awal.

Menggantikan definisi yang dimuatkan ialah operasi tersendiri. Dasar permulaan bukan lalai mempunyai tindakan songsang yang didokumenkan, dan memuat semula ialah perubahan operasi, bukan andaian bahawa setiap persatuan dikemas kini di tempat. Lakukan muat semula secara berperingkat, di tempat sambungan semula boleh diterima. Kekalkan konfigurasi lama sehingga yang baharu terbukti.

Periksa apa yang wujud sebelum menyahpepijat penghalaan

Jalankan ketiga-tiga pemerhatian mengikut turutan: definisi yang dimuatkan, SA IKE aktif dan entri child. Setiap jawapan menyempitkan soalan seterusnya. Langkau satu langkah dan akhirnya anda menyahpepijat lapisan yang tidak pernah dibina.

Mulakan dengan apa yang dimuatkan dan apa yang benar-benar terbentuk:

swanctl --list-conns
swanctl --list-sas

Jika child tiada sedangkan profil betul, mulakan ia dengan namanya dan perhatikan apa yang berlaku. Output biasanya mengatakan sama ada induk naik dahulu.

swanctl --initiate --child hq-lan

SA CHILD yang aktif bukan garis penamat. Peraturan penghantaran, laluan dan kebenaran aplikasi itu sendiri masih perlu selaras. Kitaran hayat menjawab apa yang dirundingkan; ia tidak boleh menentukan siapa yang boleh menggunakan perkhidmatan itu.

Artikel berkaitan