Наведувањето на конекција во strongSwan конфигурацијата докажува само дека е вчитана дефиниција. Тоа не значи дека партнерот е контактиран, дека постои IKE SA или дека некој сообраќај е заштитен. Демонот ги третира дефинициите и живите асоцијации како одделни објекти, а растојанието меѓу нив е намерна дизајнерска одлука. Да знаете кој објект го прегледувате го претвора нејасниот дефект во конкретна следна команда.

Вчитувањето не е поврзување

Вчитаната конекција е изјава за тоа што може да се преговара подоцна: адреси на партнерот, акредитиви, предлози и селектори на сообраќај. Ништо во таа изјава не бара демонот да има повикано некого. Гејтвејот може да ја чека другата страна, да иницира при стартување или да чека да го разбуди соодветен сообраќај. Сите три се валидни, и сите три изгледаат идентично во конфигурациската датотека додека не ја прочитате политиката за стартување.

Оператори запаѓаат во неволја читајќи ја листата на дефиниции како листа на статус. Профилот е таму, па тунелот се смета за активен, а следниот час оди на отстранување грешки во рутите за асоцијација што никогаш не е изградена.

Спротивната грешка е исто толку честа. Профилот што недостасува ги праќа луѓето да бараат мрежен дефект кога конфигурацијата никогаш не се вчитала. Именувајте го објектот, а потоа извршете ја командата што го набљудува.

Три објекти, три набљудувања

strongSwan држи вчитана дефиниција, IKE SA и CHILD SA. Првата е конфигурација, втората е автентифициран контролен однос, а третата е преговарана заштита на избраниот сообраќај. Имаат дури и одделни имиња, па профил по име hq може да поседува child по име hq-lan.

Табелата го поврзува секој слој со командата што го прикажува. Прочитајте го редот пред да го прочитате дневникот.

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

Барањето на child прво ја гради неговата надредена IKE SA кога не постои ниту една. Барање само на IKE SA е друг повик. Контролниот канал што правилно се автентификува не го гарантира child што го побаравте.

Таа разлика е важна при делумен дефект. IKE SA може да биде здрав додека child паѓа на неусогласеност на селектор или на предлог што партнерот не го прифаќа. Двата објекта паѓаат од различни причини, па заслужуваат одделни набљудувања.

Изберете ја акцијата за стартување намерно

Во swanctl.conf start_action на child одлучува за однесувањето по вчитувањето. Стандардната вредност none ја остава дефиницијата за рачно иницирање или за употреба како responder. start ја повикува, додека trap остава политика што преговара штом се појави соодветен сообраќај.

Значи, и „вчитувањето никогаш не стартува тунел” и „вчитувањето секогаш стартува еден” се погрешни. Акцијата е дел од профилот и треба да одговара на улогата на партнерот. Два гејтвеја што и двата чекаат другата страна произведуваат тишина, не тунел.

Со trap сообраќајот мора да одговара на селекторите, па неврзан пинг нема да разбуди ништо. Со start адресата на партнерот мора да биде употреблива и двете страни мора да се согласат за автентикација и предлози. Ниту една од акциите не ја заменува проверката на тие услови.

Враќањето во нормала е одделна политика

Стартувањето не е keepalive. Откривање мртов партнер, експлицитно затворање од партнерот, обновување клучеви и повторно стартување на процесот се различни настани од животниот циклус со сопствени поставки. Конфигурирајте го секој намерно наместо да очекувате почетното стартување да ги покрие сите.

Тунел што се подига при стартување и умира еден час подоцна е прашање на враќање во нормала. Политиката за стартување ја заврши својата работа и потоа престана да биде важна. Погледнете ги DPD и поставките за обновување клучеви пред да го обвините почетното преговарање.

Замената на вчитани дефиниции е посебна операција. Нестандардните политики за стартување имаат документирани инверзни акции, а повторното вчитување е оперативна промена, а не претпоставка дека секоја асоцијација е ажурирана на место. Изведувајте ги повторните вчитувања во фази, каде што повторното поврзување е прифатливо. Задржете ја старата конфигурација додека новата не се докаже.

Проверете што постои пред да отстранувате грешки во рутирањето

Изведете ги трите набљудувања по ред: вчитани дефиниции, активни IKE SA и child записи. Секој одговор го стеснува следното прашање. Прескокнете чекор и на крајот ќе отстранувате грешки во слој што никогаш не е изграден.

Почнете со она што е вчитано и со она што е навистина воспоставено:

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

Ако child недостасува додека профилот е исправен, иницирајте го по име и набљудувајте што се случува. Излезот обично кажува дали родителот прв се подигнал.

swanctl --initiate --child hq-lan

Активна CHILD SA не е целната линија. Правилата за проследување, рутите и сопствената авторизација на апликацијата уште треба да се поклопат. Животниот циклус одговара што е преговарано; не може да одлучи кој смее да ја користи услугата.

Поврзани статии