Збой канкрэтны: Docker не можа знайсці прыдатную аўтаматычную падсетку для новай маставой сеткі. Гэта не азначае, што ў машыны скончыліся адрасы, і не азначае, што VPN зламаны. Дыягназ вызначаюць два пытанні: якія блокі-кандыдаты бачыць дэман і якія з іх выключае яго размеркавальнік у гэтым асяроддзі. Праходзьце іх менавіта ў такім парадку, бо другое пытанне бессэнсоўнае, пакуль не адказана на першае.

Пацвердзіце, што менавіта зламалася, перш чым нешта змяняць

Выканайце прыведзеныя ніжэй крокі на хасце, які запускае дэман. Абалонка, якая размаўляе з аддаленым кантэкстам, апісвае іншую машыну, і адна гэтая памылка можа змарнаваць гадзіну.

Адначасова запішыце версію Engine у заяўку. Кожная эўрыстыка ў астатняй частцы гэтага кіраўніцтва прывязана да версіі, а сцвярджэнне без версіі — гэта чутка.

Падлічыце размеркаванні, якія ў вас ужо ёсць

Пералічыце сеткі, затым агледзіце тыя, што маюць значэнне: docker network ls, а за ім docker network inspect NETWORK_NAME. Прачытайце іх падсеткі IPAM і кантэйнеры, далучаныя да кожнай. Некалькі праектаў Compose спажываюць больш блокаў, чым можна меркаваць па колькасці іх кантэйнераў, бо кожны праект схільны ствараць уласную сетку па змаўчанні. Прыпынены кантэйнер не вызваляе размеркаванне сваёй сеткі.

Праверце таксама канфігурацыю пула, бо пул па змаўчанні мае базавы дыяпазон і памер прэфікса для кожнай сеткі. Вялікія размеркаванні на сетку хутчэй вычэрпваюць даступныя блокі, і гэта факт ёмістасці, а не праблема маршрутызацыі.

Запішыце колькасць. Менавіта яна з’яўляецца базай, якая пакажа, ці дапамагла наступная змена.

Параўнайце, як дэман бачыць маршруты

VPN можа ўплываць на выбар кандыдатаў, але канкрэтная рэалізацыя вырашае, як менавіта. У Moby 28.2.2 на Linux функцыя InferReservedNetworks збірае адрасы сервераў імёнаў і пэўныя маршруты IPv4 on-link, і яна не проста рэзервуе кожны маршрут з кожнай табліцы. Сабраныя маршруты звязаў таксама выключаюць нявызначаны адрас прызначэння, таму адзін маршрут 0.0.0.0/1 не рэзервуе ўсе адрасы. Іншы шырокі прэфікс on-link, напрыклад 128.0.0.0/1, можа перасякацца са знаёмымі дыяпазонамі кандыдатаў 172 і 192.

Параўнайце ip -4 route show table all да і пасля падключэння VPN, на хасце дэмана. Розніца — гэта доказ, а версія — межы сцвярджэння.

Не пераносьце эўрыстыку аднаго выпуску на ўсе выпускі. Менавіта так адказ на форуме ператвараецца ў змену палітыкі.

Выберыце найменшае выпраўленне, якое працуе

Калі пацверджаная невыкарыстаная сетка трымае патрэбны вам блок, плануйце яе мэтавае вывядзенне разам з уладальнікам, а не шырокую абрэзку. Для новай сеткі яўна правераная невыкарыстаная падсетка цалкам пазбаўляе ад залежнасці ад аўтаматычнага выбару. Гэтая падсетка ўсё роўна павінна пазбягаць сапраўдных прызначэнняў Docker, LAN і абавязковых VPN, бо прыватны не значыць бяспечны. Маршрутызацыя сапраўднага аддаленага прэфікса абмяняла б памылку размеркавання на зламаны доступ.

Змена default-address-pools — гэта шырэйшая палітыка адносна будучых размеркаванняў. Выберыце неканфліктную базу і прыдатны выдзелены памер, аб’яднайце яго з існуючымі наладамі дэмана і сплануйце задокументаваны ўплыў перазапуску. Існуючыя сеткі маўкліва не перанумароўваюцца.

Не адключайце рассылку маршрутаў кампаніі, каб размеркаванне атрымалася. Яўны план адрасоў звычайна вырашае лакальную праблему, не аслабляючы абавязковую палітыку.

Прымайце размеркаванне і маршрутызацыю асобна

Пасля змены агледзіце падсетку, якую Docker сапраўды стварыў, і праверце залежнасці праграмы ад VPN і лакальных рэсурсаў. Паспяховае размеркаванне і правільная маршрутызацыя падчас працы — дзве розныя праверкі прыёмкі, і праходжанне першай не з’яўляецца доказам другой. Калі праграма не можа дабрацца да рэсурсу за тунелем, у вас праблема маршрутызацыі, якую хаваў збой пула. Запішыце абодва вынікі ў заяўку.

Трымайце розніцу маршрутаў і колькасць пула разам з запісам аб змене, бо наступнае абнаўленне VPN-кліента можа змяніць першае, не кранаючы Docker.

Кіраўніцтва завершана тады, калі хтосьці іншы можа паўтарыць гэтыя дзве праверкі і атрымаць той жа адказ.

Падобныя артыкулы