Ang paglilista ng koneksyon sa strongSwan configuration ay nagpapatunay lamang na may na-load na depinisyon. Hindi ito nangangahulugang nakontak ang peer, may umiiral na IKE SA, o may anumang trapikong protektado. Itinuturing ng daemon ang mga depinisyon at buhay na asosasyon bilang magkahiwalay na bagay, at ang layo sa pagitan nila ay sadyang desisyon sa disenyo. Ang pag-alam kung aling bagay ang sinusuri mo ay ginagawang tiyak na susunod na utos ang isang malabong pagkabigo.

Ang pag-load ay hindi pagkonekta

Ang na-load na koneksyon ay isang pahayag tungkol sa kung ano ang maaaring pag-usapan sa hinaharap: mga address ng peer, kredensyal, panukala at tagapili ng trapiko. Walang anuman sa pahayag na iyon na nag-uutos sa daemon na tumawag sa kahit sino. Ang gateway ay maaaring maghintay sa kabilang panig, magpasimula sa boot, o maghintay na gisingin ito ng tugmang trapiko. Lahat ng tatlo ay wasto, at lahat ng tatlo ay magkamukha sa configuration file hanggang mabasa mo ang patakaran sa pagsisimula.

Napapasubo ang mga operator kapag binabasa ang listahan ng depinisyon bilang listahan ng estado. Nandiyan ang profile, kaya ipinapalagay na nakaangat ang tunnel, at ang susunod na oras ay napupunta sa pag-debug ng mga ruta para sa asosasyong hindi kailanman itinayo.

Ang kabaligtarang pagkakamali ay kasingkaraniwan. Ang nawawalang profile ay nagpapadala ng mga tao upang maghanap ng sira ng network samantalang hindi kailanman na-load ang configuration. Pangalanan ang bagay, pagkatapos ay patakbuhin ang utos na nagmamasid dito.

Tatlong bagay, tatlong obserbasyon

Nagtatago ang strongSwan ng na-load na depinisyon, isang IKE SA at isang CHILD SA. Ang una ay configuration, ang pangalawa ay awtentikadong ugnayang pang-kontrol, at ang pangatlo ay napag-usapang proteksyon para sa piniling trapiko. May hiwalay pa silang pangalan, kaya ang profile na tinatawag na hq ay maaaring magmay-ari ng child na tinatawag na hq-lan.

Itinutugma ng talahanayan ang bawat layer sa utos na nagpapakita nito. Basahin ang hilera bago basahin ang 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

Ang paghingi ng child ay unang nagtatayo ng magulang nitong IKE SA kapag wala pa. Ang paghingi lamang ng IKE SA ay ibang tawag. Ang control channel na maayos na nagpapatunay ay hindi ginagarantiya ang child na hiniling mo.

Mahalaga ang pagkakaibang ito sa bahagyang pagkabigo. Ang IKE SA ay maaaring malusog habang nabibigo ang child dahil sa hindi pagtutugma ng tagapili o panukalang hindi tinatanggap ng peer. Nabibigo ang dalawang bagay sa magkaibang dahilan, kaya karapat-dapat sila sa hiwalay na obserbasyon.

Piliin ang aksyon sa pagsisimula nang sadya

Sa swanctl.conf, ang start_action ng isang child ang nagtatakda ng pag-uugali pagkatapos ng pag-load. Ang default na none ay iniiwan ang depinisyon para sa manu-manong pagpasimula o paggamit bilang responder. Dinidiyal ito ng start, samantalang nag-iiwan naman ang trap ng patakarang makikipag-ayos sa sandaling lumitaw ang tugmang trapiko.

Kaya parehong mali ang «hindi kailanman nagsisimula ng tunnel ang pag-load» at «palaging nagsisimula ng isa ang pag-load». Bahagi ng profile ang aksyon at dapat tumugma sa papel ng peer. Dalawang gateway na parehong naghihintay sa kabilang panig ay gumagawa ng katahimikan, hindi tunnel.

Sa trap, dapat tumugma ang trapiko sa mga tagapili, kaya walang gigisingin ang walang kaugnayang ping. Sa start, dapat magamit ang address ng peer at dapat magkasundo ang dalawang panig sa awtentikasyon at panukala. Wala sa dalawang aksyon ang pumapalit sa pagsuri sa mga kundisyong iyon.

Ang pagbawi ay hiwalay na patakaran

Ang pagsisimula ay hindi keepalive. Pagtuklas ng patay na peer, hayagang pagsasara ng peer, pagpapalit ng susi at muling pagpapatakbo ng proseso ay magkaibang pangyayari sa ikot ng buhay na may sariling setting. Isa-isang i-configure ang bawat isa nang sadya sa halip na asahan na sasaklawin ng unang pagsisimula ang lahat.

Ang tunnel na umaangat sa boot at namamatay makalipas ang isang oras ay tanong ng pagbawi. Nagawa ng patakaran sa pagsisimula ang trabaho nito at pagkatapos ay hindi na ito mahalaga. Tingnan ang DPD at mga setting ng pagpapalit ng susi bago sisihin ang unang negosasyon.

Ang pagpapalit ng na-load na depinisyon ay sariling operasyon. Ang di-default na patakaran sa pagsisimula ay may dokumentadong kabaligtarang aksyon, at ang muling pag-load ay pagbabago sa operasyon, hindi isang palagay na na-update ang bawat asosasyon sa lugar. Gawin ang muling pag-load nang yugto-yugto, kung saan katanggap-tanggap ang muling pagkonekta. Itago ang lumang configuration hanggang mapatunayan ang bago.

Tingnan kung ano ang umiiral bago i-debug ang routing

Patakbuhin ang tatlong obserbasyon sa pagkakasunod-sunod: na-load na depinisyon, aktibong IKE SA at mga entry ng child. Bawat sagot ay nagpapaliit sa susunod na tanong. Laktawan ang isang hakbang at sa huli ay i-de-debug mo ang layer na hindi kailanman itinayo.

Magsimula sa kung ano ang na-load at kung ano ang tunay na naitatag:

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

Kung wala ang child samantalang tama ang profile, pasimulan ito sa pangalan at obserbahan ang mangyayari. Karaniwang sinasabi ng output kung nauna bang umangat ang magulang.

swanctl --initiate --child hq-lan

Ang aktibong CHILD SA ay hindi finish line. Kailangan pa ring magtugma ang mga tuntunin sa pagpapasa, ruta at sariling awtorisasyon ng aplikasyon. Sinasagot ng ikot ng buhay kung ano ang napag-usapan; hindi nito matatakda kung sino ang maaaring gumamit ng serbisyo.

Kaugnay na mga artikulo