SSH VPN'де ар мүнөт сайын үзүлөбү? Себеби keepalive эмес
Кайталануучу аралыкта өлгөн сессия адатта firewall абалын жоготот, keepalive'дерди эмес. MTU же таймерлерге тийүүдөн мурун эки багытты тең көзөмөлдөңүз.
SSH туташат, болжол менен бир мүнөт иштейт, анан ар жолу дээрлик ошол эле аралыкта тоңуп калат. Кеңири тараган түшүндүрмө — idle timeout, ошондуктан адамдар MTU'ну төмөндөтүп, кардар keepalive'дерин орнотушат. Мен иштеген WireGuard байланышы буга чейин баарынан өткөн: кичирээк туннелдин MTU'су, client-alive жөндөөлөрү, конфигурацияланган туннелдин keepalive'и. Үзүлүүлөр өзгөрүүсүз уланды. Себеби асимметриялуу LAN маршруту экени белгилүү болду, жана бул үлгүнү таанууга татыктуу, анткени ал таймерге негизделген ар кандай оңдоону жеңет.
keepalive сиздин хост дагы эле жиберүүгө даяр экенин далилдейт. Ал абалды сактаган түзмөккө андан эч качан өтпөгөн жоопту көрсөтө албайт.
Уламыш: keepalive'лер үнсүз үзүлүүнү оңдойт
SSH keepalive'лери бир милдет үчүн бар: үнсүздүктү санаган нерсенин бош турган сессияны тазалашына жол бербөө. Алар муну жакшы аткарышат. Алар абалды сактаган түзмөктүн маселесин чечишпейт, ал бир багытта биринчи пакетти көрүп, анан жоопту эч качан көргөн эмес, анткени кардар жиберген эч нерсе жооптун кайсы интерфейсти колдонорун өзгөртпөйт.
MTU'ну өзгөртүү — экинчи популярдуу оңдоо, жана анын ийгиликсиздик ыкмасы да ошондой. MTU'ну азайтуу фрагментацияга жана жолдун MTU маселелерине жардам берет, ал эми маршрутка эч нерсе кылбайт. Эгер таймерлериңиз жана MTU'ңуз мурунтан эле акылга сыярлык болсо жана үзүлүү дагы деле кайталануучу аралыкта болсо, аралык сизге бир жердеги timeout тууралуу айтат, пакеттин өлчөмү тууралуу эмес. Аралыкты жазып алыңыз жана аны жолдогу ар бир түзмөктүн абал timeout'тору менен салыштырыңыз.
Белги — туруктуулук жана сессиянын ошол аралыктын ичинде колдонууга жарактуу бойдон калышы. Бош туруу timeout'тору эч нерсе болбогондо урат; бул сиз терип жатканда урат.
Кошумча gateway чындыгында эмне кылат
Ноутбук менен VPN gateway'ди бир LAN'га коюңуз, өзүнчө LAN firewall'ду демейки gateway катары калтырыңыз. Ноутбук VPN'ге багытталган трафикти firewall'го жиберет, firewall аны gateway'ге өткөрөт, жана gateway'дин жооптору LAN аркылуу түз ноутбукка кайтат. Ошол экинчи бут firewall'дон эч качан өтпөйт, ошондуктан анын абал таблицасы жарым байланышты кармайт.
Төмөнкү даректер ошол жайгашууну чагылдырат:
Laptop: 192.168.50.20
LAN firewall: 192.168.50.1
WireGuard gateway: 192.168.50.10
Remote VPN subnet: 10.77.0.0/24Кайра багыттоолор жана абалды иштетүү андан кийин иштеп жаткан handshake'ти дароо эмес, кийин өлгөн байланышка айландырат. Кечигүү — абал жазуусунун эскирүүсү же катаал текшерүүнүн ийгиликсиздиги, ошондуктан аралык ушунчалык механикалык көрүнөт.
Мунун эч бири кардардын конфигурациясында көрүнбөйт, ошондуктан аны издөө адатта туура эмес файлдан башталат.
Бир атайын тандалган жолду тандаңыз
Жогорку жайгашуу үчүн алыскы кошумча тармакты түз VPN gateway'ге багыттоо жарым байланышты жок кылат:
sudo ip route add 10.77.0.0/24 via 192.168.50.10
ip route get 10.77.0.42Булар мисал даректер. Кийинки хоп сиздин LAN'да жеткиликтүү болушу керек, префикс көздөлгөн алыскы тармак болушу керек, ал эми экинчи буйрук ага таянбастан мурун жыйынтыкты көрсөтөт. Эгер gateway сиздин кошумча тармагыңызда болбосо, бул маршрут сиз каалаган оңдоо эмес.
Эгер firewall ошол системалардын ортосундагы трафикти көзөмөлдөө үчүн болсо, аны айланып өтүү туура эмес долбоор. Анын ордуна эки багытты тең чек арадан өткөрүңүз жана кайтуу жолу дал келиши үчүн ар тараптагы маршруттарды конфигурациялаңыз. Максат — бир атайын тандалган жол, абалды текшерүүнү азайтуу эмес.
Netgate'тин асимметриялуу багыттоо боюнча жазуулар интерфейс деңгээлиндеги ошол эле асимметрияны жана анын жараткан абал маселелерин сүрөттөйт, ошондуктан абалды иштетүүнү глобалдык түрдө бошотуп берүүдөн мурун аларды окуңуз. Бул учурга окшош убакыттык ажыроолор өз алдынча далил эмес. Макаланы бир ийгиликсиздик режиминин сүрөттөмөсү катары кабыл алыңыз, анан глобалдык абал саясатын өзгөртүүдөн мурун өз тармагыңыз ага дал келерин далилдеңиз.
Эки учтан тең сынаңыз
Ноутбуктун максатка карай маршрутун жана максаттын ноутбукка карай кайтуу маршрутун окуңуз; бул эки өзүнчө чечим жана алардын бирөө гана туура эмес болушу мүмкүн. Gateway'дин өзүнөн ийгиликтүү ping маселени толугу менен жашыра алат, анткени ал жолу мурунтан туура болгон машинадан башталат. Сизге чыныгы сессиянын эки учу көргөн эки багыт керек.
Оңдоодон кийин SSH'ти кайра ачып, сессияны мурун ийгиликсиз болгон аралыктан бир кыйла узакка ачык кармаңыз. Анан маршрутту бекитилген тармак конфигурациясында туруктуу кылыңыз, анткени бир жолку буйрук кайра жүктөө планы эмес жана маселе кийинки кайра жүктөөдө жаңы сыр менен кайтат.
Асимметрия качан нормалдуу
Асимметриялуу багыттоо көптөгөн тармактарда нормалдуу жана аныктама боюнча бузулган эмес. Ал абалды көзөмөлдөө, которуу же саясат өздөрү көрбөгөн жолду көрүүгө көз каранды болгондо маселеге айланат, жана алардын ар биринин өз дарысы бар. Анын айланасында кайра долбоорлоодон мурун ортодогу түзмөк чындыгында эмнени талап кыларын текшериңиз.
Туруктуу жооп эки жолду, экөөнү тең көрүшү керек болгон түзмөктү жана муну мүмкүн кылган маршрутту атайт. Эгер түзмөктү атай албасаңыз, себебин дагы таба элексиз.