Толук туннель SSH сессияңызды өлтүрдү: кайтуу маршрутун бекитиңиз
Толук туннель өзүңүздүн SSH сессияңызга келген жоопторду да кармайт. Эски шлюз аркылуу административдик дарегиңиз үчүн хост маршрутун бекитип, кайра туташканда аны кайра орнотуңуз.
SSH аркылуу иштеп жаткан машинада OpenVPN клиентин иштетиңиз, жана буйруктун ортосунда сессия тоңуп калат. Туннель туташкандыгын билдирет, хост анын аркылуу интернетке чыгат, жана клавиша басууларыңыз келе берет, бирок эч нерсе кайтпайт. Өзгөргөн нерсе — туннель эмес: бул сизге адрестелген пакеттердин кайтуу жолу, ал эми азыр жаңы демейки маршрутка туура келип, алыскы шлюз сиздин столуңузга жетүү үчүн колдонбой турган туннелге кирет.
redirect-gateway чындыгында эмнени орнотот
Өзүнүн def1 түрүндө redirect-gateway демейки маршрутту кайра жазуунун ордуна 0.0.0.0/1 жана 128.0.0.0/1 кошот. Бул эки жарым бүт дарек мейкиндигин камтыйт жана экөө тең 0.0.0.0/0-дан узунураак префикс бойдон калат, ошондуктан тактыраак дал келүүсү жок ар кандай багыт эми туннелге кирет. Бул эсте калтырууга татыктуу механизм, анткени төмөнкү ар бир оңдоо тактыраак дал келүүнү орнотуу аркылуу иштейт.
Сиздин административдик дарегиңиз ошол багыттардын бири.
VPN сервери өз кардарларынын трафигин интернетке карай жиберет. Анын сиз туташып жаткан коомдук дарекке маршруту жок, жана бул пакеттерди кардардан келген трафиктен башкача деп эсептөөгө эч кандай негизи жок, ошондуктан аларды таштайт. Ошол эле учурда сиз жөнөткөн сурам хостко баары бир жетти, ошондуктан сессия бир жагынан гана тирүү көрүнөт.
ip route show table main | head -n 20
ip route get 198.51.100.23Башат дарегиңизди жана туннелге чейинки жолду табыңыз
Серверде түзүлгөн SSH байланышын тизмелеп, анын кайдан келгенин көрсөткөн теңтуш дарегин жазып алыңыз. Так ошол даректи кайтуу маршрутуңуз камтышы керек, жана ал ар дайым сиз ойлогондой боло бербейт: секирүүчү хост, NAT шлюзу же оператордун котормочусу башка башатты коюшу мүмкүн.
Андан кийин туннел башталганга чейин трафикти ташыган физикалык шлюзду жана интерфейсти табыңыз. def1 жайгашуусунда демейки маршрут жарым-демейкилердин астында дагы эле бар, ошондуктан маалымат жеткиликтүү, бирок узун маршруттар таблицасын көз менен окуу каталарга чакырат.
Эки маанини жана интерфейстин атын чогуу жазыңыз, анткени кошпогон маршрутуңузга үчөө тең керек. Эгер хост өзүнүн жогорку каналын тандоо үчүн саясатка негизделген маршруттоо эрежесин колдонсо, жөнөкөй маршрут такыр эле каралбашы мүмкүн, жана бул мүмкүнчүлүк оңдоону өзгөртөт.
Жарым-демейкилерден ашкан хост маршрутун бекитиңиз
Бир /32 маршруту эки жарым-демейкинин кайсынысынан болсо да узунураак, ошондуктан сиздин дарегиңизге келген жооптор туннелдин ордуна аны тандайт. Кийинки хоп — туннелге чейинки шлюз, ал эми түзмөк — физикалык интерфейс, бул пакетти туннел пайда болгонго чейинки жолдо кармайт.
ip route add 198.51.100.23/32 via 203.0.113.1 dev eth0Таблицаны кароонун ордуна издөө менен текшериңиз: жооп eth0 жана шлюзду аташы керек, эч качан tun0 эмес.
OpenVPN мурун эле VPN серверинин өз дарегине хост маршрутун ошол эле себептен кошот, ошондуктан үлгү тааныш жана административдик дарек жөн гана дагы бир өзгөчөлүк. Муну оңдоо үчүн route-nopull колдонбоңуз, анткени ал туннелге керектелүүчү түртүлгөн маршруттарды таштайт, анын ичинде алыскы тармак жана DNS параметрлери.
Кайра туташууга туруштук беришин камсыз кылыңыз
Кол менен кошулган маршрут кардар кайра туташып өзүнүкүн орноткондо жоголот, бул оңдоону кайталануучу үзгүлтүккө айландырат. Буйрукту маршруттар орнотулгандан кийин иштеген нерсеге байлаңыз.
Мисалы, route-up скрипти да, тармак менеджеринин pre-up илгичи да иштейт, ал эми ишенимдүү текшерүү — кайра туташуу жана андан кийин ошол эле издөө.
Windows'до барабар нерсе — -p аркылуу кошулган туруктуу маршрут, ал кайра жүктөөлөргө туруштук берет, бирок тармак өзгөргөндөн кийин туура шлюзду көрсөтүшү керек. Платформа кандай болбосун, маршруттун жанына себебин жазыңыз: кийинки администратор анын башкаруу сессиясын коргоо үчүн бар экенин билиши керек, тармактын долбоору талап кылгандыктан эмес.
Бекитилген маршрут дагы деле жетишсиз болгондо
Кайтарма жолдун фильтрлөө бир интерфейсте келип, экинчисинен чыккан пакетти ташташы мүмкүн, жана бекитилген маршрут так ушундай кырдаалды жаратат. Бир нерсени глобалдык өчүрүүдөн мурун rp_filter эффективдүү маанисин текшериңиз, жана текшерүүнү өчүрүүнүн ордуна асимметрияны оңдоону артык көрүңүз. Интерфейс боюнча жөндөө колдонулат, ал эми loose режими пакетти таштоонун ордуна көбүнчө асимметрияны гана жазат. Фильтр күнөөлүү деп жыйынтык чыгаруудан мурун экөөнү тең окуңуз.
Саясатка негизделген маршруттоосу бар хостторго маршрут менен катар эреже да керек, анткени эрежелер базасы ичиндеги маршрут каралганга чейин таблицаны тандайт. main таблицасындагы маршрут башка таблицага шилтеген эрежеге дал келген агымга көрүнбөйт. main'га бир нерсе кошуудан мурун эрежелерди окуңуз. Эгер эреже башкаруу трафигин мурун эле камтыса, өзгөчөлүк ошол эреженин таблицасына таандык.
Сыноо учурунда тилкеден тышкаркы консолду ачык кармаңыз, жана колдонуп жаткан логинди ажыратуудан мурун экинчи логинден кайра текшериңиз. Өзүңүздүн башкаруу трафигиңизди туннелге жиберген маршрут аны оңдоп жаткан байланышыңызды үзөт. Анда кайра кирүү сериялык консолду же куткаруу жүктөөсүн талап кылат, бул бир текшерүү кадамын өткөрүп жиберүү үчүн начар алмашуу.