Паглядзіце на рукапацісканне Nebula з іншага боку — і два механізмы здадуцца ўзаемазаменнымі. Адзін вырашае, якія адрасы вузел паведамляе маяку і якія аддаленыя адрасы ён паспрабуе; другі вырашае, што можа прайсці пасля ўзнікнення тунеля. Фільтр можа спыніць злучэнне да таго, як будзе ацэнена любое правіла файрвола, а правіла файрвола не можа адрадзіць канцавы пункт, які выдаліла выяўленне. Два ўзроўні адказваюць на розныя пытанні, і парадак іх дзеяння — галоўнае.

Прасачыце адзін канал злучэння праз чатыры этапы: абвешчаны лакальны адрас, разгледжаны аддалены канцавы пункт, рукапацісканне і трафік у накладзенай сетцы. Кожны этап мае сваю канфігурацыю і сваю сігнатуру збою.

Пачніце з лакальнага адраса, які абвяшчае вузел

local_allow_list фільтруе лакальныя адрасы гэтага хаста перад іх перадачай маякам. Элементы могуць быць дыяпазонамі адрасоў, а канфігурацыя таксама падтрымлівае шаблоны імён інтэрфейсаў. Гэта карысна, калі хаст мае кантэйнерныя масты або дадатковыя тунельныя інтэрфейсы, якія не павінны стаць канцавымі пунктамі для партнёраў.

Прайдзіце па інтэрфейсах хаста і спытайце, да якіх з іх аддалены партнёр сапраўды можа дабрацца. Адрас моста Docker лакальны для гэтага хаста і бескарысны для партнёра ў іншай сетцы. Яго абвяшчэнне марнуе выяўленне і можа накіраваць партнёра на адрас, які ніколі не адказвае. Усё, што партнёр не можа маршрутызаваць, — гэта шум у адказе маяка.

Тут вузкі спіс дазволаў бяспечнейшы за шырокі спіс забарон. Калі ёсць толькі элементы дазволу, нявызначаны рэштак выключаецца; даданне элемента забароны пазней змяняе лагіку па-змаўчанні і патрабуе асобнага перагляду. Гэтая змена заслугоўвае другога позірку на значэнне па-змаўчанні.

Затым назірайце за выбарам аддаленага канцавога пункта

remote_allow_list фільтруе адрасы, якія гэты хаст разгледзіць для аддаленага партнёра падчас рукапаціскання. Ён датычыцца адраса базавай сеткі, а не адраса ў накладзенай сетцы, які партнёр выкарыстае пасля ўзняцця тунеля.

Прыватны дыяпазон можа быць цалкам прыдатным у агульнай офіснай сетцы і бессэнсоўным, калі два хасты знаходзяцца ў незвязаных сетках, якія абедзве выкарыстоўваюць 10.0.0.0/8. Фільтр дазваляе аддаць перавагу маршрутызуемаму шляху і праігнараваць супадзенне.

Калі партнёр не можа падключыцца, параўнайце адрас, які спрабуюць, з правілам, што яму адпавядае. Уключыце журналы рукапаціскання і прачытайце выбраны аддалены адрас; радок журнала называе канцавы пункт, які прайшоў фільтрацыю, і гэта карысней за спіс адрасоў, якімі валодае партнёр.

Фільтр імён інтэрфейсаў на баку абвяшчэння можа выдаліць канцавы пункт раней, чым яго ўбачыць бок прыёму. Праверце абодва вузлы, калі не працуе толькі адзін напрамак.

Пасля рукапаціскання дзейнічаюць правілы доступу ў накладзенай сетцы

Правілы файрвола Nebula працуюць унутры накладзенай сеткі, пасля ўсталявання тунеля. Яны супастаўляюць хасты, групы, порты і пратаколы і вырашаюць, ці можа пакет увайсці ў лакальны хаст або выйсці з яго. Яны не выбіраюць канцавы пункт у базавай сетцы.

Гэтае раздзяленне тлумачыць частую памылковую дыягностыку. Аператар дадае правіла файрвола для порта і ўсё роўна не можа падключыцца, бо фільтр маяка выдаліў адзіны дасяжны канцавы пункт. Іншы аператар адкрывае фільтр адрасоў і ўсё роўна не дасягае сэрвісу, бо файрвол накладзенай сеткі адхіляе порт.

Чытайце збой на правільным узроўні. Рукапацісканне, якое ніколі не завяршаецца, паказвае на выяўленне, фільтрацыю канцавых пунктаў або сеткавы шлях. Завершанае рукапацісканне, за якім ідзе адмова або скід злучэння з сэрвісам, паказвае на файрвол накладзенай сеткі або на праграму.

Чытайце значэнне па-змаўчанні, калі змешваеце дазвол і забарону

Канфігурацыя маяка падтрымлівае спісы толькі-дазволу, толькі-забароны і змешаныя, і значэнне па-змаўчанні для нявызначанага рэштак адрозніваецца паміж гэтымі формамі. Змешаны спіс патрабуе яўнага значэння па-змаўчанні для сямейства адрасоў; меркаванне, што рэштак паводзіць сябе як папярэдняя канфігурацыя, — гэта шлях, якім працоўны канцавы пункт ціха знікае.

lighthouse:
  local_allow_list:
    interfaces:
      docker0: false
  remote_allow_list:
    192.168.0.0/16: true
    default: false

Стаўцеся да значэння па-змаўчанні як да часткі правіла, а не як да шаблоннага тэксту. Калі значэнне па-змаўчанні для сямейства — забарона, усе адрасы, якіх няма ў спісе, выключаюцца, у тым ліку новы офісны дыяпазон, дададзены пасля напісання канфігурацыі.

Запішыце, якія адрасы меркавалася зрабіць дасяжнымі, і праверце з абодвух бакоў. Фільтр, які працуе для адной пары партнёраў, можа не працаваць для іншай пары, чый адзіны агульны шлях выкарыстоўвае адрас, які выключае спіс.

Выкарыстоўвайце рэлей, калі прамы канцавы пункт недасяжны

Калі кожны патэнцыйны канцавы пункт адфільтраваны або недасяжны, адказ — не шырэйшы спіс дазволаў, які зноў прымае адрасы, якім вы не давяраеце. Канфігурацыя рэлея Nebula дае альтэрнатыўны шлях для партнёра, калі прамое злучэнне немагчымае.

Рэлей вырашае пытанні транспарту і выяўлення, а не аўтарызацыі, і ён не пашырае файрвол. Файрвол накладзенай сеткі па-ранейшаму вырашае, якія сэрвісы можна выкарыстоўваць, а рэлей не ператварае фільтрацыю маяка ў механізм кантролю доступу.

Праверце шлях праз рэлей з адключанымі прамымі канцавымі пунктамі і пераканайцеся, што патрэбны сэрвіс усё яшчэ працуе, а непатрэбны — не. Гэты адзін тэст аддзяляе выпраўленне транспарту ад змены палітыкі і захоўвае два ўзроўні сумленнымі.

Падобныя артыкулы