Пакет ноутбуктан чыгат, VPN дарбазасына эч качан жетпейт жана бир да firewall эсептегичи кыймылдабайт. Маршруттар таблицасы пакеттин тагдырын буга чейин чечкен: blackhole жазуусу ага дал келди жана ядро аны бир да интерфейс көрө электе таштап койду. Бул жүрүм-турум багыт жабык түрдө ишке ашпашы керек болгондо пайдалуу, бирок бул кууш камтуудагы маршруттоо аракети. Аны толук kill switch деп эсептөө — долбоорлор жаңылышкан жер.

Таштоо аракети чындыгында эмнеге дал келет

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

Ошондуктан blackhole камтуусу так жана айтууга жеңил: ал префиксти, таблицада, ошол дарек үй-бүлөсү үчүн камтыйт. Ал башка таблица жеңе турган багытты камтыбайт жана IPv4 префикси ташталгандыгы үчүн гана IPv6 камтыбайт.

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

blackhole unreachable же prohibit менен бирдей эмес

Linux таштоого окшош үч маршрут түрүн сунуштайт жана алар жөнөтүүчүнүн эмнени байкаганы менен айырмаланат. blackhole пакетти жоопсуз таштайт, ошондуктан кардар убакыттын бүтүшүн көрөт. unreachable маршруту ICMP unreachable билдирүүсүн кайтарат, ошондуктан байланыш хост же тармак катасы менен тез үзүлөт. prohibit маршруту административдик тыюу катасын кайтарат, бул саясатты атайын четке кагууга жакыныраак.

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

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

kill switch менен кандай салыштырылат

kill switch — пакеттерди чыпкоо: туннелден тышкары чыга турган чыгуу трафигин таштаган firewall эрежеси. blackhole маршруту — стекте эртерек кабыл алынган өткөрүп берүү чечими. Экөө тең трафикти токтото алат, бирок алар ар башка нерселерди көрүшөт жана ар башка учурларды өткөрүп жиберишет.

MechanismWhat it blocksWhat it missesHow failure looks
Blackhole routeDestinations matching the prefix and tableOther tables, other address families, traffic with a different routeSilent timeout
Firewall kill switchEgress not bound to the tunnel interfaceRules that are too broad can break the endpoint or DHCPDropped packets with counters
WireGuard AllowedIPsDestinations not routed into the interfaceTraffic that never enters the interface at allNo tunnel route, direct egress

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

WireGuard'дун AllowedIPs — криптоачкыч маршруттоо, firewall эмес. Ал кайсы багыт префикстери интерфейске кабыл алынарын чечет, ал эми туннелдин субтармагын гана тизмелеген профиль башка багыттарды кадимки демейки маршрутка калтырат. Ошондуктан толук туннелдик профилдер 0.0.0.0/0 колдонушат жана ошондуктан wg-quick мүмкүн болгондо firewall эрежелерин да орнотот.

Туннелдин акыркы чекитин таштоонун сыртында кармаңыз

Акыркы чекиттин сырткы дареги физикалык интерфейс аркылуу жеткиликтүү бойдон калышы керек. Ошол даректи да кармаган таштоо кол алышуунун чыгышына тоскоол болот жана туннель эч качан көтөрүлбөйт, бул маршруттоо саясаты эмес, VPN бузулушуна окшош. Өзгөртүүдөн мурун жана кийин акыркы чекитке маршрутту текшериңиз.

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

IPv6 өз жазуусун жана өз кароосун талап кылат. IPv4-тү blackhole'го таштап, IPv6-ны демейки маршрутта калтырган долбоор саясат токтоткусу келген трафикти так ошону агызат, ал эми ката IPv4 гана сыналган текшерүүдө көрүнбөйт.

Аны таймер жана кайтаруу менен этап-этабы менен киргизиңиз

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

sudo ip route replace blackhole 10.0.0.0/8
ip route get 10.1.2.3
sudo systemd-run --on-active=60 /sbin/ip route del blackhole 10.0.0.0/8

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

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

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