Bloklashni chetlab o'tish uchun BGPni sozlash yoki "Qanday qilib men qo'rqishni to'xtatdim va RKNni sevib qoldim"

Xo'sh, yaxshi, "sevimli" haqida mubolag'a. Aksincha, "bilan birga yashashga qodir edi".

Barchangizga ma’lumki, 16-yil 2018-apreldan boshlab Roskomnadzor “Domen nomlarining yagona reestri, Internetdagi saytlar sahifa indekslari va saytlarni aniqlash imkonini beruvchi tarmoq manzillari”ni qo‘shib, Internetdagi resurslarga kirishni o‘ta keng miqyosda to‘sib qo‘ydi. Internetda "Rossiya Federatsiyasida tarqatilishi taqiqlangan ma'lumotlarni o'z ichiga olgan" (matnda - faqat reestr) /10 ba'zan. Natijada, Rossiya Federatsiyasi fuqarolari va tadbirkorlik sub'ektlari o'zlariga zarur bo'lgan to'liq qonuniy resurslardan foydalanish imkoniyatini yo'qotib, azob chekmoqda.

Habré haqidagi maqolalardan biriga sharhlarimda jabrlanganlarga aylanib o'tish sxemasini o'rnatishda yordam berishga tayyor ekanligimni aytganimdan so'ng, bir nechta odamlar menga shunday yordam so'rab kelishdi. Hamma narsa ular uchun ishlaganda, ulardan biri maqolada texnikani tasvirlashni tavsiya qildi. Biroz o'ylab, saytdagi sukunatimni buzishga qaror qildim va bir marta loyiha va Facebook posti o'rtasida oraliq narsa yozishga harakat qildim, ya'ni. habrapost. Natija sizning oldingizda.

Masʼuliyatdan voz kechish

Rossiya Federatsiyasi hududida taqiqlangan ma'lumotlarga kirishni blokirovka qilishni chetlab o'tish usullarini nashr etish juda qonuniy bo'lmaganligi sababli, ushbu maqolaning maqsadi sizga ruxsat berilgan resurslarga kirishni avtomatlashtirishga imkon beradigan usul haqida gapirishdir. Rossiya Federatsiyasi hududida, lekin boshqa birovning harakatlari tufayli provayderingiz orqali to'g'ridan-to'g'ri kirish imkoni yo'q. Va maqoladan harakatlar natijasida olingan boshqa manbalarga kirish baxtsiz yon ta'sirdir va hech qanday tarzda maqolaning maqsadi emas.

Bundan tashqari, men asosan tarmoq arxitektori bo'lganligim sababli, kasb, kasb va hayot yo'li, dasturlash va Linux mening kuchli tomonlarim emas. Shuning uchun, albatta, skriptlarni yaxshiroq yozish mumkin, VPS-da xavfsizlik masalalari chuqurroq ishlab chiqilishi mumkin va hokazo. Sizning takliflaringiz, agar ular etarlicha batafsil bo'lsa, minnatdorchilik bilan qabul qilinadi - men ularni maqola matniga qo'shishdan xursand bo'laman.

TP; DR

Biz reestr nusxasi va BGP protokoli yordamida mavjud tunnelingiz orqali resurslarga kirishni avtomatlashtiramiz. Maqsad tunnelga bloklangan resurslarga yo'naltirilgan barcha trafikni olib tashlashdir. Minimal tushuntirishlar, asosan bosqichma-bosqich ko'rsatmalar.

Buning uchun sizga nima kerak?

