StrongSwan Mac жете албаган DNS дарегин жөнөтөт
Mac же iPhone сиздин StrongSwan сервери жөнөткөн коомдук resolver дарегин этибарга албайт. Resolverди кардар пулуна жылдырып, 53 портун ага чектеңиз.
Баары бирөө MacBook ачканга чейин иштейт. Туннель орнотулат, ички хосттор дарек боюнча жооп берет, ал эми аттарды чечүү өлөт. iPhone'до ошол эле профиль ушундай эле жүрөт, ал эми Windows жана Linux кардарлары жакшы. Адатта күнөөлүү — жөнөтүлгөн DNS атрибуту: сервер өзүнүн коомдук интерфейс дарегин таратат, ал эми Apple'дын IKEv2 кардары туннелден ары жакка сурамдарды жибербейт. Resolverди пулдун ичине жылдырыңыз — симптом кардарга тийбей эле жоголот.
Симптом жөнөтүлгөн даректи көрсөтөт
Бир гана айрым платформалар ийгиликсиз болсо, туннель жана эсептик берилиштер дээрлик сөзсүз түрдө жакшы, анткени алар жалпы. Айырма — ар бир кардар алган конфигурация жүгүн, анын ичинде ички DNS серверин, кантип колдонушунда. Даректи кабыл алып, бирок сурамдарды туннелдин айланасы менен жиберген кардар көргөн, бирок колдоно албаган resolver менен калат.
Коомдук дарек — адаттагы тандоо, анткени администратор билген жалгыз дарек ошол. Ал ошондой эле туннелдин өз префиксинен тышкары экенине кепилдик берилген жалгыз дарек, жана дал ушул касиет Apple кардарларын бузат.
Бир нерсени өзгөртүүдөн мурун маанини караңыз. Эгер жөнөтүлгөн resolver сервердин WAN дареги болсо, маселенин формасын таптыңыз жана калган божомолдорду өткөрүп жибере аласыз. Аны пул префикси менен да салыштырыңыз, анткени пулдун ичинде, бирок ижара диапазонунан тыш жайгашкан дарек — оңдоонун так көрүнүшү. Конфигурация менен эки мүнөт кардарда жарым күн пакет кармоодон артык.
Resolverди ижара диапазонунан кесип алыңыз
Туннелге resolver пулдун өз ички тармагынын мүчөсү болгон дарек планын бериңиз, анан бул даректи эч бир кардарга ижарага берилбей тургандай кылып корукка алыңыз. Бул мисалда пул — 10.180.7.0/24, сервер 10.180.7.1 кармайт, ал эми ижаралар 10.180.7.2ден башталат.
rightsourceip=10.180.7.2/24
rightdns=10.180.7.1Пул префикси менен resolver бир ички тармакты бөлүшөт, ошондуктан туннел трафигин ташыган маршрут сурамдарды да ташыйт. Дал ушул касиет оңдоону кардарлар арасында көчүрүүгө мүмкүндүк берет. swanctl конфигурациясында ошол эки факт ipsec.conf синтаксисинде эмес, пул аныктамасы жана туташуудагы DNS параметри катары көрүнөт.
Серверге бул үчүн жаңы физикалык интерфейс керек эмес. 10.180.7.1ди loopback интерфейсине кошуу resolverдин байланып, жооп бериши үчүн жетиштүү, анткени кардарлар ага мурунтан бар пул маршруту аркылуу жетет. Даректи ижара диапазонунан тыш кармаңыз, ошондо эч бир кардар аны байкабастан ээлебейт. Эгер пулду тышкы DHCP же RADIUS кызматы башкарса, даректи ошол жерде да корукка алыңыз, болбосо биринчи сураган кардар аны алат.
Resolverди байланыштырып, 53 портун жабыңыз
Дарек дайындоо ага кулак салуу менен бирдей эмес. Бир гана LAN дарегинде уга турган resolver пул дарегине жиберилген сурамдарды четке кагат же этибарга албайт, ал эми кардар маршруттоо бузулушуна окшош таймаут көрөт.
interface: 10.180.7.1
access-control: 10.180.7.0/24 allow
access-control: 0.0.0.0/0 refuseБул unbound үзүндүсү туннел пулунан келген сурамдарды кабыл алып, калганын четке кагат, бул көпчүлүк корпоративдик resolver каалаган саясат. Эгер ошол эле инстанция LAN кардарларына да жооп берсе, угуучуну бардык булактарга кеңейтүүнүн ордуна LAN префиксин ачык кошуңуз.
Андан кийин файрвол эрежелери resolverдин өз кирүү көзөмөлү менен дал келиши керек. Пулдан 53 портун кабыл алып, калган бардык жерде аны таштаңыз, бирок адегенде чынжырдын тартибин текшериңиз.
iptables -A INPUT -p udp --dport 53 -s 10.180.7.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -s 10.180.7.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j DROP
iptables -A INPUT -p tcp --dport 53 -j DROPМурунураак кененирээк кабыл алуу эрежеси акыркы эки сапты жасалгага айландырат, ал эми resolver интернеттен жеткиликтүү бойдон калат. Ниет кылган тартипке ишенүүнүн ордуна эсептегичтер менен накталай эрежелер топтомун окуңуз. Альтернативалуу саясат — коомдук даректи жөнөтүү жана каалаган булактан сурамдарга жол берүү — көп кардар үчүн иштейт, бирок resolverди интернетке чыгарат жана ага өзүнүн ылдамдык чектөөсү менен мониторинги керек.
Кардар чындыгында эмнени алганын текшериңиз
Адегенде сервердин көрүнүшүн, анан кардардыкын текшериңиз, анткени экөө маалыматтуу түрдө кайчы келет. Пул тизмеси кайсы дарек ижарага берилгенин көрсөтөт, ал эми коопсуздук бирикмелеринин тизмеси туташуу күтүлгөн инсандык менен турганын көрсөтөт.
swanctl --list-sas
swanctl --list-pools
dig +short @10.180.7.1 intranet.plant.exampleТүз сурам resolverдин пул дарегинде ага жете алган хосттон жооп берерин далилдейт. Ал Mac дал ошол серверди тандаганын далилдебейт. macOS'то scutil --dns resolverлерди ар бир чектелген кызмат боюнча тизмелейт жана жыйынтык панелинен маалыматтуураак; Windows'то Get-DnsClientServerAddress туннель адаптери жөнөтүлгөн маанини кабыл алганын көрсөтөт.
Эгер кардар пул дарегин көрсөтүп, сурамдар дагы эле таймаут болсо, күнөө туннель маршрутунда же файрвол чынжырында. Эч кандай resolver жөнүндө билдирбеген кардар конфигурация жүгү такыр жетпегенин билдирет, ошондуктан тармакка эмес, ошол платформанын жөнөтүлгөн параметрлерди кантип колдонушуна караңыз. Дагы бир нерсени өзгөртүүдөн мурун ушул эки учурдун кайсынысын байкаганыңызды жазып коюңуз. Бул эки бузулуу колдоо билетинде бирдей көрүнөт жана карама-каршы оңдоолорго алып келет.