Docker: VPN сессиясы кезінде алдын ала анықталған мекенжай пулдары қалмайды
Алдын ала анықталған пул қатесі автоматты бөлуге қатысты, қоғамдық мекенжайларға емес. Бөлулерді санаңыз, on-link маршруттарды салыстырыңыз және VPN саясатын бұзбай сақтаңыз.
Ақау нақты: Docker жаңа көпірлік желі үшін қолайлы автоматты ішкі желіні таба алмайды. Бұл машинаның мекенжайлары таусылды дегенді білдірмейді және VPN бұзылды дегенді де білдірмейді. Диагнозды екі сұрақ шешеді: демон қандай кандидат блоктарды көре алады және осы ортада оның бөлгіші олардың қайсысын алып тастайды. Оларды дәл осы ретпен қарап шығыңыз, өйткені бірінші сұраққа жауап берілмейінше екінші сұрақтың мәні жоқ.
Бірдеңені өзгертуден бұрын не сәтсіз болғанын растаңыз
Төмендегі қадамдарды демонды іске қосатын хосттан орындаңыз. Қашықтағы контекстпен сөйлесетін қабық басқа машинаны сипаттайды, ал тек осы қате бір сағатты ысырап етуі мүмкін.
Сол уақытта билетке Engine нұсқасын жазып қойыңыз. Осы нұсқаулықтың қалған бөлігіндегі әрбір эвристика нұсқаға байланған, ал нұсқасыз тұжырым өсек болып қалады.
Қазірдің өзінде бар бөлулерді санаңыз
Желілерді тізімдеп, содан кейін маңыздыларын қарап шығыңыз: docker network ls, одан кейін docker network inspect NETWORK_NAME. Олардың IPAM ішкі желілерін және әрқайсысына қосылған контейнерлерді оқыңыз. Бірнеше Compose жобасы контейнер саны болжайтыннан көбірек блок жұмсайды, өйткені әрбір жоба өзінің әдепкі желісін құруға бейім. Тоқтатылған контейнер өз желісінің бөлуін босатпайды.
Пул конфигурациясын да тексеріңіз, өйткені әдепкі пулдың негізгі ауқымы және әр желіге префикс өлшемі бар. Әр желіге үлкен бөлулер қолжетімді блоктарды тезірек тауысады, және бұл сыйымдылық фактісі, маршруттау мәселесі емес.
Санды жазып қойыңыз. Келесі өзгеріс көмектесті ме, жоқ па — соны айтатын базалық сызық осы.
Демонның маршруттарды қалай көретінін салыстырыңыз
VPN кандидаттарды таңдауға әсер етуі мүмкін, бірақ қалай болатынын нақты іске асыру шешеді. Linux жүйесіндегі Moby 28.2.2 ішінде InferReservedNetworks атау серверлерінің мекенжайлары мен кейбір on-link IPv4 маршруттарын жинайды және әр кестенің әр маршрутын жай ғана қорғап қоймайды. Жиналған байланыс маршруттары анықталмаған тағайындалу мекенжайын да алып тастайды, сондықтан жалғыз 0.0.0.0/1 маршруты барлық мекенжайды қорғамайды. Басқа кең on-link префиксі, мысалы 128.0.0.0/1, таныс 172 және 192 кандидат ауқымдарымен қиылысуы мүмкін.
VPN қосылғанға дейін және кейін ip -4 route show table all командасын демонның хостінде салыстырыңыз. Айырма — дәлел, ал нұсқа — тұжырымның шеңбері.
Бір шығарылымның эвристикасын барлық шығарылымдарға жалпыламаңыз. Форум жауабы саясат өзгерісіне осылай айналады.
Жұмыс істейтін ең кіші түзетуді таңдаңыз
Расталған пайдаланылмаған желі сізге қажет блокты ұстап тұрса, кеңінен кесуге емес, оны иесімен бірге мақсатты түрде тоқтатуды жоспарлаңыз. Жаңа желі үшін анық қаралған пайдаланылмаған ішкі желі автоматты таңдауға тәуелділікті мүлдем болдырмайды. Бұл ішкі желі әлі де нақты Docker, LAN және талап етілетін VPN тағайындалуларынан аулақ болуы керек, өйткені жеке деген қауіпсіз дегенді білдірмейді. Нақты қашықтағы префиксті маршруттау бөлу қатесін үзілген қатынаспен айырбастайтын еді.
default-address-pools өзгерту — болашақ бөлулер туралы кеңірек саясат. Қайшылықсыз негізді және қолайлы бөлінген өлшемді таңдаңыз, оны қолданыстағы демон параметрлерімен біріктіріңіз және құжатталған қайта іске қосу әсерін жоспарлаңыз. Қолданыстағы желілер үнсіз қайта нөмірленбейді.
Бөлу сәтті болуы үшін компания маршруттарын жіберуді өшірмеңіз. Анық мекенжай жоспары әдетте міндетті саясатты әлсіретпей-ақ жергілікті мәселені шешеді.
Бөлуді және маршруттауды бөлек қабылдаңыз
Өзгерістен кейін Docker шын мәнінде жасаған ішкі желіні қарап шығыңыз және қолданбаның VPN және жергілікті тәуелділіктерін тексеріңіз. Сәтті бөлу және жұмыс кезіндегі дұрыс маршруттау — екі түрлі қабылдау тексерісі, ал біріншіден өту екіншісіне дәлел емес. Қолданба туннель артындағы ресурсқа жете алмаса, пул қатесі жасырған маршруттау мәселесі бар. Екі нәтижені де билетке жазыңыз.
Маршрут айырмасын және пул санын өзгеріс жазбасымен бірге сақтаңыз, өйткені VPN клиентінің келесі жаңартуы біріншісін Docker-ге тиіспей-ақ өзгертуі мүмкін.
Нұсқаулық басқа біреу осы екі тексеруді қайталап, дәл сол жауапты алғанда толық болады.