Хабдагы WireGuard теңдеш топтору: булактын ээлиги жана саясат
Теңдеш топторун ар бир теңдеш үчүн кууш булак даректери жана жиберүү саясаты менен өзүнчө кармаңыз, ар бир топ үчүн өзүнчө туннель интерфейсинсиз.
WireGuard иштеп жаткан хаб теңдеш топторун ар бир топ үчүн өзүнчө интерфейс же маршруттоо таблицасыз өзүнчө кармай алат. Бул ишти эки механизм аткарат жана аларды аралаштыруу саясат туура көрүнүп, эч нерсе кылбай турган кадимки себеп. Бир катмар булак дарегин ким талап кыла аларын чечет. Экинчиси бул пакеттин кайда кетишине жол берилгенин чечет.
Эки иш, өзүнчө кармалган
Туннель катмары кууш суроого жооп берет: ушул теңдештин ачкычы ушул ички булак дарегине укук бердиби. Жиберүү катмары кененирээк суроого жооп берет: бул пакет тиги багытка чыга алабы. Экөө тең бири-биринин суроосуна жооп бербейт жана экөө тең жалгыз өзү толук кирүү саясаты эмес.
Ушул бөлүнүү себебинен теңдеш аутентификациядан өтүп, дареги туура болсо да, барбашы керек болгон хостко бара албай калышы мүмкүн. Бул тескерисин да түшүндүрөт: баарына жол берген firewall эрежеси ким кайсы даректи талап кыла алары жөнүндө эч нерсени далилдебейт.
Эки катмарды чогуу долбоорлоп, анан экөөнү тең текшериңиз. Бир катмарда туура, экинчисинде текшерилбеген конфигурация демейки мааниге жараша ачык же жабык түрдө ишке ашпай калат.
Ар бир теңдешке өз дарегин гана бериңиз
Көп хосттуу теңдештер сизди сервер тарапта бүткүл топтун диапазонун берүүгө азгырат. Бул уруксат булак дарегин талап кылуу, ошондуктан бузулган же туура эмес конфигурацияланган кардар диапазондогу каалаган даректи сунуштай алат жана туннель аны кабыл алат. Ар бир теңдешке өзүнүн ички дареги үчүн /32 белгилеңиз. Топ диапазондорун кардарларда гана коюңуз, ал жерде алар ушул кардар кайсы багыттарга жете аларын сүрөттөйт, кайсы булактарды колдоно аларын эмес.
Андан кийин firewall ишене турган булак менен салыштырат. Топтун диапазону үчүн жазылган эреже пайдалуу топтоо бойдон калат жана ал бир да теңдеш башка мүчөгө таандык даректи талап кыла албаганда гана маанилүү болот.
Топторду бөлүүчү жиберүү саясатын жазыңыз
Бул жердеги кызыктуу трафик ошол эле туннель интерфейсинен кирип, чыгат, ошондуктан ал хосттун кирүү жолун эмес, жиберүү жолун кесип өтөт. Эрежелер хостко ээлик кылган кайсы firewall менеджеринин болбосун учурдагы жиберүү чынжырына таандык жана алар толук эрежелер жыйнагы эмес, үзүндүлөр.
iifname "wg0" oifname "wg0" ip saddr 10.66.10.0/24 ip daddr 10.66.10.0/24 accept iifname "wg0" oifname "wg0" ip saddr 10.66.20.0/24 ip daddr 10.66.20.0/24 accept iifname "wg0" oifname "wg0" drop
Алгачкы эки эреже ар бир топтун ичиндеги трафикке жол берет. Акыркысы ошол интерфейстен өткөн калгандын баарын бөгөттөйт жана топтордун ортосундагы обочолонууну так ушул жаратат. Эгер керек болсо, экинчи дарек үй-бүлөсү үчүн ачык эрежелерди кошуңуз, анткени IPv4 үчүн жазылган drop IPv6нын жүрүм-турумуна укук бербейт жана аны сүрөттөбөйт.
Ирет саясаттын колдонулушун чечет
Эрежелердин ирети үзүндүнүн өзүнөн маанилүүрөөк. Түзүлгөн байланыштарды кабыл алган жалпы эреже ушул жазуулардан мурун турса, эски топтор аралык агым уланат, ошондуктан обочолонуу жаңы байланыштарга гана тиешелүү. Кайра жүктөөдөн мурун бул эки натыйжанын кайсынысын каалаарыңызды чечиңиз.
Кабыл алуу өкүмү да бир илгичтеги чынжырлардын ортосунда дайыма акыркы боло бербейт. Эгер башка базалык чынжыр кийин иштесе, натыйжалуу саясат айкалыш, ошондуктан түзөткөн файлды эмес, эсептегичтерди караңыз. Эсептегичтер жеткиликтүү эң арзан далил. Пакет саны жок эреже дал келбейт, ал эми кийинки чынжыр кабыл алып жатканда дал келген эреже drop туура эмес жерде экенин айтат.
Файл санын эмес, матрицаны текшериңиз
Күтүлгөн натыйжалардын кичинекей матрицасын түзүп, ар бир уячаны текшериңиз. A тобунан A тобуна иштеши керек, B тобунан B тобуна иштеши керек, ал эми Aдан Bга иштебеши керек, эки багытта тең жана колдосоңуз эки дарек үй-бүлөсү үчүн тең.
nft list ruleset wg show wg0 allowed-ips ping -c 2 10.66.10.5 conntrack -L -s 10.66.20.7 2>/dev/null | head
Алгачкы экөө эмне конфигурацияланганын көрсөтөт. Туура эмес топтун мүчөсүнөн ping иш жүзүндө эмне болорун көрсөтөт. conntrack тизмеси эски агымдын дагы эле кабыл алынып жатканын көрсөтөт жана обочолонуу өзгөрүүсүнүн тынчтык менен күчүнө кирбей калышы дал ушундай болот.
Хабдагы хост кызматтары жана анын артындагы LANга кирүү өзүнчө саясаты бар өзүнчө жолдор. Матрица алардын кайсынысын камтый турганын жазып коюңуз, анткени теңдеш-теңдеш трафигин гана текшерген сынак алардын эч бири жөнүндө эч нерсе айтпайт.