OpenVPN кардары бир дарекке кайрылат, сервер башка даректен жооп берет, ал эми туннель эч качан көтөрүлбөйт. Сервер журналы пакеттин келгенин, ал эми жазуу жооптун чыкканын көрсөтөт, ошондуктан ката кардарга тагылат. Бир нече интерфейси бар же бир интерфейсте бир нече дареги бар хостто эки тарап кайсы дарек колдонулуп жатканы тууралуу жөн гана макулдашпайт. Жооп IP деңгээлинде туура, бирок көптөгөн кардарлар башаты өздөрү кайрылган дарекке туура келбеген датаграмманы таштап салышат.

Башат өзгөргөндө кардар эмнени көрөт

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

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

multihome опциясы чындыгында эмне кылат

Директива конфигурация файлында multihome жана буйрук сабында --multihome катары жазылат, жана ал UDP серверин кардардын пакети жеткен даректен жооп берүүгө мажбурлайт. Өзөк кабыл алуу учурунда баштапкы багыт дарегин кошумча маалымат катары берет, ал эми OpenVPN ошол маанини жооптун башаты катары колдонот. Ошентип, жалпы даректе угуп жаткан сервер, IPv4 үчүн local 0.0.0.0 же анын IPv6 барабардыгы, ар бир кардар өзүнчө угуучуга жеткендей жүрүм-турум кылат. Коомдук дарек аркылуу кирген кардарлар коомдук даректен жооп алышат, ички даректеги кардарлар ошол даректен алышат. Пакеттин жолунда башка эч нерсе кыймылдабайт: маршрут, фильтр эрежелери жана туннелдин конфигурациясы болгон бойдон калат.

Ушул акыркы касиет опцияны башка жактан иштеп жаткан серверге кошууну коопсуз кылат, жана бир гана дарекке уруксат берген фильтрди ал оңдой албашынын себеби да ушунда. Пакет барып жаткан жолунда кабыл алынышы керек, ошондуктан башатты оңдоо жооптун келип чыгышын өзгөртөт, андан ашык эмес. Ал UDP үчүн гана: TCP угуучусунда бул көйгөй ошол эле формада болбойт, анткени туташуу жооптун башат дареги менен эмес, төрттүк менен аныкталат.

Кайсы учурда туруктуу жергиликтүү дарек туура эмес демейки болот

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

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

Жооптун башатын сырттан далилдеңиз

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

tcpdump -ni any udp port 1194
ss -lunp 'sport = :1194'
ip route get 203.0.113.10 from 198.51.100.20

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

Маршруттоо, аныктоо жана фильтрлөө өзүнчө бойдон калат

Жооптун башатын сактоо чыгуучу маршрутту орнотпойт, динамикалык DNS'ти жаңыртпайт жана бир дарек үй-бүлөсүн экинчисин кабыл алууга мажбурлабайт. Бир нече жогорку каналы бар серверде ар бир башат үчүн кайтаруу жолу атайын макулдашылышы керек, болбосо жооптор кардардын фильтри эч качан уруксат бербеген интерфейстен чыгат. Ошол сыяктуу эле, префикс өзгөргөндөн кийинки жаңы дарек кардарларга жетиши керек аныктоо жана колдоого алынган кайра туташуу агымы аркылуу, эски жазуу аркылуу эмес.

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

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