Опсег није рута: претворите 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 је broadcast адреса, па је хост који мора да одговори на .255 покривен префиксом и даље недоступан. Преместите тај хост или поделите опсег другачије, уместо да рутирате блок и надате се.
Шта route-nopull чини слици
Додајте route-nopull само кад су руте које сервер гура нежељене. Без директиве, гуране руте и ове линије постоје заједно, а најспецифичнији префикс побеђује. С њом нестају и гуране DNS и DHCP опције, па интерно разрешавање имена треба сопствену конфигурацију. Тај нежељени ефекат изненађује људе који су директиву додали да поправе проблем са рутом.
Додајте је због правог разлога, а не као аутоматски рефлекс. Уклањање гурaних рута је политичка одлука са 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
Сваки одговор треба да наведе интерфејс тунела. Резултат који наведе физички адаптер значи да линија никада није инсталирана, што се често дешава кад радни мрежни менаџер препише табелу након повезивања профила.
Изаберите једног власника списка. Кад сервер може да гура исте префиксе, гурајте их и уклоните измене на клијенту. Један власник значи да штампарска грешка има једно место, и клијент и сервер не могу да се разиђу око тога које адресе седе унутар тунела.