Дыяпазон — не маршрут: ператварыце 200-255 у тры прэфіксы
Радок маршруту прымае сетку і маску, а не адрас пачатку і канца. Складзіце дыяпазон у выраўнаваныя прэфіксы, перш чым OpenVPN яго ўсталюе.
Правілы міжсеткавага экрана прымаюць першы і апошні адрас, напрыклад 192.168.0.200 праз 192.168.0.255, а маршруты — не. Запіс маршруту мае месца толькі для сеткі і маскі, што значыць: безупынны дыяпазон павінен стаць адным або некалькімі выраўнаванымі прэфіксамі, перш чым OpenVPN яго ўсталюе. Профіль, які спалучае route-nopull з невыраўнаваным інтэрвалам, — гэта месца, дзе звычайна хаваецца збой, бо файл разбіраецца, а ніводны маршрут не супадае. Наладзьце блокі правільна, і збой стане бачным адной камандай.
Міф: дыяпазон — гэта маршрут
Табліцы маршрутызацыі захоўваюць пары сеткі і маскі і выбіраюць найдоўжае супадзенне, таму інтэрвал з пачаткам і канцом не мае дзе жыць. Адзін прэфікс, што ахоплівае 256 адрасоў, пакрывае .0 да .255, палова гэтага памеру пакрывае .0 да .127, і толькі дыяпазон, выраўнаваны па гэтых межах, адпавядае за адзін крок. Усё астатняе трэба рэзаць на блокі. Меншы маршрут усё яшчэ азначае зыходны інтэрвал.
Дыяпазон, не выраўнаваны па прэфіксе, не з’яўляецца сціснутым маршрутам. Гэта іншы тып аб’екта, і стаўленне да яго як да маршруту — гэта месца, дзе пачынаецца ціхі збой.
Выраўніванне — гэта арыфметыка, а не стыль
Памеры блокаў вызначаюцца даўжынёй прэфікса. /29 можа пачынацца толькі з адраса, які дзеліцца на 8, /28 — з таго, што дзеліцца на 16, /27 — з таго, што дзеліцца на 32. Зрушце блок з яго мяжы, і маска пакрые іншы набор адрасоў, чым вы мелі на ўвазе.
Складвайце з ніжняга краю. На кожным кроку бярыце найбольшы выраўнаваны блок, які не выходзіць за канец дыяпазону, а потым працягвайце з першага адраса пасля яго. Блокі не могуць перакрывацца, бо кожны пачынаецца там, дзе спыніўся папярэдні.
Два чалавекі, робячы гэта ўручную, павінны прыйсці да аднаго выніку. Розніца азначае, што нехта дазволіў пачатак, які не быў выраўнаваны.
Прайдзіце 200 да 255
| Step | Start | Block that fits | Line for the profile |
|---|---|---|---|
| 1 | .200, multiple of 8 | /29, 8 addresses | 192.168.0.200 255.255.255.248 |
| 2 | .208, multiple of 16 | /28, 16 addresses | 192.168.0.208 255.255.255.240 |
| 3 | .224, multiple of 32 | /27, 32 addresses | 192.168.0.224 255.255.255.224 |
Дыяпазон пачынаецца з .200, што кратно 8, таму першы блок — /29 ад .200 да .207. Пасля гэтых васьмі адрасоў першае свабоднае значэнне — .208, яно дзеліцца на 16, таму /28 займае .208 да .223. Застаецца .224 да .255, трыццаць два адрасы, што пачынаюцца з кратнага 32, значыць /27. Гэтыя тры радкі — увесь разбор.
Запішыце іх як радкі маршрутаў, а не як прозу. Профіль, які трымае толькі першы радок, пакрывае восем адрасоў і пакідае астатнія па-за тунелем.
route-nopull
route 192.168.0.200 255.255.255.248
route 192.168.0.208 255.255.255.240
route 192.168.0.224 255.255.255.224
Апошні блок патрабуе праверкі межаў. Унутры 192.168.0.224/27 .224 — гэта адрас сеткі, а .255 — шырокавяшчальны адрас, таму хост, які павінен адказваць на .255, пакрыты прэфіксам і ўсё яшчэ недасяжны. Перанясіце гэты хост або падзяліце дыяпазон інакш, замест таго каб маршрутызаваць блок і спадзявацца.
Што route-nopull робіць з карцінай
Дадавайце route-nopull толькі тады, калі маршруты, што штурхае сервер, непажаданыя. Без дырэктывы штурханыя маршруты і гэтыя радкі суіснуюць, і перамагае найбольш канкрэтны прэфікс. З ёй таксама знікаюць штурханыя опцыі DNS і DHCP, таму ўнутранае развязанне імёнаў патрабуе ўласнай канфігурацыі. Гэты пабочны эфект здзіўляе тых, хто дадаў дырэктыву, каб выправіць праблему маршруту.
Дадавайце яе з правільнай прычыны, а не як аўтаматычны рэфлекс. Выдаленне штурханых маршрутаў — гэта палітычнае рашэнне з наступствам для DNS. Калі сервер можа штурхаць тыя ж тры прэфіксы, няхай штурхае, а кліенцкія копіі выдаліце, каб адзін уладальнік кантраляваў спіс.
Праверкі, што ловяць звычайныя памылкі
Праверце, што кожная маска — безупынны шэраг адзінак. Значэнне 255.255.255.248 праходзіць, а 255.255.255.200 не праходзіць, і маска, якая не безупынная, адхіляецца або чытаецца няправільна. Затым пацвердзіце шлях для аднаго адраса ў кожным блоку.
ip route get 192.168.0.205
ip route get 192.168.0.220
ip route get 192.168.0.240
Кожны адказ павінен называць інтэрфейс тунеля. Вынік, што называе фізічны адаптар, азначае, што радок ніколі не быў усталяваны, а гэта часта адбываецца, калі настольны кіраўнік сеткі перапісвае табліцу пасля падключэння профілю.
Выберыце аднаго ўладальніка спісу. Калі сервер можа штурхаць тыя ж прэфіксы, штурхайце іх і выдаліце кліенцкія праўкі. Адзіны ўладальнік азначае, што друкарская памылка мае адно месца, і кліент з серверам не могуць разыходзіцца ў тым, якія адрасы знаходзяцца ў тунелі.