Бирөө сизге биринчи жана акыркы даректи берип, VPN маршрутун сурайт. Кызыктырган кадам — эки четин тең камтыган эң кыска префиксти тандоо, бирок ал кадам эч ким сурабаган багыттарды унчукпай кошот. CIDR блогынын өлчөмү ар дайым экинин даражасы жана баштапкы дареги ошого тегизделген, ошондуктан каалаган аралыкка адатта бирөө жетишсиз. Аралыкты аралап чыгыңыз, аны так бөлүңүз, анан анын сыртындагы даректерди текшериңиз.

Префикстен эмес, аралыктан баштаңыз

Башка нерсе жазганга чейин биринчи даректи жана акыркы даректи жазып коюңуз. Жуп — талаптын өзү; префикс анын бир гана мүмкүн болгон туюнтмасы, кээде туура эмес туюнтмасы. Эки санды текшерүү маскадан алда канча жеңил.

Тегизделген аралык бир блокко бүктөлөт. Тегизделбеген аралык бир нечеге ажырайт, жана ажыроо болжолдуу эмес, так. Кылбашыңыз керек нерсе — сыртка карай тегеректеп, аны жетиштүү жакын деп атоо, анткени кошумча даректер маршрут алып жүргөн саясатты алышат.

Катанын эки багыты тең маанилүү. Туннелге барган маршрут үчүн кошумча даректер VPNге тартылат. Айланып өтүү өзгөчөлүгү үчүн кошумча даректер аны өткөрүп жиберет. Экөөнүн бири да сиз орноткон префиксти гана көрсөткөн маршрут таблицасында көрүнбөйт.

Биринчи учур: аралык кокустан тегизделген

198.51.100.64төн 198.51.100.127ге чейин алыңыз. Биринчи дарек 64 даректин чегине тегизделген жана аралык так 64 дарек, ошондуктан бир /26 аны калдыксыз сүрөттөйт.

Бул жеңил учур жана аны таанууга татыктуу, анткени бул талапты префикстер менен ойлогон адам жазганын билдирет. Бул текшерүүнүн кыска экенин да билдирет: өлчөм экинин даражасы жана башталышы ошол өлчөмдүн эселиги экенин ырастаңыз.

Документация диапазондору жакшы мисалдар, анткени алардын ээси жок. Бул даректерди чыныгы туннелге орнотпоңуз жана сизге берилген диапазонду жөн гана кызык көрүнгөнү үчүн документация мейкини деп ойлобоңуз.

Экинчи учур: тегизделбеген, ошондуктан бөлүңүз

Эми 198.51.100.100дөн 198.51.100.107ге чейин алыңыз. Бул сегиз дарек, башкача айтканда экинин даражасы, бирок 100 сегизге эселик эмес. Ошондой өлчөмдөгү бир блок андан баштала албайт, ошондуктан аралыкты бирден көбүрөөк жабуу керек.

Так жабуу — эки /30 блок: 198.51.100.100/30 100дөн 103кө чейинкилерди, ал эми 198.51.100.104/30 104төн 107ге чейинкилерди жабат. Баары сегиз дарек, аралыктан тышкары эч нерсе жок, жана ажыроо берилген аралык үчүн уникалдуу.

python3 -c "from ipaddress import ip_address, summarize_address_range as s; print(*s(ip_address('198.51.100.100'), ip_address('198.51.100.107')), sep='\n')"

Стандарттык китепкана функциясы арифметиканы сиз үчүн аткарат, ал эми ipaddress документациясы ал эмнени кайтарарын аныктайт. Ал кылбаган нерсе — шлюз тандоо, даректер кимге таандык экенин чечүү же алардын артындагы каалаган кызматка кирүү укугун берүү.

Кененирээк префикс эмнени кармай турганын өлчөңүз

Кыска жолду кабыл алардан мурун анын баасын эсептеңиз. 198.51.100.96дан башталган /28 96дан 111ге чейинкилерди жабат, бул сегиздин ордуна он алты дарек. Кошумча сегиз — 96дан 99га жана 108ден 111ге чейинкилер, жана алардын ар бири маршрутту мурастайт эле.

python3 -c "from ipaddress import ip_network as n; w=set(n('198.51.100.96/28')); t=set(n('198.51.100.100/30'))|set(n('198.51.100.104/30')); print(len(w), len(t), sorted(w-t))"

Сегиз кошумча багыт — өзгөртүү сурамына жазууга боло турган так сан. Бул ошондой эле кыска жолдун кабыл алынышын чечкен сан, ал эми бул арифметика эмес, саясат маселеси.

Арифметика менен аныктоону өзүнчө кармаңыз. Тармак оператору берген аралык так айландырылат. Өзгөрүп турган кызматтын бир DNS жообу ошол кызматтын толук же туруктуу диапазонун бекемдебейт, жана байланышсыз аттар бир даректи бөлүшө алышат.

Так топтомду орнотуп, четтерин текшериңиз

Ар бир алынган префиксти VPN конфигурациясынын ээсине берип, аны колдоого алынган механизм аркылуу орнотууга уруксат бериңиз. Эгер талап эки жазууну талап кылса, форманы кыскартуу үчүн бирөөнү кеңейтүүнүн ордуна эки жазууну кармаңыз.

sudo ip route add 198.51.100.100/30 via 10.90.0.1 dev tun0
sudo ip route add 198.51.100.104/30 via 10.90.0.1 dev tun0
ip route get 198.51.100.101
ip route get 198.51.100.97

Акыркы эки буйрук — адамдар өткөрүп жиберген буйруктар. Биринчи ички дарек жаңы маршрутту ээрчиши керек, ал эми аралыктын так сыртындагы дарек ээрчибеши керек. Эгер экөө тең бир жол менен жүрсө, аралык талап менен конфигурациянын ортосунда бир жерде кеңейтилген.

Биринчи даректи, акыркы даректи жана аларды туюндурган префикстерди жазып алыңыз. Эрежени кийинки карап чыгуучу адам арифметиканы кайталабастан талапты конфигурация менен салыштыра алат, жана так маршрут менен ыңгайлуу маршруттун айырмасы көрүнүп турат.

Тектеш макалалар