Afsuski, bu post hamma uchun emas. Ushbu texnikadan foydalanish uchun siz bir nechta elementlarni birlashtirishingiz kerak bo'ladi:

  1. Sizda blokirovka maydonidan tashqarida Linux serveri bo'lishi kerak. Yoki hech bo'lmaganda bunday serverga ega bo'lish istagi - xayriyatki, endi uning narxi yiliga 9 dollardan boshlanadi va ehtimol undan ham kamroq. Usul, agar sizda alohida VPN tunnelingiz bo'lsa, u holda server blokirovka maydoni ichida joylashgan bo'lishi mumkin.
  2. Routeringiz buni qila oladigan darajada aqlli bo'lishi kerak
    • sizga yoqqan har qanday VPN mijozi (men OpenVPN-ni afzal ko'raman, lekin u PPTP, L2TP, GRE+IPSec yoki tunnel interfeysini yaratuvchi boshqa variant bo'lishi mumkin);
    • BGPv4 protokoli. Bu SOHO uchun Mikrotik yoki Quagga yoki Bird o'rnatish imkonini beruvchi OpenWRT/LEDE/o'xshash maxsus proshivkali har qanday router bo'lishi mumkinligini anglatadi. Kompyuter routeridan foydalanish ham taqiqlangan emas. Korxona bo'lsa, chegara routeringiz uchun hujjatlarda BGP yordamini qidiring.
  3. Siz Linuxdan foydalanish va tarmoq texnologiyalari, shu jumladan BGP protokoli haqida tushunchaga ega bo'lishingiz kerak. Yoki hech bo'lmaganda bunday fikrga ega bo'lishni xohlaysiz. Men bu safar beqiyoslikni qabul qilishga tayyor emasligim sababli, siz o'zingiz uchun tushunarsiz bo'lgan ba'zi jihatlarni o'rganishingiz kerak bo'ladi. Biroq, men, albatta, sharhlarda aniq savollarga javob beraman va men javob beradigan yagona odam bo'lishim dargumon, shuning uchun so'rashdan tortinmang.

Misolda nima ishlatiladi

  • Reestrning nusxasi - dan https://github.com/zapret-info/z-i 
  • VPS - Ubuntu 16.04
  • Marshrut xizmati - qush 1.6.3   
  • Router - Mikrotik hAP ac
  • Ishchi papkalar - biz ildiz sifatida ishlayotganimiz sababli, hamma narsa ildizning asosiy papkasida joylashgan bo'ladi. Mos ravishda:
    • /root/qora ro'yxat - kompilyatsiya skripti bilan ishlaydigan papka
    • /root/zi - github-dan registr nusxasi
    • /etc/bird - qushlarga xizmat ko'rsatish sozlamalari uchun standart papka
  • Marshrutlash serveri va tunnelni tugatish nuqtasi bilan VPS ning tashqi IP manzili 194.165.22.146, ASN 64998; routerning tashqi IP manzili - 81.177.103.94, ASN 64999
  • Tunnel ichidagi IP manzillar mos ravishda 172.30.1.1 va 172.30.1.2.

Bloklashni chetlab o'tish uchun BGPni sozlash yoki "Qanday qilib men qo'rqishni to'xtatdim va RKNni sevib qoldim"

Albatta, siz boshqa har qanday marshrutizatorlardan, operatsion tizimlardan va dasturiy mahsulotlardan foydalanishingiz mumkin, yechimni ularning mantig'iga moslashtirasiz.

Qisqacha aytganda - yechimning mantig'i

  1. Tayyorgarlik harakatlari
    1. VPS olish
    2. Routerdan VPS ga tunnelni ko'tarish
  2. Biz registr nusxasini olamiz va muntazam yangilab turamiz
  3. Marshrutlash xizmatini o'rnatish va sozlash
  4. Ro'yxatga olish kitobi asosida marshrutlash xizmati uchun statik marshrutlar ro'yxatini yaratamiz
  5. Biz marshrutizatorni xizmatga ulaymiz va tunnel orqali barcha trafikni yuborishni sozlaymiz.

Haqiqiy yechim

Tayyorgarlik harakatlari

Internetda juda mos narxlarda VPS-ni taqdim etadigan ko'plab xizmatlar mavjud. Hozirgacha men yiliga 9 dollarlik variantni topdim va foydalanmoqdaman, lekin siz juda ko'p bezovta qilmasangiz ham, har bir burchakda 1E / oy uchun ko'plab variantlar mavjud. VPS ni tanlash masalasi ushbu maqola doirasidan tashqarida, shuning uchun kimdir bu haqda biror narsani tushunmasa, sharhlarda so'rang.

Agar siz VPS-dan nafaqat marshrutlash xizmati uchun, balki undagi tunnelni tugatish uchun ham foydalansangiz, siz ushbu tunnelni ko'tarishingiz va buning uchun NAT-ni sozlashingiz kerak. Internetda ushbu harakatlar bo'yicha juda ko'p ko'rsatmalar mavjud, men ularni bu erda takrorlamayman. Bunday tunnel uchun asosiy talab shundaki, u VPS tomon tunnelni qo'llab-quvvatlaydigan yo'riqnomangizda alohida interfeys yaratishi kerak. Ko'p ishlatiladigan VPN texnologiyalari ushbu talabga javob beradi - masalan, tun rejimida OpenVPN mukammaldir.

Ro'yxatga olish kitobining nusxasini olish

