Телефоныңыз туннельді қосылған деп көрсетеді, клиент жеке мекенжай туралы хабарлайды, бірақ бірінші бет жүктелудің ортасында ілініп тұр. Бұл үйлесім көпшілікті шифр параметрлері мен процессор температурасына жібереді, ал шын мәнінде онда ештеңе бұзылмаған. Туннель көтерілді, яғни келіссөз аяқталды; сәтсіз болғаны келесі қадам, сервер клиент пакеттерін интернетке тапсыруға тырысқанда. Осы пакеттер жүретін жолмен жүріңіз, және сәйкессіздік әдетте NAT кестесінің бір жолында көрінеді.

Клиенттің неге қол жеткізе алатынынан және алмайтынынан бастаңыз

Қосылған клиенттен қоғамдық интернетте орналасқан бетті жүктеп, оның бірден сәтсіз болатынын немесе ортасында ілінетінін байқаңыз. Содан кейін VPN серверінің өз жеке мекенжайындағы ресурсты ашып, екі нәтижені салыстырыңыз.

Ping-ке жауап беретін, бірақ қоғамдық сайттар уақыты бітетін туннель мекенжайы — бұл қайта бағыттау немесе аудару мәселесінің белгісі, бұзылған қол алысудың емес. Клиенттің өз күй панелі оларды ажырата алмайды, өйткені ол тек басқару арнасының көтерілгенін біледі. Серверде туннель интерфейсін мынамен тексеріңіз: ip -br addr show tun0 және клиентке берілген мекенжайдың сіз конфигурациялаған пулдың ішінде екенін растаңыз. Егер пул мен клиент мекенжайы сәйкес келмесе, оны бірінші түзетіңіз, өйткені төмендегі әрбір ереже пулмен сәйкестендіріледі.

Одан кейін серверден қоғамдық мекенжайға жету үшін қай интерфейсті қолданатынын сұраңыз. ip route get 203.0.113.9 бірінші жолында таңдалған құрылғы мен көзді басып шығарады. Сол құрылғы атауын жазып алыңыз, өйткені NAT ережесінде дәл осы мән болуы керек.

Пакеттердің шығатынын шешетін ережені оқыңыз

MASQUERADE пакетті тек ережеде аталған интерфейс арқылы шыққанда ғана қайта жазады. Сымды құрылғыға шектелген ереже Wi-Fi арқылы шығатын трафикке ештеңе істемейді, және пакет жоғарғы маршрутизаторға дейін жеке бастапқы мекенжайын сақтайды. Ол маршрутизатордың туннель пулыңызға қайтатын бағыты жоқ, сондықтан ол жауапты тастайды, және клиент ашылып, кейін өлетін қосылымды көреді. Симптом беттің бірінші жауап қажет болғанға дейін қанша бөлігі жететініне қарай өседі.

Тірі кестені тізіп, тек MASQUERADE сөзін іздеудің орнына шығыс интерфейсінің бағанын оқыңыз. Қосылу түріндегі шығысты пішімделген тізімге қарағанда салыстыру оңай:

ip -br addr show tun0
ip route get 203.0.113.9
sudo iptables -t nat -S POSTROUTING

Бір кезде Ethernet, қазір Wi-Fi қолданатын Raspberry Pi-де ескірген атау әрдайым дерлік бүкіл әңгіме. Орнатушы қондыру кезінде қай құрылғы болғанын жазып алды, ал сақталған ережелер жиынтығы оны әр жүктеуде қайта жаңғыртады. Басқа нәрсені өзгертуден бұрын маршрут іздеуінен шыққан құрылғыны ережедегі құрылғымен салыстырыңыз. Егер олар сәйкес келсе, интерфейс сіздің мәселеңіз емес, және соңғы бөлімдегі санағыштарға өтуіңіз керек. Егер олар өзгеше болса, түзету — тұрақтылық файлындағы бір сөзді өңдеу.

Сақталған ережелер жиынтығын түзетіңіз, тек жұмыс істеп тұрғанын емес

Тек тірі кестені өңдеу келесі қайта жүктеуге дейін ғана сақталады, бұл мәселенің шешілгеніне сендіру үшін дәл жетеді. Жүктеу кезінде қайтатын ережелер өрт сөндіргіштің тұрақтылық пакеті қайта жүктейтін файлда тұрады. Debian негізіндегі Pi бейнелерінде бұл файл әдетте /etc/iptables/rules.v4.

Оған тимес бұрын көшірме алыңыз, содан кейін MASQUERADE жолындағы шығыс интерфейсін жазып алған құрылғымен ауыстырыңыз, мысалы -o wlan0 орнына -o eth0. Клиент пулыңыз өзгермесе, бастапқы диапазонды сол күйінде қалдырыңыз. Қайта жүктеп, ереженің енді дұрыс құрылғыны атайтынын растаңыз:

sudo cp /etc/iptables/rules.v4 /root/rules.v4.bak
sudo iptables-restore < /etc/iptables/rules.v4
sudo iptables -t nat -L POSTROUTING -v -n

Көршілес екі параметрді ұмыту оңай. sysctl net.ipv4.ip_forward 1 деп хабарлауы керек, және жоғарғы маршрутизатор жеке бастапқы мекенжайларды өзі сүзбеуі керек.

Ереженің іске қосылатынын дәлелдеңіз, содан кейін әлі қандай нәрсенің баяу екенін оқшаулаңыз

Санағыштар ереженің сәйкес келгенінің жалғыз адал дәлелі. Егжей-тегжейлі тізімді іске қосыңыз, клиентте жүктеуді бастаңыз және қайта іске қосыңыз. Ережеңіздің жанындағы пакет пен байт бағандары өсуі керек, ал нөлде қалған ереже әлі сәйкес келмейді. Егер санағыштар қозғалса да беттер әлі сәтсіз болса, бастапқы диапазонды нақты пулмен мынамен салыстырыңыз grep -n "^server " /etc/openvpn/server.conf. Егер олар қозғалып, беттер жүктелсе, бірақ өткізу қабілеті нашар болса, аудару аяқталды, ал қалған мәселе басқа жерде.

Бір клиенттен екі тасымалдауды салыстырыңыз: біреуі жергілікті желідегі хостқа, екіншісі туннель арқылы сол хостқа. Екі жағдайда да баяу болу VPN-ге емес, Pi-дің жоғарғы арнасына немесе Wi-Fi байланысына нұсқайды. Тек туннель арқылы баяу болу MTU мен қайта жіберулерге нұсқайды, оларды мынамен қарап шығуға болады ip -s link show tun0 кез келген крипто параметрін өзгертуден бұрын.

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

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