Екі VPN клиенті екі түрлі жария IPv4 мекенжайы арқылы шыға алады, және мұны жасайтын ереже көпшілік күткеннен қысқа. Оны іске қосатын нәрсе iptables синтаксисі емес, пакет шығу тізбегіне жеткендегі күйі: ондағы дереккөз мекенжайы клиенттерді әлі де ажырата алуы керек. Егер бұрынғы masquerade екеуін де бір мекенжайға біріктіріп қойса, ешбір клиенттік ереже бұл айырмашылықты қалпына келтіре алмайды. Алдымен осы мәселені шешіңіз, содан кейін аударманы жазыңыз.

Қақпаға қандай сәйкестік жетеді

Ереже пакеттің дереккөз мекенжайымен сәйкестенеді, VPN пайдаланушы атымен және клиент қолданбасы көрсететін атпен емес. Жолда пакетті бұрын аударатынның бәрі ережеңіз әлі нені көре алатынын анықтайды. nat кестесін ретімен іске қосып, дереккөз әлі де әр клиент үшін бөлек болатын нүктені табыңыз.

iptables -t nat -S POSTROUTING

Ол тізімді жоғарыдан оқыңыз. Жоғарыға жақын masquerade ережесі әр сәйкес ағынның дереккөзін қайта жазады, ал одан кейін қойылған клиенттік жазбалар енді жоқ мекенжаймен сәйкеседі. Екі LAN құрылғысы бір туннельді бөлісіп, бір ішкі мекенжай ретінде келгенде, дизайн брандмауэрден бұрын өзгеруі керек: олардың дереккөз ауқымдарын бөлек ұстаңыз немесе әрқайсысына өз ішкі мекенжайын беріңіз.

Ішкі мекенжайды тағайындауды аутентификацияланған клиентке байланыстырыңыз. Ол мекенжайды басқа құрылғыға беру шығу саясатын да бірге береді, ал дереккөзді аудару өз алдына жеке басын дәлелдеу емес.

Аударма мекенжайды ойлап таба алмайды

Әр жария мекенжай осы шығу нүктесіне тағайындалуы немесе осы жерге бағытталуы керек, ал жауаптар оған қайтатын жол табуы керек. Ешкім кері бағыттамайтын мекенжайдан трафик жіберетін ереже алыс жақта тасталады немесе оны ешқашан сұрамаған хостқа жауап қайтарылады. Бұлттық провайдер данасының жария мекенжайы әдетте пакет шықпас бұрын жеке интерфейс мекенжайына аударылады, сондықтан SNAT дереккөзі провайдер қабылдайтын мекенжай болуы керек, консоль көрсететін мән емес. Провайдердің мекенжай моделін оқып, жария мәнді әр пакетке көшірудің орнына соған сүйеніңіз.

Іс жүзінде бұл брандмауэрге тиер алдында провайдер консолінде бағытталған префиксті тексеруді және салыстыру бір-бірге болғанда жеке интерфейс мекенжайын аударма дереккөзі ретінде пайдалануды білдіреді. Төмендегі мысалдардағы мекенжайлар құжаттама ауқымдарынан алынған, сондықтан ең алдымен ауыстырылатын нәрсе — мекенжай мәтінінің өзі.

Жалпы masquerade алдында қойыңыз

Бірдеңе қоспас бұрын шығу интерфейсі мен ағымдағы тізбекті растаңыз. Біріншісі ереженің қандай пакеттермен сәйкесе алатынын анықтайды, екіншісі оның алдында не тұрғанын көрсетеді.

ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers

Бірінші пәрмен интернетке баратын пакет шын мәнінде қай интерфейстен шығатынын атайды. Екіншісі тізбекті жол нөмірлерімен басып шығарады. Жалпы masquerade жазбасы — үстінде қалу керек жол.

iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78

Жоғарыдағы екі ереже әрқайсысы бір ішкі мекенжаймен сәйкеседі, сәйкестікті шығу интерфейсімен шектейді және дереккөзді анық орнатады. Қосудың орнына кірістіріңіз: 1-орында олар masquerade жолынан бұрын бағаланады. Екеуінің арасындағы рет маңызды емес, өйткені дереккөздері әртүрлі. ens3 мәнін маршрут пәрмені хабарлаған мәнмен ауыстырыңыз және басқа брандмауэр менеджерлерін сол ілмектерден алыс ұстаңыз, өйткені екі құралдың бір кестені жазуы дұрыс ереженің әсері болмауының әдеттегі себебі.

Дереккөзді жаңа ағынмен дәлелдеңіз

Stateful NAT ағын басталғанда аударманы байланыстырады және кейінгі пакеттер үшін оны қайта пайдаланады, сондықтан өзгеріске дейін ашылған сессия өзгерістен кейін де ескі дереккөзін сақтайды. Ережені тек жаңадан басталған қосылым дәлелдейді.

conntrack -L -s 10.88.4.20 -p tcp --dport 443

Сол жазбаның жауап бағытын оқыңыз: оның межелі жері — алыс жақ дереккөз ретінде көретін мекенжай. Оны көздеген жария мекенжайыңызбен салыстырыңыз және ескі мекенжайы бар жазбаны бұзылған ереже емес, тым ерте басталған ағынның дәлелі деп қабылдаңыз. Клиенттен жаңа қосылым ашуды сұраңыз, содан кейін сұрауды қайталаңыз. Бүкіл бақылау кестесін тазалау сынақты мәжбүрлеу үшін қақпадағы барлық басқа сессияны үзеді.

Аударма әлі де маршрутты таңдамайды, ағынды сүзгіден өткізбейді және кіріс қызметін жарияламайды. Қате маршрут пен жетіспейтін рұқсат ережесі мінсіз SNAT ережесінен кейін де сәтсіздікке ұшырай береді. IPv6 мен кез келген қосалқы шығу жолын да тексеріңіз, содан кейін ішкі-жария жұптарын брандмауэр құжаттамасына жазып қойыңыз, келесі өзгеріс ереже мәтінінен емес, салыстырудан басталсын.

Қатысты мақалалар