AllowedIPs — маршруттоо тизмеси, брандмауэр эрежеси эмес
Ал чыгуучу трафикке өнөктөш тандайт жана кирүүчү булактарды текшерет. Бул уруксат тизмеси эмес, маршруттарды башкарууну өчүрүү бөлүнгөн туннелди оңдобойт.
Көпчүлүк AllowedIPs талаасын уруксаттар тизмеси катары окушат, башкача айтканда өнөктөшкө туташа алган даректердин жыйындысы, туннел үчүн жазылган брандмауэр эрежесине окшош. Андай эмес. Бул талаа эки багытта тең иштеген маршруттоо таблицасы: чыгуучу пакетке өнөктөш тандайт жана кирүүчү пакеттин булагын текшерет. Аны уруксат тизмеси катары окуу эч ким сурабаган трафикти маршруттаган конфигурацияларды жаратат.
Бир талаа, эки окуучу: чыгуу тандоосу жана булакты текшерүү
Кардарда префикстер кайсы багыттар ошол өнөктөшкө бараарын жана кайсылары кадимки тармакта калаарын чечет. Ошондуктан 0.0.0.0/0 үчүн жазуу бардык IPv4 багытын кармайт, ошондуктан толук туннель профилин импорттоо кадимки серептөөнү алыскы машина аркылуу жөнөтөт. Тар жазуулар тескерисинче иштейт: сиз тизмелеген тармактарды гана маршруттайт, калганын ордунда калтырат. WireGuard документтеринин криптоачкыч маршруттоо бөлүмү эки ишти бир жерде атайт: чыгуучу өнөктөштү тандоо жана кирүүчү булакты текшерүү.
Серверде ошол эле талаа ар бир өнөктөш кайсы булак даректерин колдоно аларын сүрөттөйт. Бул пакет фильтри эмес, криптографиялык текшерүү: ички булагы өнөктөштүн тизмесине туура келбеген пакет хосттун кандайдыр бир брандмауэри аны көрүүдөн мурун WireGuard ичинде ыргытылат. Эки иш бир тизмени бөлүшөт, ошондуктан башка жерден көчүрүлгөн тизме сиз эске албаган жерде туура эмес иштейт.
Кардар блогу — бул баш аламандыктын көбү башталган жер. Бөлүнгөн туннель алыскы тармактарды атайт, ал эми толук туннель — ошол эле талаанын демейки префикстүү түрү:
[Peer]
# split tunnel: only these networks
AllowedIPs = 10.77.0.0/24, 192.168.30.0/24
[Peer]
# full tunnel: everything, both families
AllowedIPs = 0.0.0.0/0, ::/0
Эки форма тең өз алдынча толук, жана алар кадамдар эмес, альтернативалар. Биринчиси туннел аркылуу ошол эки тармакты гана жөнөтөт; экинчиси бардык багытты жөнөтөт, ал эми ::/0 жазуусу IPv4 демейкисине IPv6 кошот. Кайсынысын тандасаңыз да, wg-quick маршруттарды орното баштаганда ошол префикстер ошол өнөктөш үчүн бүт маршруттоо чечими болуп саналат.
Хабга башка тизме керек
Хаб ар бир кардардын туннель дарегин хост префикси катары тизмелейт, ошондой эле ошол кардардын артында чындап турган ар кандай тармакты. Кардардын кенен тизмесин хабдын ар бир өнөктөшүнө көчүрүү хабга көп өнөктөштөр бирдей даректерди булак катары колдоно аларын айтат, ал эми бул дарек планы эмес. Endpoint талаасы таптакыр башка катмарга таандык: ал өнөктөштүн сырткы дареги менен портун атайт, эч качан туннелдин ичиндеги багытты эмес.
[Peer]
# laptop: tunnel address 10.77.0.2, office LAN behind it
AllowedIPs = 10.77.0.2/32, 192.168.30.0/24
Хост префикси туннель дарегин алып жүрөт, ал эми тармак префикси кардардын артындагыны алып жүрөт, экөө тең керек. Хост префикси жок хаб кардардын өз трафигин кайтара албайт, тармак префикси жок анын артындагы LAN жеткиликсиз бойдон калат; артында эч нерсе жок өнөктөш хост префиксин гана алат.
Маршруттарды орнотууну өткөрүп жиберүү боштук калтырат
wg-quick, интерфейсти конфигурация файлынан көтөргөн жардамчы, ошол иштин бөлүгү катары интерфейс даректерин жана маршруттарды орнотот. Table = off орнотуу жардамчыга маршрут ишин өткөрүп жиберүүнү айтат, бул алмаштыргычтарды орнотпойт жана жеке тармакты жеткиликтүү кылбайт. Автоматтык маршруттар ишти аткарып жатса, керектүү префикстерди атоо анчалык так конфигурация. Маршруттарды башкарууну өчүрүп, алмаштыргычты жазылбай калтыруу — дизайн эмес, кемчилик.
Негизги wg куралы башкача иштейт: ал интерфейсти конфигурациялайт жана маршруттарга эч качан тийбейт, ошондуктан анын үстүнө түз курулган орнотуу өз маршрут буйруктарын талап кылат. Бир курал үчүн жазылган нускамалар экинчиси менен аткарганда туура эмес көрүнүшү мүмкүн. Ийгиликтүү ping да алсыз далил, анткени ал сизге керек болгон ар бир колдонмо жолун эмес, бир жолду текшерет.
DNS жана IPv6 өз-өзүнчө чечилет
Туннель жарыялаган DNS серверинин дарегин текшериңиз жана тандалган префикстер аркылуу ошол дарекке маршрут бар экенине ынаныңыз. Резолвер жөндөөсү резолверди жеткиликтүү кылбайт, ал эми туннелди куушуруу ага барган маршрутту үнсүз алып салышы мүмкүн. IPv6ны да өзүнчө текшериңиз, анткени туура IPv4 бөлүнүшү дагы эле физикалык байланышка көрсөтүп турган IPv6 демейки маршруту жөнүндө эч нерсе айтпайт. Бир өнөктөш блогун оңдогондо үч өзүнчө чечим бир убакта өзгөрүшү мүмкүн.
Анан белгилүү баштапкы конфигурациядан бир жеке ресурсту жана бир кадимки веб-сайтты ачыңыз. Эгер ресурс жооп берсе жана серептөө дагы эле жергиликтүү байланыш аркылуу чыкса, бөлүнүш сиз сураганды аткарат. Эгер серептөө ошол эле учурда бузулса, туннель демейки маршрутту алган, ал эми префикстер тизмеси — кароо керек болгон жер.