Listigi konekton en la strongSwan-agordo pruvas nur, ke difino estis ŝargita. Ĝi ne signifas, ke la kunulo estis kontaktita, ke IKE-SA ekzistas aŭ ke iu trafiko estas protektita. La demono traktas difinojn kaj vivajn asociojn kiel apartajn objektojn, kaj la distanco inter ili estas konscia dezajna decido. Scii, kiun objekton vi inspektas, transformas vagan fiaskon en konkretan sekvan komandon.

Ŝargado ne estas konektado

Ŝargita konekto estas aserto pri tio, kio povos esti negocata poste: kunulaj adresoj, akreditaĵoj, proponoj kaj trafik-selektiloj. Nenio en tiu aserto postulas, ke la demono alvokis iun. Kluzo povas atendi la alian flankon, iniciati ĉe starto aŭ atendi, ke kongrua trafiko veku ĝin. Ĉiuj tri validas, kaj ĉiuj tri aspektas idente en la agordo-dosiero ĝis vi legos la startan politikon.

Operatoroj enproblemiĝas, kiam ili legas la difino-liston kiel statan liston. La profilo estas tie, do la tunelo estas supozata aktiva, kaj la sekva horo foriras al sencimigado de itineroj por asocio, kiu neniam estis konstruita.

La kontraŭa eraro same oftas. Mankanta profilo sendas homojn serĉi retan fiaskon, kiam la agordo neniam estis ŝargita. Nomu la objekton, poste rulu la komandon, kiu observas ĝin.

Tri objektoj, tri observoj

strongSwan tenas ŝargitan difinon, IKE-SA kaj CHILD-SA. La unua estas agordo, la dua estas aŭtentigita rega rilato, kaj la tria estas negocata protekto por elektita trafiko. Ili eĉ havas apartajn nomojn, do profilo nomata hq povas posedi child nomatan hq-lan.

La tabelo ligas ĉiun tavolon al la komando, kiu montras ĝin. Legu la vicon antaŭ ol legi la protokolon.

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

Peti la child konstruas unue ĝian gepatran IKE-SA, kiam neniu ekzistas. Peti nur la IKE-SA estas alia voko. Rega kanalo, kiu bone aŭtentigas, ne garantias la petitan child.

Tiu diferenco gravas dum parte fiasko. IKE-SA povas esti sana dum la child fiaskas pro selektila malkongruo aŭ propono, kiun la kunulo ne akceptas. La du objektoj fiaskas pro malsamaj kaŭzoj, do ili meritas apartajn observojn.

Elektu la startan agon konscie

En swanctl.conf, la start_action de child decidas la konduton post ŝargado. La implicita none lasas la difinon por mana iniciatado aŭ por uzo kiel respondanto. start vokas ĝin, dum trap lasas politikon, kiu negocas tuj kiam kongrua trafiko aperas.

Do kaj «ŝargado neniam startas tunelon» kaj «ŝargado ĉiam startas unu» estas malĝustaj. La ago estas parto de la profilo, kaj ĝi devus kongrui kun la rolo de la kunulo. Du kluzoj, kiuj ambaŭ atendas la alian flankon, produktas silenton, ne tunelon.

Kun trap, la trafiko devas kongrui kun la selektiloj, do nerilata ping ne vekos ion. Kun start, la kunula adreso devas esti uzebla kaj ambaŭ flankoj devas interkonsenti pri aŭtentigo kaj proponoj. Neniu el la du agoj anstataŭas la kontrolon de tiuj kondiĉoj.

Restaŭrado estas aparta politiko

Starto ne estas keepalive. Detekto de mortinta kunulo, eksplicita fermo fare de la kunulo, reŝlosado kaj reproceso estas malsamaj vivciklaj eventoj kun propraj agordoj. Agordu ĉiun konscie anstataŭ atendi, ke komenca starto kovru ĉiujn.

Tunelo, kiu supreniĝas ĉe starto kaj mortas horon poste, estas restaŭra demando. La starta politiko faris sian taskon kaj poste ĉesis gravi. Rigardu la agordojn de DPD kaj reŝlosado antaŭ ol kulpigi la komencan negocadon.

Anstataŭigi ŝargitajn difinojn estas propra operacio. Neimplicitaj startaj politikoj havas dokumentitajn inversajn agojn, kaj reŝargo estas operacia ŝanĝo anstataŭ supozo, ke ĉiu asocio estis ĝisdatigita surloke. Faru reŝargojn laŭ etapoj, kie rekonekto estas akceptebla. Konservu la malnovan agordon ĝis la nova estos pruvita.

Kontrolu, kio ekzistas, antaŭ ol sencimigi itineraldiron

Rulu la tri observojn laŭ ordo: ŝargitaj difinoj, aktivaj IKE-SA-oj kaj child-enskriboj. Ĉiu respondo mallarĝigas la sekvan demandon. Saltu paŝon kaj vi finos sencimigante tavolon, kiu neniam estis konstruita.

Komencu per tio, kio estas ŝargita, kaj per tio, kio estas fakte establita:

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

Se la child mankas dum la profilo estas ĝusta, iniciatu ĝin laŭnome kaj observu, kio okazas. La eligo kutime diras, ĉu la gepatra unue supreniris.

swanctl --initiate --child hq-lan

Aktiva CHILD-SA ne estas la finlinio. Plusendaj reguloj, itineroj kaj la propra rajtigo de la aplikaĵo ankoraŭ devas kongrui. La vivciklo respondas, kio estis negocata; ĝi ne povas decidi, kiu rajtas uzi la servon.

Rilataj artikoloj