Jabroil aytganidek, "Bizga to'sqinlik qiladigan kishi bizga yordam beradi". RKN taqiqlangan resurslar reestrini yaratayotganligi sababli, bizning muammomizni hal qilish uchun ushbu reestrdan foydalanmaslik gunoh bo'ladi. Biz github-dan registr nusxasini olamiz.

Biz sizning Linux serveringizga o'tamiz, ildiz kontekstiga tushamiz (sudo su -) va agar u allaqachon o'rnatilmagan bo'lsa, gitni o'rnating.

apt install git

Uy katalogingizga o'ting va ro'yxatga olish kitobining nusxasini chiqarib oling.

cd ~ && git clone --depth=1 https://github.com/zapret-info/z-i 

Biz cron yangilanishini o'rnatdik (men buni har 20 daqiqada bir marta qilaman, lekin siz o'zingizni qiziqtirgan har qanday intervalni tanlashingiz mumkin). Buning uchun biz ishga tushiramiz crontab -e va unga quyidagi qatorni qo'shing:

*/20 * * * * cd ~/z-i && git pull && git gc

Ro'yxatga olish kitobini yangilagandan so'ng marshrutlash xizmati uchun fayllar yaratadigan kancani ulaymiz. Buning uchun fayl yarating /root/zi/.git/hooks/post-merge quyidagi tarkib bilan:

#!/usr/bin/env bash
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
check_run() {
    echo "$changed_files" | grep --quiet "$1" && eval "$2"
}
check_run dump.csv "/root/blacklist/makebgp"

va uni bajariladigan qilishni unutmang

chmod +x /root/z-i/.git/hooks/post-merge

Biz kanca nazarda tutilgan makebgp skriptini birozdan keyin yaratamiz.

Marshrutlash xizmatini o'rnatish va sozlash

Qushni o'rnating. Afsuski, hozirda Ubuntu omborlarida joylashtirilgan qush versiyasi yangiligi bo'yicha Arxeopteriks najaslari bilan taqqoslanadi, shuning uchun avval tizimga dasturiy ta'minot ishlab chiquvchilarning rasmiy PPA ni qo'shishimiz kerak.

add-apt-repository ppa:cz.nic-labs/bird
apt update
apt install bird

Shundan so'ng biz darhol IPv6 uchun qushni o'chirib qo'yamiz - bu o'rnatishda bizga kerak bo'lmaydi.

systemctl stop bird6
systemctl disable bird6

