Docker VPN портының сәйкестендіруі неге OpenVPN-ге ешқашан жетпейді
Хост порты, контейнер порты және транспорт — бұл үш бөлек шешім. Сертификаттарға қол тигізбес бұрын бір UDP әрекетін әр шекарадан бақылап шығыңыз.
Контейнеріңіз UDP 1195-те тыңдай алады, ал хост 1194-ті жариялайды, және бұл сәйкестендіру солай десе, дұрыс. Сандар аударма кестесін құрайды: клиент хост портын теріп, Docker межелі мекенжайды контейнер портына қайта жазады, ал OpenVPN өз конфигурациясы атайтын портта жауап береді. Осы буындардың бірінде сәйкессіздік болса, қорғаныс қабырғасына ұқсайтын үнсіз ақау пайда болады. Сертификаттар мен шифрлар бұдан кейін тұр және оны түзей алмайды.
Аутентификация туралы бірдеңені өзгертер алдында бір пакетті клиенттен процеске дейін бақылаңыз.
Үш сан, бір байланыс
Бұл үш сан — клиент қолданатын қашықтағы меже, хостта жарияланған сәйкестендіру және контейнер ішіндегі тыңдаушы. Олар тең болуы міндетті емес, бірақ тізбек құруы керек. Тең сандар кездейсоқ ең көп кездесетін ерекше жағдай, сондықтан сәйкессіздікті бір рет жазу оңай, ал кейін байқау қиын.
Жөндеу алдында тізбекті бір жолға жазыңыз: клиент мекенжайы мен порты, хост сәйкестендіруі, контейнер тыңдаушысы, транспорт. Тізбектегі ақау әртүрлі мәндермен екі рет кездесетін сан түрінде көрінеді.
| Location | Example |
|---|---|
| Remote client destination | Host address, UDP 1194 |
| Published mapping | Host UDP 1194 to container UDP 1195 |
| Container listener | OpenVPN on UDP 1195 |
Қысқа синтаксис шын мәнінде не дейді
Қысқа нұсқада сол жақ хост порты, оң жақ контейнер порты, ал қиғаш сызық жұрнағы транспортты таңдайды. Жұрнақты қалдырсаңыз, Docker сәйкестендіруді TCP деп қарайды, сондықтан протоколсыз сәйкестендірудің артындағы UDP тыңдаушысы ешкім жете алмайтын тыңдаушы болады. Бұл әдепкі параметр құжатталған және сандарды сәйкестендіріп, шаруаны бітті деп есептегендерді әлі таңқалдырады.
Ұзын нұсқа байланыстыру мекенжайы мен протоколды анық бекітеді, бұл желіге қараған кез келген нәрсе үшін қосымша жолдарға тұрарлық. Оны жасаған файлға сенудің орнына жарияланған сәйкестендіруді қайта оқыңыз.
ports:
- 1194:1195/udpПакет қайда тоқтай алады
Сұраныс Docker-ге дейін, Docker ішінде немесе тыңдаушыда тасталуы мүмкін. Docker алдында бұлттық қорғаныс қабырғасы немесе өзі бағыттайтын маршрутизатор болуы мүмкін, және сол құрылғыға хостқа қарайтын порт пен дұрыс транспорт керек. Docker ішінде қате контейнер портына сәйкестендіру жабық сокетке жібереді.
Содан кейін тыңдаушы: OpenVPN конфигурациясы порт пен протоколды атайды, ал контейнер ішінде басқа портқа келген клиент ешнәрсеге жетпейді. UDP қызметін TCP арқылы тексеру осы кезеңдердің ешқайсысында ештеңе дәлелдемейді, сондықтан клиент қолданатын транспортты қолданыңыз.
Байланыстыру мекенжайлары қолжетімділікті шешеді
loopback-ке байланған жарияланған сәйкестендіру тек хосттан қолжетімді, ал барлық интерфейстерге байланғаны қорғаныс қабырғасы рұқсат еткен жерде қолжетімді. Мекенжайды түсіріп кететін Compose файлында екеуі бірдей көрінеді, ал Docker әдепкісі кең.
Орналастыру қандай әшкерелеуді көздейтінін шешіңіз, содан кейін оны анық жазыңыз. loopback арқылы қосылатын ішкі тест және қосыла алмайтын қашықтағы клиент — екеуі де бір контейнердің дәл сипаттамасы бола алады.
Жұмыс істеп тұрған күйді оқыңыз
Жұмыс істеп тұрған контейнердің нақты сәйкестендіруін және оның желілік атаулар кеңістігіндегі тыңдаушыны тексеріңіз. Compose файлы контейнер қосылғаннан кейін өңделген болуы мүмкін, имидж метадеректері портты жарияламай-ақ мәлімдей алады, ал екінші контейнер хост портын бұрыннан ұстап тұруы мүмкін. Имиджде портты мәлімдеу — оны жариялау емес, және екеуі де тыңдауға тең емес.
Үш түрлі күй, үш түрлі команда, және тек соңғысы OpenVPN-ге қатысты.
Сәйкестендіру дұрыс болғаннан кейін
Пакет OpenVPN-ге жеткен соң, оның журналы TLS пен аутентификация туралы оқитын орын. Ешқашан келмеген пакетті түзету үшін сертификаттарды қайта жасау — екінші айнымалыны қосатын бос жұмыс. Сәйкестендіру жазбасын клиент профилінің жанында ұстаңыз, сонда келесі адам үш санды қайта ашудың орнына бір жол оқиды. Хост жағында бір рет пакет ұстау үш буынның қайсысы қате екенін шешеді, және бұл сертификатты қайта жасаудан арзан.
Мұнда сипатталған жағдай — көпір арқылы жариялау. Хост желісі және маршрутталған контейнер мекенжайлары аударманы айналып өтеді, сондықтан ол жобаларда бірдей сандар басқа мағына береді.