Сиздин OpenVPN клиентиңиз nobind же туруктуу портту колдонушу керекпи?
nobind сыртка туташкан клиент үчүн баштапкы портту ядрого тандоого берет. Үч шарт муну каалайсызбы, же бекитилген жергиликтүү порттубу, аны чечет.
Бир сап менен гана айырмаланган эки профиль ошол эле хостто экинчи клиент башталган учурда башкача жүрүм-турум көрсөтөт. Бири nobind алып жүрөт жана ядро берген каалаган жергиликтүү портту алат; экинчиси 1194-тү резервде кармайт, ал эми экинчи нуска пайдаланылып жаткан дарек менен өлөт. Ошол сап баштапкы портту ким тандай турганын чечет, ал өз кезегинде профилдин машинадагы башка нерселер менен бирге жашай аларын чечет. Үч суроо муну чечет, ал эми биринчиси калган эки суроого жетээрден мурун профилдердин көбүнө жооп берет.
nobind чындыгында эмнени өткөрүп жиберет
Демейде клиент чалуудан мурун жергиликтүү сокетти байланыштырат, ал эми профиль башкача айтпаса, жергиликтүү порт 1194 болот. nobind ошол резервди алып салат, ошондуктан стек туташуу учурунда колдонулбаган портту бөлөт. Бул демейки эмес, өзгөчөлүк, жана сапсыз клиент 1194-тү кармайт, ошондуктан бекитилбеген экинчи нуска так урунат. Жеткирилген клиенттик профилдердин көбү ушул себептен нускаманы алып жүрөт, ал эми үлгү файлдын бир нерсе кылганы механизмдин муну демейде кылганы менен бирдей эмес.
Өзгөрбөгөн нерсе — алыскы тарап. Сервер дагы эле профиль айткан жерде угат, ал эми конфигурациядагы багыт порту дагы эле багыт порту. Динамикалык баштапкы порт өз сокетиңиздин кайтаруу дарегин өзгөртөт, сервердикине эч нерсе кылбайт.
Ал эч нерсени жашырбайт. Сиздин коомдук дарегиңиз — жол аны эмнеге айландырса, ошол, пакет дагы эле жергиликтүү тармактан өтөт, ал эми ошол тармакты башкарган адам дагы эле агымды көрөт. nobind купуялуулук өзгөчөлүгү да эмес, брандмауэрди айланып өтүү да эмес.
Муну чечкен үч шарт
Бир суроо калган экөөнү чечет, ошондуктан бир нерсени оңдоого чейин ага жооп бериңиз. Эгер өнөктөш сыртка чалса, калган суроолор мурда кабыл алынган чечимди тактайт. Эгер ал кирүүчү туташууларды кабыл алса, жергиликтүү портту жөндөөнүн эч бир өлчөмү аны жеткиликтүү кылбайт.
Бул өнөктөш туташууну өзү баштайбы? Эгер сыртка чалса, динамикалык баштапкы порт зыянсыз жана адатта жакшыраак, анткени жооп ошол эле агым менен кайтат. Эгер кирүүчү туташууларды күтсө, динамикалык порт аны жеткиликсиз кылат, эгер алдында бир нерсе портту жарыялабаса. Ошол бир жооп ар бир клиенттик профилди ар бир сервердик профилден бөлөт.
Жол баштапкы порт боюнча чыпкалайбы? Бир белгилүү порт үчүн жазылган катуу эреже так жергиликтүү портту талап кылат, ал эми профиль кайсы эрежени аткарарын жазышы керек. Тармактардын көбү багыт боюнча гана чыпкалайт, ошондуктан бул шарт биринчиден сейрек. Колдонулган жерде ал динамикалык порттун артыкчылыгын жокко чыгарат.
Бир нече нуска хостту бөлүшөбү? Бир туруктуу порт алардын экөөнө кызмат кыла албайт, ал эми кайра башталган нуска 1194-тү дагы эле жабылуу абалында табышы мүмкүн. Динамикалык порттор башка эч нерсени өзгөртпөстөн ошол кагылышты жоёт. Эгер буга ишенимдүү жооп бере албасаңыз, ооба деп эсептеп, ядрого тандоого жол бериңиз.
Бекитилген порт туура жооп болгон жер
Кээ бир тармактар багыт менен катар баштапкы порт боюнча да чыпкалайт, ошондуктан оператор бир гана белгилүү порттон келген трафикти өткөргөн эреже жазган болушу мүмкүн. Ошондо жергиликтүү портту бекитүү туура, ал эми профиль аткарган эрежени атаган комментарий алып жүрүшү керек. Сервер порту менен симметрия үчүн бекитүү себеп эмес, анткени бул эки сандын бири-бирине тиешеси жок. Эгер бекитүү үлгүдө болгондуктан гана бар болсо, аны өчүрүңүз.
Болбосо бекитилген порт кыйынчылык сатып алат: бир машинадагы эки клиент экөө тең 1194-тү кармай албайт, ал эми экинчиси профилге эмес, портко көрсөткөн ката менен ийгиликсиз болот. Тез кайра башталган контейнер ошол эле дубалга урунат. Оңдоо — жеткирилген профилдерде мурунтан бар нускама.
Сервер менен клиент симметриялуу эмес
OpenVPN 2.6 колдонмосу жайгаштырат nobind жанына lport, бул бир саптагы далил: бир вариант ядро тандайт дейт, экинчиси сиз тандайсыз дейт. Динамикалык жергиликтүү порт сыртка чалган өнөктөш үчүн гана иштейт, анткени жооп берүүчү тарап портту алдын ала биле албайт. Ошондуктан клиенттик профилди серверге көчүрүү эч ким жете албаган угуучуну жаратат.
Бир нече тармактык интерфейси бар хостто дарек порттон өзүнчө чечим. Белгилүү бир жергиликтүү даректи байлоо жана белгилүү бир портту байлоо эки башка жөндөө, ал эми эки жогорку каналы бар сервер адатта экөөнү тең бекитет. Экөөнү тең бекиткен клиент эч кандай пайдасыз ошол эле катуулукту алган.
Корутунду ролдор тууралуу, коопсуздук тууралуу эмес: сыртка чалган адам өз булагы боюнча ийкемдүү боло алат, ал эми жооп берген адам боло албайт. Эки тандоонун эч бири экинчи тарап сиздин инсандыгыңыз тууралуу билгенин өзгөртпөйт. Ошондуктан нускама клиенттик үлгүлөрдө кездешет, сервердик үлгүлөрдө дээрлик эч качан кездешпейт.
Ядро тандаган портту текшериңиз
Туташкандан кийин конфигурацияны эмес, сокетти окуңуз, анткени конфигурация ниетти билдирет, сокет эмне болгонун билдирет. Жазып алууга татыктуу фактылар — жергиликтүү порт, алыскы чектик чекит жана дагы бир нерсе угуп жатабы. Linux хостто үчөө тең бир буйрук аралыгында.
ss -unp | grep openvpn
ss -lunp | grep openvpn
sudo lsof -nP -i | grep openvpn
nobind клиенти жогорку жергиликтүү портту жана конфигурацияланган алыскы портту көрсөтөт, бул күтүлгөн форма. Сервер өзүнүн конфигурацияланган портунда угуучу сокетти көрсөтөт, ал эми бул сокет жок болсо, профиль же угуучу эмес, же байлай алган жок. Агым бар болсо да пакеттер кайтпаса, профилди оңдоого чейин тандалган баштапкы портту жолдогу каалаган порт чыпкасы менен салыштырыңыз. Бир нерсени өзгөртүңүз, кайра туташыңыз жана сокетти кайра окуңуз.