Quyida minimalist qush xizmati konfiguratsiya fayli (/etc/bird/bird.conf), bu biz uchun etarli (va yana bir bor eslatib o'tamanki, hech kim g'oyani o'z ehtiyojlaringizga mos ravishda ishlab chiqish va sozlashni taqiqlamaydi)

log syslog all;
router id 172.30.1.1;

protocol kernel {
        scan time 60;
        import none;
#       export all;   # Actually insert routes into the kernel routing table
}

protocol device {
        scan time 60;
}

protocol direct {
        interface "venet*", "tun*"; # Restrict network interfaces it works with
}

protocol static static_bgp {
        import all;
        include "pfxlist.txt";
        #include "iplist.txt";
}

protocol bgp OurRouter {
        description "Our Router";
        neighbor 81.177.103.94 as 64999;
        import none;
        export where proto = "static_bgp";
        local as 64998;
        passive off;
        multihop;
}

router identifikatori - yo'riqnoma identifikatori, u vizual ravishda IPv4 manziliga o'xshaydi, lekin bitta emas. Bizning holatda, bu IPv32 manzil formatidagi har qanday 4 bitli raqam bo'lishi mumkin, ammo qurilmangizning IPv4 manzilini aniq ko'rsatish yaxshi shakl (bu holda, VPS).

to'g'ridan-to'g'ri protokol marshrutlash jarayoni bilan qaysi interfeyslar ishlashini belgilaydi. Misol bir nechta misol nomlarini beradi, siz boshqalarni qo'shishingiz mumkin. Siz shunchaki chiziqni o'chirishingiz mumkin, bu holda server IPv4 manzili bilan barcha mavjud interfeyslarni tinglaydi.

Protocol static - bu bizning sehrimiz bo'lib, keyingi e'lon qilish uchun fayllardan prefikslar va IP-manzillar ro'yxatini (albatta, ular /32 prefikslar) yuklaydi. Ushbu ro'yxatlar qaerdan kelib chiqqanligi quyida muhokama qilinadi. Esda tutingki, IP manzillarini yuklash sukut bo'yicha izohlanadi, buning sababi yuklashning katta hajmidir. Taqqoslash uchun, yozish paytida, prefikslar ro'yxatida 78 qator va IP manzillar ro'yxatida 85898. Men faqat prefikslar ro'yxatidan boshlash va disk raskadrovka qilishni va IP yuklashni yoqish yoki yoqmaslikni tavsiya qilaman. Routeringiz bilan tajriba o'tkazganingizdan so'ng, kelajak sizga bog'liq. Ularning har biri marshrutlash jadvalidagi 85 ming yozuvni osongina hazm qila olmaydi.

bgp protokoli, aslida, routeringiz bilan bgp peeringni o'rnatadi. IP-manzil - yo'riqnoma tashqi interfeysining manzili (yoki yo'riqnoma tomonidagi tunnel interfeysining manzili), 64998 va 64999 - avtonom tizimlarning raqamlari. Bunday holda, ular har qanday 16 bitli raqamlar shaklida tayinlanishi mumkin, ammo RFC6996 - 64512-65534 tomonidan belgilangan shaxsiy diapazondagi AS raqamlaridan foydalanish yaxshi amaliyotdir (32 bitli ASN formati mavjud, lekin bizning holatlarimizda bu, albatta, ortiqcha). Ta'riflangan konfiguratsiya eBGP peeringidan foydalanadi, unda marshrutlash xizmati va yo'riqnoma avtonom tizimlarining raqamlari boshqacha bo'lishi kerak.

Ko'rib turganingizdek, xizmat marshrutizatorning IP-manzilini bilishi kerak, shuning uchun sizda dinamik yoki yo'naltirilmaydigan shaxsiy (RFC1918) yoki umumiy (RFC6598) manzilingiz bo'lsa, sizda tashqi tarmoqda peeringni oshirish imkoniyati yo'q. interfeysi, lekin xizmat tunnel ichida ishlaydi.

Bundan tashqari, bitta xizmatdan siz bir nechta turli marshrutizatorlarga marshrutlarni taqdim etishingiz mumkinligi aniq - bgp protokoli bo'limini nusxalash va qo'shnining IP manzilini o'zgartirish orqali ular uchun sozlamalarni takrorlang. Shuning uchun misolda tunneldan tashqariga qarash sozlamalari eng universal sifatida ko'rsatilgan. Sozlamalardagi IP manzillarni mos ravishda o'zgartirib, ularni tunnelga olib tashlash oson.

Marshrutlash xizmati uchun registrni qayta ishlash

Endi biz, aslida, oldingi bosqichda statik protokolda aytib o'tilgan prefikslar va IP-manzillar ro'yxatini yaratishimiz kerak. Buning uchun biz ro'yxatga olish kitobi faylini olamiz va undan kerakli fayllarni quyidagi skript yordamida qilamiz, /root/qora ro'yxat/makebgp

#!/bin/bash
cut -d";" -f1 /root/z-i/dump.csv| tr '|' 'n' |  tr -d ' ' > /root/blacklist/tmpaddr.txt
cat /root/blacklist/tmpaddr.txt | grep / | sed 's_.*_route & reject;_' > /etc/bird/pfxlist.txt
cat /root/blacklist/tmpaddr.txt | sort | uniq | grep -Eo "([0-9]{1,3}[.]){3}[0-9]{1,3}" | sed 's_.*_route &/32 reject;_' > /etc/bird/iplist.txt
/etc/init.d/bird reload
logger 'bgp list compiled'

Uni bajariladigan qilib qo'yishni unutmang

chmod +x /root/blacklist/makebgp

Endi siz uni qo'lda ishga tushirishingiz va /etc/bird-dagi fayllarning ko'rinishini kuzatishingiz mumkin.

Ehtimol, qush hozir siz uchun ishlamayapti, chunki oldingi bosqichda siz undan hali mavjud bo'lmagan fayllarni qidirishni so'ragansiz. Shuning uchun biz uni ishga tushiramiz va boshlanganligini tekshiramiz:

systemctl start bird
birdc show route

Ikkinchi buyruqning chiqishi taxminan 80 ta yozuvni ko'rsatishi kerak (bu hozircha, lekin siz uni o'rnatganingizda, hamma narsa RKNning tarmoqlarni blokirovka qilishdagi g'ayratiga bog'liq bo'ladi) shunga o'xshash narsa:

54.160.0.0/12      unreachable [static_bgp 2018-04-19] * (200)

komanda

birdc show protocol

xizmat ichidagi protokollar holatini ko'rsatadi. Routerni sozlamaguningizcha (keyingi nuqtaga qarang), OurRouter protokoli boshlang'ich holatida bo'ladi (Ulanish yoki Faol bosqich) va muvaffaqiyatli ulanishdan keyin u yuqori holatga o'tadi (O'rnatilgan bosqich). Masalan, mening tizimimda ushbu buyruqning chiqishi quyidagicha ko'rinadi:

BIRD 1.6.3 ready.
name     proto    table    state  since       info
kernel1  Kernel   master   up     2018-04-19
device1  Device   master   up     2018-04-19
static_bgp Static   master   up     2018-04-19
direct1  Direct   master   up     2018-04-19
RXXXXXx1 BGP      master   up     13:10:22    Established
RXXXXXx2 BGP      master   up     2018-04-24  Established
RXXXXXx3 BGP      master   start  2018-04-22  Connect       Socket: Connection timed out
RXXXXXx4 BGP      master   up     2018-04-24  Established
RXXXXXx5 BGP      master   start  2018-04-24  Passive

Routerni ulash

Har bir inson bu oyoq kiyimini o'qishdan charchagan bo'lsa kerak, lekin yuragingizni oling - oxirat yaqin. Bundan tashqari, ushbu bo'limda men bosqichma-bosqich ko'rsatmalar bera olmayman - bu har bir ishlab chiqaruvchi uchun boshqacha bo'ladi.

Biroq, men sizga bir nechta misollarni ko'rsatishim mumkin. Asosiy mantiq - BGP peeringini oshirish va tunnelimizga ishora qilib (agar biz p2p interfeysi orqali trafik jo'natishimiz kerak bo'lsa) yoki trafik chekilgan tarmoqqa o'tadigan bo'lsa, keyingi hop IP-manzilni ko'rsatib, barcha qabul qilingan prefikslarga nexthopni belgilashdir.

Masalan, RouterOS-dagi Mikrotik-da bu quyidagicha hal qilinadi

/routing bgp instance set default as=64999 ignore-as-path-len=yes router-id=172.30.1.2
/routing bgp peer add in-filter=dynamic-in multihop=yes name=VPS remote-address=194.165.22.146 remote-as=64998 ttl=default
/routing filter add action=accept chain=dynamic-in protocol=bgp comment="Set nexthop" set-in-nexthop=172.30.1.1

va Cisco IOS da - shunga o'xshash

router bgp 64999
  neighbor 194.165.22.146 remote-as 64998
  neighbor 194.165.22.146 route-map BGP_NEXT_HOP in
  neighbor 194.165.22.146 ebgp-multihop 250
!
route-map BGP_NEXT_HOP permit 10
  set ip next-hop 172.30.1.1

Agar bir xil tunnel BGP peering uchun ham, foydali trafikni uzatish uchun ham ishlatilsa, keyingi bosqichni o'rnatish shart emas, u protokol yordamida to'g'ri o'rnatiladi. Ammo agar siz uni qo'lda o'rnatsangiz, u ham yomonlashmaydi.

Boshqa platformalarda siz konfiguratsiyani o'zingiz aniqlashingiz kerak bo'ladi, lekin agar sizda biron bir qiyinchilik bo'lsa, sharhlarda yozing, men yordam berishga harakat qilaman.

После того, как у вас поднялась BGP-сессия, прилетели и установились в таблицу маршруты на крупные сети, трафик на адреса из них пошел и счастье близко, вы можете вернуться к сервису bird и попробовать раскомментировать там запись, подключающую список ip-адресов, выполнить Bundan keyin

systemctl reload bird

va marshrutizatoringiz ushbu 85 ming marshrutni qanday o'tkazganini ko'ring. O'chirishga tayyor bo'ling va u bilan nima qilishni o'ylab ko'ring :)

jami

Sof nazariy jihatdan, yuqorida tavsiflangan amallarni bajarganingizdan so'ng, endi siz filtrlash tizimidan o'tgan Rossiya Federatsiyasida taqiqlangan IP manzillariga trafikni avtomatik ravishda yo'naltiradigan xizmatga egasiz.

Albatta, uni yaxshilash mumkin. Masalan, Perl yoki python yechimlari yordamida IP-manzillar ro'yxatini umumlashtirish juda oson. Buni Net::CIDR::Lite yordamida amalga oshiradigan oddiy Perl skripti 85 ming prefiksni 60 (mingta emas) ga aylantiradi, lekin, albatta, bloklangandan ko'ra ko'proq manzillar diapazonini qamrab oladi.

Xizmat ISO/OSI modelining uchinchi darajasida ishlaganligi sababli, agar u ro'yxatga olish kitobida qayd etilgan noto'g'ri manzilni hal qilsa, sizni sayt/sahifani bloklashdan qutqarmaydi. Ammo ro'yxatga olish kitobi bilan bir qatorda nxdomain.txt fayli github'dan keladi, bu skriptning bir nechta zarbalari bilan osongina, masalan, Chrome'dagi SwitchyOmega plaginining manzillar manbasiga aylanadi.

Shuni ham ta'kidlash kerakki, agar siz nafaqat Internet foydalanuvchisi bo'lsangiz, balki ba'zi manbalarni o'zingiz nashr etsangiz (masalan, veb-sayt yoki pochta serveri ushbu ulanishda ishlaydi) yechim qo'shimcha takomillashtirishni talab qiladi. Router vositalaridan foydalangan holda, ushbu xizmatdan chiquvchi trafikni umumiy manzilingizga qat'iy ravishda bog'lashingiz kerak, aks holda siz yo'riqnoma tomonidan qabul qilingan prefikslar ro'yxati bilan qamrab olingan resurslar bilan ulanishni yo'qotasiz.

Agar sizda biron bir savol bo'lsa, so'rang, men javob berishga tayyorman.

UPD. rahmat navigatsiya и TerAnYu yuklash hajmini kamaytirishga imkon beruvchi git parametrlari uchun.

UPD2. Hamkasblar, maqolaga VPS va yo'riqnoma o'rtasida tunnel o'rnatish bo'yicha ko'rsatmalarni qo'shmasdan xatoga yo'l qo'yganga o'xshaydi. Bu bilan ko'plab savollar tug'iladi.
Har holda, yana bir bor eslatib o'tamanki, ushbu qo'llanmani boshlashdan oldin siz VPN tunnelini kerakli yo'nalishda sozlagansiz va uning funksionalligini tekshirgansiz (masalan, trafikni sukut bo'yicha yoki statik ravishda u erga aylantirish orqali). Agar siz ushbu bosqichni hali tugatmagan bo'lsangiz, maqoladagi amallarni bajarish juda mantiqiy emas. Menda bu borada hali o‘z matnim yo‘q, lekin agar siz google-da VPS-da o‘rnatilgan operatsion tizim nomi bilan “OpenVPN serverini sozlash” va routeringiz nomi bilan “OpenVPN mijozini sozlash” deb yozsangiz. , siz ushbu mavzu bo'yicha bir qator maqolalarni topishingiz mumkin, shu jumladan Habré.

UPD3. Qurbonsiz Men dump.csv ni IP manzillarining ixtiyoriy xulosasi bilan bird uchun natijaviy faylga aylantiradigan kod yozdim. Shuning uchun, "Marshrutlash xizmati uchun registrni qayta ishlash" bo'limini uning dasturiga qo'ng'iroq qilish orqali almashtirish mumkin. https://habr.com/post/354282/#comment_10782712

UPD4. Xatolar ustida bir oz ish (men ularni matnga qo'shmadim):
1) o'rniga systemctl qayta yuklash qushi buyrug'idan foydalanish mantiqiy birdc konfiguratsiyasi.
2) Mikrotik yo'riqnomasida tunnelning ikkinchi tomonidagi IP-ni keyingi bosqichga o'zgartirish o'rniga /marshrutlash filtri qo'shish harakati=qabul qilish zanjiri=dinamik-in protokoli=bgp comment=»Nexthop-ni o'rnatish» set-in-nexthop=172.30.1.1 manzilsiz, to'g'ridan-to'g'ri tunnel interfeysiga marshrutni belgilash mantiqan /marshrutlash filtri qo'shish harakati=qabul qilish zanjiri=dinamik-in protokoli=bgp comment=»Nexthop-ni sozlash» set-in-nexthop-direct=<interfeys nomi>

UPD5. Yangi xizmat paydo bo'ldi https://antifilter.download, u erdan siz IP manzillarining tayyor ro'yxatini olishingiz mumkin. Har yarim soatda yangilanadi. Mijoz tomonida faqat tegishli "marshrut ... rad etish" bilan yozuvlarni ramkaga solish qoladi.
Va bu vaqtda, ehtimol, buvingizni latta qilib, maqolani yangilash kifoya.

UPD6. Buni tushunishni istamagan, lekin boshlashni xohlaydiganlar uchun maqolaning qayta ko'rib chiqilgan versiyasi - shu yerda.

Manba: www.habr.com

a Izoh qo'shish