Бір ноутбук туннельді ұстап тұр, үйдің қалғаны сол қатынасты қалайды, ал бірінші әрекет — бәрін қосылған машинаға бағыттау. Бұл VPN-ге еш қатысы жоқ себептермен сәтсіз аяқталады: қабылдаушы хост пакетті бағыттауы, оның көзін қайта жазуы және жауаптардың қайту жолын табуына көз жеткізуі керек. Үшеуінің біреуін өткізіп алсаңыз, қосылған ноутбук жұмысын жалғастырады, ал қалған барлық құрылғы жауап алмайды. Шешім — маршруттау жобасы, клиент параметрі емес.

Неге құрылғыларды хостқа бағыттау сәтсіз болады

Алыс желіге мекенжайланған пакетті алған хост сол сәтте маршрутизаторға айналады, оны біреу солай конфигурациялаған ба, жоқ па, маңызды емес. Бағыттау Linux пен Windows жүйелерінде әдепкі бойынша өшірулі, егер оны қандай да бір функция қоспаса. Мекенжайларды аудару маңызды, өйткені алыс жақ жауаптарды қайда жіберуді білуі керек, ал жеке LAN мекенжайы ол үшін ештеңе білдірмейді. Қайтару маршруты — үшінші бөлік, және бірінші ping сәтті көрінгенде адамдар ұмытып кететін де сол.

Параметрлерді кездейсоқ қосу-өшірудің орнына осы тәртіппен диагностика жасаңыз. Әрбір жетіспейтін бөлік сәл басқа симптом береді.

Хостта бағыттау мен мекенжайларды аударуды қосыңыз

Қосылған хосттағы екі өзгеріс алғашқы екі бөлікті қамтиды: IPv4 бағыттауын қосыңыз және LAN трафигін туннель интерфейсіне аударыңыз.

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

sysctl мәнін /etc/sysctl.d астындағы файлда сақтаңыз және қайта жүктегеннен кейін masquerade ережесін қайта тексеріңіз, өйткені брандмауэрдің алдыңғы бөліктері теңшелімді тізбектерді тазалауы мүмкін. Windows жүйесінде бөлісу функциясы екі қадамды да орындайды, бірақ ол LAN адаптерін тұрақты ішкі желіге қайта мекенжайлайды және оның шлюзін тазалайды, бұл статикалық мекенжайлауды және порттарды бағыттауды бұзады. Бөлісу сәтсіз болды деген қорытындыға келмес бұрын маршрутизатордың хостқа баратын жолын оның жаңа мекенжайында қалпына келтіріңіз. Содан кейін екінші құрылғы трафик жіберіп жатқанда ереженің есептегіштерінің өсуін бақылаңыз.

LAN желісіне қайта жүктеулерге төтеп беретін жол беріңіз

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

ip route add 10.8.0.0/24 via 192.168.1.20 dev eth0

Клиенттің әдепкі шлюзін хостқа бағыттау оның барлық трафигін хост арқылы өткізеді, оның ішінде жергілікті басып шығару мен файл бөлісу, сондықтан хост ұйықтағанда байланыссыз заттар тоқтайды. Маршрутизаторда алыс префикс үшін нақты маршрут қосу тар: туннельдің артындағы барар жерлер ғана қосылған машинаға барады, ал LAN-ның қалғаны жұмысын жалғастырады. Жоғарыдағы ішкі желілер — мысал, сондықтан оларды өзіңіздің LAN және туннель ауқымдарыңызбен алмастырыңыз. Қалай болғанда да, туннель қосулы және одан кейін өшірулі күйде екінші құрылғыдан сынап көріңіз.

Туннельді кінәламас бұрын MTU-ға назар аударыңыз

Туннельдер пайдалы пакет өлшемін кішірейтеді, ал екінші құрылғы бұл туралы білмейді. Үлкен тасымалдар мен TLS қол алысулар тұрып қалады, ал шағын сұраулар сәтті болады.

ping -M do -s 1400 10.8.0.5

Жауап бұл өлшемнің жолдан бөлінбей өтетінін дәлелдейді; уақыттың бітуі инкапсуляция жүктемесі пакетті туннельдің MTU-сынан асыра итергенін білдіреді. Бөлісу интерфейсінде MTU-ды төмендетіңіз немесе бағыттаушы құрылғыда сегменттің ең үлкен өлшемін шектеңіз, содан кейін сол тексеруді қайталаңыз. Алдымен сол өлшемді LAN жағында сынап көріңіз, өйткені жергілікті ақау туннельге емес, LAN-ға көрсетеді. Жұмыс істейтін өлшемді жазып алыңыз, өйткені кейінірек провайдер немесе туннель өзгерісі оны жылжытуы мүмкін.

Бір қосымша құрылғы үшін хосттан бөлісу жеткілікті. Отбасы үшін маршрутты маршрутизаторға қойыңыз. Ноутбук сізбен бірге кеткенде де қатынас сақталуы керек болса, туннельдің өзі жеке шлюзге тиесілі.

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