Филтри на светилникот на Nebula наспроти огнена ограда: што блокира секој
Списоците на дозволи на светилникот избираат кои крајни точки во долната мрежа партнерот ги објавува или ги обидува. Правилата на огнената ограда управуваат со сообраќајот во overlay по ракувањето.
Погледнете го ракувањето на Nebula од погрешната страна и двата механизми изгледаат заменливи. Едниот одлучува кои адреси јазолот му ги соопштува на светилникот и кои далечни адреси ќе ги проба; другиот одлучува што може да помине откако тунелот ќе постои. Филтер може да запре врска пред да се оцени било кое правило на огнената ограда, а правило на огнената ограда не може да оживее крајна точка што ја отстранило откривањето. Двата слоја одговараат на различни прашања, и редоследот во кој дејствуваат е клучот.
Следете една врска низ четири фази: објавената локална адреса, разгледуваната далечна крајна точка, ракувањето и сообраќајот во overlay. Секоја фаза има своја конфигурација и свој потпис на грешка.
Започнете од локалната адреса што ја објавува јазолот
local_allow_list ги филтрира локалните адреси на овој домаќин пред да се пријават на светилниците. Записите можат да бидат опсези на адреси, а конфигурацијата поддржува и шаблони за име на интерфејс. Тоа е корисно кога домаќинот има контејнерски мостови или дополнителни тунелски интерфејси што не треба да станат крајни точки за партнерите.
Поминете ги интерфејсите на домаќинот и прашајте до кои далечен партнер навистина може да стигне. Адресата на мостот Docker е локална за тој домаќин и бескорисна за партнер во друга мрежа. Нејзиното објавување го троши откривањето и може да испрати партнер кон адреса што никогаш не одговара. Сето она до што партнерот не може да насочи е шум во одговорот на светилникот.
Тесен список на дозволи е тука побезбеден од широк список на забрани. Ако има само записи за дозвола, неодредениот остаток се исклучува; подоцнежното додавање запис за забрана ја менува стандардната логика и бара посебен преглед. Таа промена заслужува втор поглед на стандардната вредност.
Потоа набљудувајте го изборот на далечната крајна точка
remote_allow_list ги филтрира адресите што овој домаќин ќе ги разгледа за далечен партнер за време на ракувањето. Се однесува на адресата во долната мрежа, а не на overlay адресата што партнерот ќе ја користи откако тунелот ќе се подигне.
Приватен опсег може целосно да биде употреблив во заедничка канцелариска мрежа и бесмислен кога двата домаќини се наоѓаат во неповрзани мрежи што и двете користат 10.0.0.0/8. Филтерот ви овозможува да го претпочитате рутираниот пат и да ја игнорирате случајноста.
Кога партнерот не може да се поврзе, споредете ја адресата што се обидува со правилото што ѝ одговара. Вклучете ги дневниците на ракувањето и прочитајте ја избраната далечна адреса; линијата во дневникот ја именува крајната точка што го преживеа филтрирањето, што е покорисно од списокот адреси што ги има партнерот.
Филтер за име на интерфејс на страната што објавува може да ја отстрани крајната точка пред страната што прима воопшто да ја види. Проверете ги двата јазли кога не успева само една насока.
По ракувањето важат правилата за пристап во overlay
Правилата на огнената ограда на Nebula работат во overlay, откако тунелот е воспоставен. Тие ги совпаѓаат домаќините, групите, портите и протоколите и одлучуваат дали пакетот може да влезе во локалниот домаќин или да излезе од него. Тие не избираат крајна точка во долната мрежа.
Ова раздвојување објаснува честа погрешна дијагноза. Оператор додава правило на огнената ограда за порта и уште не може да се поврзе, бидејќи филтерот на светилникот ја отстранил единствената достапна крајна точка. Друг оператор го отвора филтерот за адреси и уште не стигнува до услугата, бидејќи огнената ограда на overlay ја одбива портата.
Читајте го дефектот на вистинскиот слој. Ракување што никогаш не завршува укажува на откривање, филтрирање на крајни точки или мрежниот пат. Завршено ракување по кое следи одбиена или отфрлена врска со услуга укажува на огнената ограда на overlay или на апликацијата.
Читајте ја стандардната вредност кога мешате дозвола и забрана
Конфигурацијата на светилникот поддржува списоци само со дозвола, само со забрана и мешани, а стандардната вредност за неодредениот остаток се разликува меѓу тие форми. Мешаниот список бара експлицитна стандардна вредност за фамилијата адреси; претпоставката дека остатокот се однесува како претходната конфигурација е патот по кој работна крајна точка тивко исчезнува.
lighthouse:
local_allow_list:
interfaces:
docker0: false
remote_allow_list:
192.168.0.0/16: true
default: false
Третирајте ја стандардната вредност како дел од правилото, а не како шаблонски текст. Ако стандардната вредност на фамилијата е забрана, секоја неспомената адреса се исклучува, вклучително нов опсег на канцеларија додаден откако е напишана конфигурацијата.
Запишете кои адреси требало да бидат достапни и тестирајте од двете страни. Филтер што работи за еден пар партнери може да не успее за друг пар чиј единствен заеднички пат користи адреса што списокот ја исклучува.
Користете relay кога ниту една директна крајна точка не е достапна
Ако секоја кандидат-крајна точка е филтрирана или недостапна, одговорот не е поширок список на дозволи што повторно прифаќа адреси на кои не им верувате. Relay конфигурацијата на Nebula обезбедува алтернативен партнерски пат кога директната поврзаност не е изводлива.
Relay го решава транспортот и откривањето, не авторизацијата, и не ја проширува огнената ограда. Огнената ограда на overlay уште одлучува кои услуги смеат да се користат, а relay не го претвора филтрирањето на светилникот во механизам за контрола на пристап.
Тестирајте го relay патот со исклучени директни крајни точки и потврдете дека предвидената услуга уште работи, а непредвидената не. Тој еден тест го одвојува транспортното поправање од промена на политика и ги држи двата слоја чесни.