Кога IKEv2 враќа TS_UNACCEPTABLE, споредете ги вистинските подмрежи
Одбивањето на селектор е несогласување за покриеноста меѓу две страни. Заменете ги локалните и далечните ознаки, потоа споредете ги точните опсези што ги предлага секоја страна.
Читајте го TS_UNACCEPTABLE како несогласување за покриеноста, а не како оштетен профил. Портата вели дека двете страни не можеле да се договорат кои адреси може да ги носи овој тунел. IKE SA веќе може да биде крената во тој момент, затоа клиентот може да изгледа поврзан без ниту една детска SA зад него. Кога ќе го поставите така, работата станува механичка. Запишете ги предвидените префикси на двете страни, споредете ги во една насока и стеснувајте додека не се пресечат.
Прво запишете ги предвидените парови
Пред да ја допрете конфигурацијата, наведете четири вредности: опсегот на изворот на иницијаторот, неговиот опсег на одредиштето и истиот пар гледан од страната на одговорникот. Запишете ја и фамилијата на адреси на секоја од нив. Опсегот IPv4 и опсегот IPv6 се различни типови селектори и ниту еден не може да се свитка во полезниот товар на другиот.
Додајте какво било ограничување на протокол или порта што го носи политиката. Правилото што дозволува само TCP 445 до датотечен сервер опишува потесно множество од подмрежата во која се наоѓа. Ако го оставите надвор од вашите белешки, резултатот од преговорите ќе изгледа неконзистентен од причини што не ги гледате.
Заменете ги ознаките пред да ги споредите
Локално и далечно се релативни ознаки. Локалниот префикс на клиентот е далечниот опсег на портата, а локалниот опсег на портата е далечниот опсег на клиентот. Затоа сликите од екранот од двата краја никогаш не се совпаѓаат, а нивното буквално споредување е вообичаениот начин да изгубите попладне.
Одговорникот може да понудата да ја стесни на прифатливо подмножество наместо да ја одбие. Тој исход е полош од чист неуспех, затоа што работи половично. Побарајте 10.0.0.0/16 кога политиката дозволува 10.0.5.0/24 и може да завршите со детска SA што го покрива само тоа /24. Еден домаќин одговара, сѐ друго паѓа надвор и ништо во клиентот не го кажува тоа. Читајте ги прифатените селектори, а не бараните, пред да заклучите дека преговорите успеале.
Профилите road warrior што бараат стандардна рута постојано слетуваат овде. Порта изградена за поделен пристап ја стеснува понудата со целосен опсег на своите подмрежи, а клиентот мора да го прифати стеснетиот резултат или гласно да не успее.
Прочитајте го одбивањето од еден обид
Соберете ги двата дневника од истиот обид за поврзување. Зачуваниот профил покажува што сте конфигурирале, а не што било предложено, а на strongSwan swanctl --log ја печати примената нотификација заедно со селекторите што ги носела.
Потоа проверете што навистина е инсталирано. swanctl --list-sas ги покажува селекторите на детската SA, а ip xfrm policy ги покажува истите опсези како записи во кернелската политика. Детска SA во тој список со селектори што не сте ги предвиделе е настан на стеснување; без детска SA плус TS_UNACCEPTABLE во дневникот значи одбивање.
Додека сте таму, одвојте ги блиските соседи. INVALID_SELECTORS се жали на селектор внатре во воспоставена детска SA, додека INTERNAL_ADDRESS_FAILURE значи дека одговорникот не можел да додели виртуелна адреса, што е проблем со базенот, а не со покриеноста.
Проверете што тивко го намалува множеството
Три работи го намалуваат множеството селектори без да кажат ништо. Политиката на одговорникот е првата, преку списоци на подмрежи, групни правила или авторизација по корисник што ја намалуваат понудата на подмножество. Фамилијата на адреси е втората: клиент со двоен стек често предлага IPv6 покрај IPv4 и добива одбивање за опсези што портата никогаш не ги конфигурирала.
Ограничувањата на протокол и порта се третите. Онаму каде политиката дозволува само TCP 445, детска SA може да се крене додека ICMP и UDP остануваат надвор од неа, а корисникот пријавува прекинат тунел кога само еден протокол бил сѐ што било дозволено.
Затоа самото проширување на адреси не може да поправи политика ограничена по порта, а токму тој случај најверојатно ќе преживее три круга отстранување на проблеми без промена.
Докажете ја покриеноста со сообраќај што се вклопува
Откако детската SA ќе се инсталира, испратете едно барање што сигурно паѓа внатре во прифатените опсези. Гледајте ги бројачите наместо иконата за состојба: ip -s xfrm state и бројачите зад ip xfrm policy растат кога пакетот се совпаѓа и се штити. Бројот на бајти што останува на нула по вистински сообраќај значи дека кернелот никогаш не ја избрал таа политика.
Таа нула е проблем со рутирањето или редоследот на политиките, не криптографски проблем. Таа исто така изгледа идентично како одбивање на селектор од гледна точка на корисникот, затоа вреди да се соберат бројачите пред повторно да го отворите профилот. Бројачите што растат само во една насока наместо тоа покажуваат на повратниот пат.
Завршете со тоа што прифатениот пар ќе го запишете во тикетот, до опсегот што првично бил побара. Држете го изборот тесен колку што бара барањето, бидејќи бришењето на грешката со замена на приватен опсег со сите адреси дава многу повеќе пристап отколку што било одобрено за сметката, и тоа сѐ уште важи дури и кога политиката изгледа едноставна.