Клиент аутентификациядан өтүп, пулдан даректи алат жана VPN хостундагы кызматтарга жетет, бирок ар бир ачык багыт убакыт бүтүү менен аяктайт. Чыгуусу жок туннель ушундай көрүнөт жана төрт өзүнчө нерсе аткарылмайынча ошондой бойдон калат. Клиент демейки маршрутту кабыл алышы керек, сервер өткөрүп бериши керек, фаервол өтүүгө уруксат бериши керек, ал эми жоопторго пулга кайтуу жолу керек. Төрт кемчиликтин тең белгиси бир, ошондуктан ар бир аракетте бир элементти өзгөртүп, натыйжаны жазып отуруңуз.

Демейки маршрутту түртүп чыгарып, клиент эмнени орнотконун текшериңиз

Сервер тараптагы сап кыска, жана ал түртүлгөн опцияларды кабыл алган клиенттерге гана таасир этет. def1 формасы бар демейкини өчүрүүнүн ордуна эки жарым-демейки маршрутту орнотот, бул учурдагы байланышты тирүү кармап, ошол эле учурда ар бир багытты кармап калат.

push "redirect-gateway def1"

Кайра туташкандан кийин профилге ишенүүнүн ордуна клиенттин маршруттоо таблицасын окуңуз. Linux-те эки /1 жазуусу баштапкы демейкинин жанында пайда болот, ал эми Windows ошол эле жупту 0.0.0.0/1 жана 128.0.0.0/1 түрүндө көрсөтөт. Түртүлгөн опцияларды этибарга албаган же алардан баш тартууга конфигурацияланган клиент өзүнүн эски демейкисин сактап, интернет трафигин туннелге эч качан жөнөтпөйт. Серверде бир нерсени өзгөртүүдөн мурун бул маселени чечиңиз, анткени сервер тараптагы эч бир эреже мунун ордун толтура албайт.

Өткөрүп берүү — сервердин жөндөөсү, VPNдин эмес

Маршруттоого тийүүдөн мурун өткөрүп берүү желегин окуңуз. Ал жердеги нөл ядро клиенттин пакетин кабыл алып, аны андан ары жөнөтүүдөн баш тартат дегенди билдирет, бул алыскы тараптан фаервол блогуна так окшош. Маанини системанын конфигурация каталогу аркылуу коюңуз, ошондо ал кайра жүктөөдөн кийин да сакталат.

sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system

Андан кийин хосттун өзүндө интернет чыгымына иштеген маршрут бар экенин текшериңиз. Сервердин кабыгынан жасалган сурам жогорку жолдун жарактуу экенин далилдейт жана клиенттин пакетин өткөрүп берүү тууралуу эч нерсе айтпайт, ошондуктан аларды эки өзүнчө сынак катары караңыз. Эгер сервер багытка жете албаса, өткөрүп берүү конфигурациясынын канчалык көп болушу да жардам бербейт.

Көздөгөн өтүүңүзгө гана уруксат бериңиз, башка эч нерсеге эмес

Өткөрүлгөн пакеттер forward жолунан өтөт; VPN хосттун өзүнө арналган трафик input жолунан өтөт. Булар өзүнчө чечимдер, ал эми input жолун ачуу машина аркылуу өтүүгө уруксат бербейт. Аларды аралаштыруу — фаервол баарына уруксат берип жаткандай көрүнүп, клиенттер дагы эле убакыт бүтүүсүнө туш болушунун эң кеңири тараган себеби.

Минималдуу саясат пулдан чыгуу интерфейсине карай жаңы байланыштарды кабыл алат жана түзүлгөн агымдарга таандык жоопторду кабыл алат. Аны ар бир жүктөөдө кайталанма эреже кошуунун ордуна, таратууңуз колдонгон эрежелер жыйнагынын ээсине коюңуз; кайталанма эрежелер чогулат жана эсептегичтер маанисин жоготот.

sudo iptables -A FORWARD -i tun0 -o eth0 -s 10.90.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Ар бир тизмекти кабыл алууга которуу сынакты өткөрөт жана фаерволдун болушунун себебин жок кылат. Аймакты пул жана чыгуу интерфейси менен чектеңиз, ал эми байланышсыз өткөрүп берүүнү тынч калтырыңыз.

Жоопторго бара турган жер бериңиз

Пул даректери жеке, ошондуктан ачык сервер аларга жоопту түз жеткире албайт. Же VPN хост чыгуу учурунда булак дарегин которот, же жогорку түзмөк пулга кайтуу маршрутун кармайт.

sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE

Так бир котормо катмарын кошуңуз. Жогорураак жайгашкан экинчи NAT биринчисин жашырат жана кийинчерээк бир нерсе бузулганда эки журналды тең дээрлик пайдасыз кылат. Эгер жогорку маршрутизатор пулду мурун эле кайтарып жатса, хосттогу котормо ашыкча, ал эми кайтуу жолу ошондо ошол маршрутизатордун конфигурациясына көз каранды болот, сиздикине эмес.

Булуттук инстанциялар дагы бир дарбазаны кошот, анткени кээ бир платформалар булак дареги инстанцияныкы эмес пакеттерди ошол текшерүү жумшартылмайынча ташташат. Бул жөндөө коноктон тышкары жайгашкан жана жергиликтүү сынак машинасы иштеп турганда унутуу оңой.

Муну сервер кабыгынан эмес, клиенттен далилдеңиз

Сандык IPv4 сурамынан баштаңыз, андан кийин ат издөө, андан кийин колдонмо. ping өткөрүп берүүнү жана котормону далилдейт;ал ат чечүү тууралуу эч нерсе далилдебейт, анткени DNS опциялары клиент интеграциясы аларды орноткондо гана күчүнө кирет.

curl -4 -m 5 http://198.51.100.10/
dig +short example.com

Өзгөртүүлөрдү жана артка кайтаруу кадамын барышында жазып отуруңуз, ошондо сынак ишке ашпаганда чыгуу саясатын бир аракет менен кайтарууга болот. Бул рецепт IPv4-тү гана камтыйт; жайылтуу бардык трафикти ташыйт деп ырастоодон мурун IPv6-ны өзүнчө эсепке алыңыз.

Тектеш макалалар