እገዳን ለማለፍ BGPን ማዋቀር ወይም "ፍርሃትን እንዴት እንዳቆምኩ እና ከ RKN ጋር ወደድኩ"

ደህና፣ እሺ፣ ስለ "ፍቅር" ማጋነን ነው። ይልቁንም "ከጋራ መኖር"

ሁላችሁም እንደምታውቁት፣ ከኤፕሪል 16 ቀን 2018 ጀምሮ Roskomnadzor በኔትወርኩ ላይ የሀብቶችን መዳረሻ እጅግ በጣም ሰፊ በሆነ ስትሮክ እየከለከለ፣ ወደ የተዋሃደ የጎራ ስሞች መዝገብ ቤት፣ በበይነመረቡ ላይ ያሉ ገፆች ላይ ጠቋሚዎችን እና የአውታረ መረብ አድራሻዎችን እንዲያደርጉ የሚፈቅዱ ናቸው። በይነመረብ ላይ ጣቢያዎችን መለየት, መረጃን የያዘ, በሩሲያ ፌዴሬሽን ውስጥ ማሰራጨት የተከለከለ ነው" (በጽሑፉ ውስጥ - መመዝገቢያ ብቻ) /10 አንዳንድ ጊዜ. በውጤቱም, የሩስያ ፌደሬሽን እና የንግድ ድርጅቶች ዜጎች የሚያስፈልጋቸውን ፍጹም ህጋዊ ሀብቶችን በማጣት ይሰቃያሉ.

በሐበሬ ላይ ከቀረቡት መጣጥፎች በአንዱ ላይ በሰጡት አስተያየት ተጎጂዎችን የመተላለፊያ ዘዴ በማዘጋጀት ለመርዳት ዝግጁ መሆኔን ከተናገርኩ በኋላ፣ ብዙ ሰዎች እንዲህ ዓይነት እርዳታ ጠየቁኝ። ሁሉም ነገር ለእነሱ ሲሰራ, ከመካከላቸው አንዱ ቴክኒኩን በአንድ ጽሑፍ ውስጥ እንዲገልጽ ሐሳብ አቀረበ. በማሰላሰል ላይ ፣ ዝምታዬን በጣቢያው ላይ ለማፍረስ ወሰንኩ እና በአንድ ፕሮጀክት እና በፌስቡክ ላይ ባለው ልጥፍ መካከል መካከለኛ የሆነ ነገር ለመፃፍ ለአንድ ጊዜ ሞከርኩ ፣ ማለትም ። ሃብራፖስት. ውጤቱ ከፊት ለፊትህ ነው.

ማስተባበያ

በሩሲያ ፌደሬሽን ግዛት ውስጥ የተከለከሉትን መረጃዎችን የማግኘት እገዳን ለማለፍ መንገዶችን ማተም በጣም ህጋዊ ስላልሆነ ፣ የዚህ ጽሑፍ ዓላማ በግዛቱ ላይ የተፈቀደላቸውን ሀብቶች በራስ-ሰር እንዲያገኙ የሚያስችልዎትን ዘዴ ማውራት ይሆናል ። የሩስያ ፌደሬሽን, ነገር ግን በአንድ ሰው ድርጊት ምክንያት በቀጥታ በአቅራቢዎ ሊደረስ በማይችል. እና ሌሎች ሀብቶችን ማግኘት, ከጽሁፉ ውስጥ በተደረጉ ድርጊቶች ምክንያት የተገኘ, አሳዛኝ የጎንዮሽ ጉዳት እና በምንም መልኩ የጽሁፉ አላማ አይደለም.

በተጨማሪም እኔ በዋናነት በሙያዬ የኔትወርክ አርክቴክት ስለሆንኩ፣ በሙያ እና በህይወት ጎዳና፣ ፕሮግራሚንግ እና ሊኑክስ የእኔ ጥንካሬዎች አይደሉም። ስለዚህ, በእርግጥ, ስክሪፕቶች በተሻለ ሁኔታ ሊጻፉ ይችላሉ, በ VPS ውስጥ ያሉ የደህንነት ጉዳዮች በጥልቀት ሊሰሩ ይችላሉ, ወዘተ. ጥቆማዎችዎ በአመስጋኝነት ይቀበላሉ, በበቂ ሁኔታ በዝርዝር ከተቀመጡ - ወደ ጽሁፉ ጽሑፍ ውስጥ ለመጨመር ደስተኛ ነኝ.

TL; DR

የመመዝገቢያውን ቅጂ እና የBGP ፕሮቶኮልን በመጠቀም አሁን ባለው መሿለኪያ በኩል የመገልገያዎችን በራስ ሰር እናደርሳለን። ግቡ የታገዱ ንብረቶችን በሙሉ ወደ ዋሻው ውስጥ ማስወገድ ነው። አነስተኛ ማብራሪያ፣ በአብዛኛው ደረጃ በደረጃ መመሪያዎች።

ለዚህ ምን ያስፈልግዎታል

እንደ አለመታደል ሆኖ ይህ ልጥፍ ለሁሉም ሰው የሚሆን አይደለም። ይህንን ዘዴ ለመጠቀም ጥቂት ንጥረ ነገሮችን ማሰባሰብ ያስፈልግዎታል-

  1. ከማገጃው መስክ ውጭ የሆነ ቦታ ሊኑክስ አገልጋይ ሊኖርዎት ይገባል. ወይም ቢያንስ እንዲህ ዓይነቱን አገልጋይ የመጀመር ፍላጎት - አሁን ዋጋው ከ 9 ዶላር / በዓመት እና ምናልባትም ያነሰ ስለሆነ። የተለየ የቪፒኤን ዋሻ ካለዎት ዘዴው ተስማሚ ነው ፣ ከዚያ አገልጋዩ በብሎክ መስክ ውስጥ ሊገኝ ይችላል።
  2. መቻል እንዲችል የእርስዎ ራውተር ብልህ መሆን አለበት።
    • የሚወዱት ማንኛውም የቪፒኤን ደንበኛ (OpenVPNን እመርጣለሁ፣ነገር ግን PPTP፣ L2TP፣ GRE+IPSec እና ማንኛውም ሌላ የዋሻ በይነገጽ የሚፈጥር አማራጭ ሊሆን ይችላል)።
    • BGPv4 ፕሮቶኮል ይህም ማለት ለ SOHO ሚክሮቲክ ወይም ማንኛውም ራውተር ከOpenWRT/LED/ ተመሳሳይ ብጁ ፈርምዌር ጋር ሲሆን ይህም Quagga ወይም Bird እንዲጭኑ ያስችልዎታል። የፒሲ ራውተር መጠቀምም የተከለከለ አይደለም. ለድርጅት፣ ለBGP ድጋፍ የድንበር ራውተርዎ ሰነድ ይመልከቱ።
  3. ቢጂፒን ጨምሮ ከሊኑክስ አጠቃቀም እና ከኔትወርክ ቴክኖሎጂዎች ጋር በደንብ ማወቅ አለቦት። ወይም ቢያንስ ያንን ሀሳብ ማግኘት ይፈልጋሉ. በዚህ ጊዜ ግዙፍነትን ለመቀበል ዝግጁ ስላልሆንኩ በራስዎ የማይረዱዎትን አንዳንድ ነጥቦችን ማጥናት አለብዎት። ነገር ግን፣ በእርግጥ፣ በአስተያየቶቹ ውስጥ የተወሰኑ ጥያቄዎችን እመልሳለሁ እና እኔ ብቻ የምመልስ ዕድለኛ አይደለሁም፣ ስለዚህ ለመጠየቅ ነፃነት ይሰማዎ።

በምሳሌው ውስጥ ምን ጥቅም ላይ ይውላል

  • የመመዝገቢያ ቅጂ https://github.com/zapret-info/z-i 
  • ቪፒኤስ - ኡቡንቱ 16.04
  • የማዞሪያ አገልግሎት - ወፍ 1.6.3   
  • ራውተር - ሚክሮቲክ hAP ac
  • የሚሰሩ አቃፊዎች - እንደ ሾር እየሠራን ስለሆነ አብዛኛው ነገር በ root መነሻ አቃፊ ውስጥ ይቀመጣል። በቅደም ተከተል፡-
    • / root/blacklist - የሚሰራ አቃፊ ከቅንብር ስክሪፕት ጋር
    • / root/zi - ከ github የመመዝገቢያ ቅጂ
    • / ወዘተ/ ወፍ - መደበኛ የወፍ አገልግሎት ቅንጅቶች አቃፊ
  • 194.165.22.146, ASN 64998 እንደ የ VPS ውጫዊ አይፒ አድራሻ ከራውቲንግ አገልጋይ እና ከዋሻው ማብቂያ ነጥብ ጋር እንቀበላለን; የራውተሩ ውጫዊ አይፒ አድራሻ - 81.177.103.94፣ ASN 64999
  • በዋሻው ውስጥ ያሉት የአይፒ አድራሻዎች በቅደም ተከተል 172.30.1.1 እና 172.30.1.2 ናቸው።

እገዳን ለማለፍ BGPን ማዋቀር ወይም "ፍርሃትን እንዴት እንዳቆምኩ እና ከ RKN ጋር ወደድኩ"

እርግጥ ነው, ማንኛውንም ሌሎች ራውተሮች, ኦፕሬቲንግ ሲስተሞች እና የሶፍትዌር ምርቶችን መጠቀም ይችላሉ, መፍትሄውን ከአመክንዮቻቸው ጋር በማስተካከል.

በአጭሩ - የውሳኔው አመክንዮ

  1. የዝግጅት ተግባራት
    1. VPS በማግኘት ላይ
    2. ዋሻውን ከራውተር ወደ ቪፒኤስ እናነሳዋለን
  2. የመመዝገቢያውን ቅጂ በየጊዜው ማግኘት እና ማዘመን
  3. የማዞሪያ አገልግሎትን መጫን እና ማዋቀር
  4. በመመዝገቢያ መዝገብ ላይ በመመስረት ለራውቲንግ አገልግሎት የማይለዋወጡ መንገዶችን ዝርዝር ይፍጠሩ
  5. ራውተርን ከአገልግሎቱ ጋር እናገናኘዋለን እና ሁሉንም ትራፊክ በዋሻው ውስጥ ለመላክ እናዘጋጃለን።

ትክክለኛው ውሳኔ

የዝግጅት ተግባራት

በኔትወርኩ ሰፊነት ውስጥ VPS እጅግ በጣም ምክንያታዊ በሆነ ገንዘብ የሚያቀርቡ ብዙ አገልግሎቶች አሉ። እስካሁን ድረስ ለ $ 9 / በዓመት አማራጩን አግኝቼ ተጠቀምኩኝ, ነገር ግን ምንም እንኳን በትክክል ካልተጨነቁ, በእያንዳንዱ ጥግ ላይ ለ 1E / ወር ብዙ አማራጮች አሉ. VPS የመምረጥ ጥያቄ ከዚህ ጽሑፍ ወሰን በላይ ነው, ስለዚህ በዚህ ጉዳይ ላይ የሆነ ነገር ለአንድ ሰው ግልጽ ካልሆነ በአስተያየቶቹ ውስጥ ይጠይቁ.

ቪፒኤስን ለመዘዋወር አገልግሎት ብቻ ሳይሆን በላዩ ላይ ያለውን መሿለኪያ ለማቋረጥም ከተጠቀሙበት ይህን ዋሻ ከፍ ማድረግ እና በማያሻማ መልኩ NATን ለእሱ ማዋቀር ያስፈልግዎታል። ለእነዚህ ድርጊቶች በአውታረ መረቡ ላይ ብዙ ቁጥር ያላቸው መመሪያዎች አሉ, እዚህ አልደግማቸውም. ለእንደዚህ አይነት ዋሻ ዋናው መስፈርት በራውተርዎ ላይ ቦይውን ወደ VPS የሚደግፍ የተለየ በይነገጽ መፍጠር አለበት. በብዛት ጥቅም ላይ የዋሉ የቪፒኤን ቴክኖሎጂዎች ይህንን መስፈርት ያሟላሉ - ለምሳሌ OpenVPN በ tun ሞድ ጥሩ ነው።

የመመዝገቢያውን ቅጂ ያግኙ

ጀብራይል እንዳለው "የከለከለን ይረዳናል"። አርኬኤን የተከለከሉ ሀብቶች መዝገብ እየፈጠረ ስለሆነ ችግራችንን ለመፍታት ይህንን መዝገብ አለመጠቀም ኃጢአት ነው። የመመዝገቢያውን ቅጂ ከgithub እንቀበላለን።

ወደ ሊኑክስ አገልጋይዎ እንሄዳለን ፣ ወደ root'a አውድ ውስጥ እንገባለን (ሱዶ ሱ -) እና ገና ካልተጫነ git ን ይጫኑ።

apt install git

ወደ ቤትዎ ማውጫ ይሂዱ እና የመመዝገቢያውን ቅጂ ያውጡ።

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

የክሮን ዝመናን ያዋቅሩ (በየ 20 ደቂቃው አለኝ ነገር ግን እርስዎን የሚስብ ማንኛውንም ልዩነት መምረጥ ይችላሉ)። ይህንን ለማድረግ, እንሮጣለን crontab-e እና የሚከተለውን መስመር በእሱ ላይ ያክሉ።

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

መዝገቡን ካዘመንን በኋላ ለማዞሪያ አገልግሎት ፋይሎችን የሚፈጥር መንጠቆን እናገናኘዋለን። ለዚህ ፋይል እንፈጥራለን /root/zi/.git/hooks/post-merge ከሚከተለው ይዘት ጋር፡-

#!/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"

እና እንዲተገበር ማድረግን አይርሱ

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

በመንጠቆው የተጠቀሰው makebgp ስክሪፕት በኋላ ይፈጠራል።

የማዞሪያ አገልግሎትን መጫን እና ማዋቀር

ወፍ ጫን. እንደ አለመታደል ሆኖ በአሁኑ ጊዜ በኡቡንቱ ማከማቻዎች ውስጥ የታተመው የወፍ ስሪት ትኩስነት ከአርኪዮፕተሪክስ ሰገራ ጋር ሊወዳደር ስለሚችል በመጀመሪያ የሶፍትዌር ገንቢዎችን ኦፊሴላዊ ፒፒኤ ወደ ስርዓቱ ማከል አለብን።

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

ከዚያ በኋላ ወዲያውኑ ወፍ ለ IPv6 እናሰናክላለን - በዚህ ጭነት ውስጥ እኛ አያስፈልገንም ።

systemctl stop bird6
systemctl disable bird6

ከዚህ በታች ለወፍ አገልግሎት አነስተኛ የውቅር ፋይል ነው (/ወዘተ/bird/bird.conf, ይህም ለእኛ በቂ ነው (እና አሁንም ማንም ሰው የእርስዎን ፍላጎት ለማሟላት ሀሳቡን ማዳበር እና ማስተካከል እንደማይከለክል አስታውስ)

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;
}

ራውተር መታወቂያ - ራውተር መለያ ፣ በምስላዊ መልኩ እንደ IPv4 አድራሻ ይመስላል ፣ ግን አይደለም። በእኛ ሁኔታ ፣ በ IPv32 አድራሻ ቅርጸት ማንኛውም ባለ 4-ቢት ቁጥር ሊሆን ይችላል ፣ ግን የመሳሪያዎን IPv4 አድራሻ (በዚህ ሁኔታ ፣ VPS) እዚያ መግለጽ ጥሩ ነው ።

ፕሮቶኮል ቀጥታ የትኛዎቹ በይነገጾች ከማዞሪያው ሂደት ጋር እንደሚሰሩ ይወስናል። ምሳሌው ሁለት የስም ምሳሌዎችን ይሰጣል, ተጨማሪ ማከል ይችላሉ. እንዲሁም በቀላሉ መስመሩን መሰረዝ ይችላሉ, በዚህ ጊዜ አገልጋዩ በ IPv4 አድራሻ በሁሉም የሚገኙ በይነገጾች ላይ ያዳምጣል.

ፕሮቶኮል ስታቲክ የኛ አስማት ነው ለበኋላ ማስታወቂያ ከፋይሎች ቅድመ ቅጥያዎችን እና የአይ ፒ አድራሻዎችን (እርግጥ ነው፣/32 ቅድመ ቅጥያ ናቸው)። እነዚህ ዝርዝሮች ከየት እንደመጡ ከዚህ በታች ይብራራሉ. እባክዎን የአይ ፒ አድራሻዎችን መጫን በነባሪነት አስተያየት ተሰጥቶበታል, ለዚህ ምክንያቱ ከፍተኛ መጠን ያለው ጭነት ነው. ለማነፃፀር ፣ ጽሑፉን በሚጽፉበት ጊዜ ፣ ​​በቅጥያዎች ዝርዝር ውስጥ 78 መስመሮች ፣ እና በአይፒ አድራሻዎች ዝርዝር ውስጥ 85898 አሉ ። በቅድመ-ቅጥያዎች ዝርዝር ላይ ብቻ እንዲጀምሩ እና እንዲያርሙ እና አለመሆኑን እንዲወስኑ አጥብቄ እመክራለሁ። ከእርስዎ ራውተር ጋር ከተሞከሩ በኋላ ለወደፊቱ የአይፒ መጫንን ለማንቃት. እያንዳንዳቸው 85 ሺህ ምዝግቦችን በማዞሪያው ሰንጠረዥ ውስጥ በቀላሉ ማዋሃድ አይችሉም.

ፕሮቶኮል bgp በእርግጥ ከእርስዎ ራውተር ጋር bgp peeringን ያዘጋጃል። ip-አድራሻ የራውተር ውጫዊ በይነገጽ አድራሻ ነው (ወይም ከራውተሩ ጎን ያለው የዋሻው በይነገጽ አድራሻ) ፣ 64998 እና 64999 የራስ ገዝ ስርዓቶች ቁጥሮች ናቸው። በዚህ ሁኔታ በማንኛውም ባለ 16-ቢት ቁጥሮች መልክ ሊመደቡ ይችላሉ, ነገር ግን በ RFC6996 - 64512-65534 አካታች (የ 32-ቢት ASN ቅርጸት አለ, ነገር ግን በ RFCXNUMX - XNUMX-XNUMX ከተገለጸው የግል ክልል ውስጥ AS ቁጥሮችን መጠቀም ጥሩ ነው). በእኛ ሁኔታ ይህ በእርግጠኝነት ከመጠን በላይ ነው). የተገለጸው ውቅር eBGP peeringን ይጠቀማል፣ በዚህ ውስጥ የራስ ገዝ የሥርዓት ቁጥሮች የማዞሪያ አገልግሎት እና ራውተር የተለያዩ መሆን አለባቸው።

እንደሚመለከቱት አገልግሎቱ የራውተሩን አይፒ አድራሻ ማወቅ አለበት ፣ስለዚህ ተለዋዋጭ ወይም የማይንቀሳቀስ የግል (RFC1918) ወይም የተጋራ (RFC6598) አድራሻ ካለዎት በውጫዊ በይነገጽ ላይ አቻን ከፍ ለማድረግ ምንም አማራጭ የለዎትም። ግን አገልግሎቱ አሁንም በዋሻው ውስጥ ይሰራል።

እንዲሁም ብዙ የተለያዩ ራውተሮችን ከአንድ አገልግሎት መስመሮች ጋር ማቅረብ መቻልዎ በጣም ግልፅ ነው - የጎረቤትን አይፒ አድራሻ በመቀየር የፕሮቶኮሉን bgp ክፍል በመገልበጥ ለእነሱ ቅንጅቶችን ብቻ ያባዙ። ለዚያም ነው ምሳሌው ከዋሻው ውጭ የማየት ቅንብሮችን በጣም ሁለንተናዊ እንደሆነ ያሳያል። በዚህ መሠረት በቅንብሮች ውስጥ የአይፒ አድራሻዎችን በመቀየር እነሱን ወደ ዋሻው ውስጥ ማስወጣት አስቸጋሪ አይደለም.

ለመዘዋወር አገልግሎት የመመዝገቢያ ሂደት

አሁን በቀድሞው ደረጃ በፕሮቶኮል ስታትስቲክስ ውስጥ የተጠቀሱትን የቅድመ ቅጥያ እና የአይፒ አድራሻዎች ዝርዝሮችን ለመፍጠር በእውነቱ ያስፈልገናል። ይህንን ለማድረግ የመመዝገቢያ ፋይሉን ወስደን የምንፈልጋቸውን ፋይሎች በሚከተለው ስክሪፕት እንሰራለን ። /ስር/ጥቁር መዝገብ/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'

እንዲተገበር ማድረግን አይርሱ

chmod +x /root/blacklist/makebgp

አሁን እራስዎ ማስኬድ እና የፋይሎችን ገጽታ በ /etc/bird ውስጥ መመልከት ይችላሉ።

ምናልባትም ፣ በዚህ ጊዜ ወፍ ለእርስዎ አይሰራም ፣ ምክንያቱም ባለፈው ደረጃ ላይ እስካሁን ያልነበሩ ፋይሎችን እንዲፈልግ ጠቁመዋል። ስለዚህ፣ አስጀምረነዋል እና መጀመሩን እንቆጣጠራለን።

systemctl start bird
birdc show route

የሁለተኛው ትዕዛዝ ውፅዓት ወደ 80 የሚጠጉ ግቤቶችን ማሳየት አለበት (ይህ በአሁኑ ጊዜ ነው ፣ እና ሲያዋቅሩት ፣ ሁሉም ነገር አውታረ መረቦችን በማገድ ላይ ባለው የ ILV ቅንዓት ላይ የተመሠረተ ነው) ።

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

ቡድን

birdc show protocol

በአገልግሎቱ ውስጥ ያሉትን ፕሮቶኮሎች ሁኔታ ያሳያል. ራውተሩን እስኪያዋቅሩት ድረስ (የሚቀጥለውን አንቀጽ ይመልከቱ) የ OurRouter ፕሮቶኮል በመነሻ ሁኔታ (Connect or Active Phases) ውስጥ ይሆናል እና ከተሳካ ግንኙነት በኋላ ወደ ላይ (የተቋቋመ ደረጃ) ውስጥ ይገባል ። ለምሳሌ፣ በእኔ ስርዓት፣ የዚህ ትዕዛዝ ውፅዓት ይህን ይመስላል።

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

ራውተር በማገናኘት ላይ

ሁሉም ሰው ይህንን የእግር ልብስ ለማንበብ ሰልችቶታል ፣ ግን ልብ ይበሉ - መጨረሻው ቅርብ ነው። ከዚህም በላይ በዚህ ክፍል ውስጥ ደረጃ በደረጃ መመሪያዎችን መስጠት አልችልም - ለእያንዳንዱ አምራች የተለየ ይሆናል.

ሆኖም፣ ሁለት ምሳሌዎችን ላሳይህ እችላለሁ። ዋናው አመክንዮ BGP peeringን ከፍ ማድረግ እና nexthopን ከሁሉም የተቀበሏቸው ቅድመ ቅጥያዎች ጋር በማያያዝ ወደ ዋሻችን (ትራፊክን በp2p በይነገጽ ማውጣት ከፈለጉ) ወይም ትራፊክ ወደ ኢተርኔት ከሄደ nexthop ip-address) ነው።

ለምሳሌ, በ RouterOS ውስጥ Mikrotik ላይ, ይህ እንደሚከተለው ተፈትቷል

/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

እና በ Cisco IOS - እንደዚህ

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

ተመሳሳዩ ዋሻ ለቢጂፒ አቻ እና ጠቃሚ ትራፊክን ለማስተላለፍ ጥቅም ላይ የሚውል ከሆነ nexthop ማዘጋጀት አስፈላጊ አይሆንም በፕሮቶኮሉ በትክክል ይዘጋጃል። ነገር ግን በእጅ ካዘጋጁት, ምንም የከፋ አይሆንም.

በሌሎች የመሣሪያ ስርዓቶች ላይ, ውቅሩን እራስዎ ማወቅ አለብዎት, ነገር ግን ማንኛውም ችግሮች ካጋጠሙዎት, በአስተያየቶቹ ውስጥ ይፃፉ, ለማገዝ እሞክራለሁ.

የ BGP ክፍለ ጊዜዎ ከተነሳ በኋላ ወደ ትላልቅ ኔትወርኮች የሚወስዱ መንገዶች ደርሰዋል እና በጠረጴዛው ውስጥ ተጭነዋል, ወደ አድራሻዎቹ የሚወስዱት ትራፊክ ሄዷል እና ደስታ ቀርቧል, ወደ ወፍ አገልግሎት መመለስ እና እዚያ ያለውን ግንኙነት የሚያገናኘውን ግቤት ለመቃወም መሞከር ይችላሉ. የአይፒ አድራሻዎች ዝርዝር ፣ ከዚያ በኋላ ያሂዱ

systemctl reload bird

እና የእርስዎ ራውተር እነዚህን 85 ሺህ መንገዶች እንዴት እንዳስተላለፈ ይመልከቱ። ለማጥፋት ተዘጋጅ እና ምን ማድረግ እንዳለብህ አስብ 🙂

ԸՆԴՀԱՆՈՒՐ ԳԻՆ

በንድፈ ሀሳብ, ከላይ የተጠቀሱትን እርምጃዎች ከፈጸሙ በኋላ, ከማጣሪያ ስርዓቱ ያለፈ በሩሲያ ፌዴሬሽን ውስጥ ወደ ታገዱ የአይፒ አድራሻዎች ትራፊክን በራስ-ሰር የሚቀይር አገልግሎት አለዎት.

በእርግጥ ሊሻሻል ይችላል። ለምሳሌ፣ የአይ ፒ አድራሻዎችን ዝርዝር በፐርል ወይም python መፍትሄዎች ማጠቃለል ቀላል ነው። ቀላል የፐርል ስክሪፕት በ Net::CIDR::Lite 85ሺህ ቅድመ ቅጥያዎችን ወደ 60 (ሺህ አይደለም) ይቀይራል ነገር ግን በተፈጥሮ ከታገደው የበለጠ ትልቅ የአድራሻ ክልል ይሸፍናል።

አገልግሎቱ በ ISO / OSI ሞዴል ሶስተኛ ደረጃ ላይ ስለሚሰራ, በመዝገቡ ውስጥ ወደተመዘገበው አድራሻ ካልፈታ ከጣቢያ / ገጽ እገዳ አያድነዎትም. ነገር ግን ከ github መዝገብ ጋር፣ nxdomain.txt ፋይል ይመጣል፣ ይህም ከጥቂት የስክሪፕት ግርጌዎች ጋር በቀላሉ ወደ አድራሻ ምንጭነት ይቀየራል፣ ለምሳሌ በChrome ውስጥ የ SwitchyOmega ፕለጊን።

እንዲሁም የኢንተርኔት ተጠቃሚ ካልሆንክ፣ ነገር ግን ከራስህ አንዳንድ ሃብቶችን አትም (ለምሳሌ ድህረ ገጽ ወይም የፖስታ ሰርቨር በዚህ ግንኙነት ላይ ይሰራል) ከሆነ መፍትሄው ተጨማሪ ሹልነት እንደሚያስፈልገው መታወቅ አለበት። በራውተሩ አማካኝነት ከዚህ አገልግሎት ወደ የህዝብ አድራሻዎ የሚወጣውን ትራፊክ ማሰር ያስፈልግዎታል ፣ አለበለዚያ በራውተር በተቀበሉት ቅድመ-ቅጥያዎች ዝርዝር ውስጥ ከተካተቱት ሀብቶች ጋር ያለውን ግንኙነት ያጣሉ ።

ማንኛውም ጥያቄ ካለዎት - ይጠይቁ, ለመመለስ ዝግጁ.

UPD አመሰግናለሁ የባህር ኃይል и ተርአንዩ የማውረድ መጠኖችን ለመቀነስ ለ git አማራጮች።

UPD2. ባልደረቦች፣ በቪፒኤስ እና በራውተር መካከል መሿለኪያ ለማቀናበር መመሪያዎችን ወደ መጣጥፉ ላይ ሳልጨምር የተሳሳትኩ ይመስላል። ብዙ ጥያቄዎች የተፈጠሩት በዚህ ነው።
እንደዚያ ከሆነ ፣ እንደገና አስተውያለሁ - በዚህ መመሪያ ውስጥ ያሉትን እርምጃዎች ከመጀመርዎ በፊት የቪፒኤን መሿለኪያን በሚፈልጉበት አቅጣጫ እንዳዋቀሩ እና አፈፃፀሙን እንዳረጋገጡ ይገመታል (ለምሳሌ ፣ እዚያ ትራፊክ በነባሪ ወይም በማይንቀሳቀስ) መጠቅለል። ይህንን ደረጃ ገና ካላጠናቀቁት ከጽሁፉ ውስጥ ያሉትን ደረጃዎች መከተል በእውነቱ ትርጉም አይሰጥም። በዚህ ላይ እስካሁን የራሴ ጽሑፍ የለኝም፣ ነገር ግን በቪፒኤስ ላይ ከተጫነው የስርዓተ ክወናው ስም እና “OpenVPN ደንበኛ ማዋቀር” ጋር በራውተርዎ ስም “OpenVPN አገልጋይ ማዋቀር”ን ጎግል ካደረጉ ምናልባት እርስዎ ነዎት። በዚህ ጉዳይ ላይ በርካታ መጣጥፎችን ያገኛሉ፣ ሀበሬን ጨምሮ።

UPD3. ያልተሠዋ የተገኘውን የወፍ ፋይል ከ dump.csv ከአማራጭ የአይፒ አድራሻዎች ማጠቃለያ ጋር የሚያደርግ ኮድ ፃፈ። ስለዚህ "የመመዝገቢያ አገልግሎትን ለመምራት አገልግሎት" ክፍሉን ወደ ፕሮግራሙ በመደወል ሊተካ ይችላል. https://habr.com/post/354282/#comment_10782712

UPD4. በስህተቶቹ ላይ ትንሽ ስራ (በጽሑፉ ውስጥ አስተዋፅዖ አላደረገም)
1) በምትኩ systemctl እንደገና መጫን ወፍ ትዕዛዙን መጠቀም ምክንያታዊ ነው birdc ውቅር.
2) በሚክሮቲክ ራውተር ውስጥ ፣ ቀጣዩን ሆፕ ወደ ዋሻው ሁለተኛ ወገን አይፒ ከመቀየር ይልቅ። /መሄጃ ማጣሪያ አክሽን አክሽን=ተቀበል ሰንሰለት=ተለዋዋጭ-በ ፕሮቶኮል=bgp አስተያየት=«ቀጣይ አዘጋጅ» set-in-nexthop=172.30.1.1 አድራሻው ሳይኖር በቀጥታ ወደ ዋሻው በይነገጽ መንገዱን መግለጹ ምክንያታዊ ነው። /routing filter add action=accept chain=dynamic-in protocol=bgp comment="ቀጣይ ሆፕ አዘጋጅ" set-in-nexthop-direct=<በይነገጽ ስም>

UPD5. አዲስ አገልግሎት መጥቷል። https://antifilter.downloadዝግጁ የሆኑ የአይፒ አድራሻዎችን ከየት መውሰድ ይችላሉ። በየግማሽ ሰዓት ተዘምኗል። በደንበኛው በኩል፣ የሚቀረው ግቤቶችን በተዛማጅ "መንገድ ... ውድቅ ማድረግ" ነው.
እና ይህ ምናልባት አያቴን ለማሸማቀቅ እና ጽሑፉን ለማዘመን በቂ ነው።

UPD6. ለመረዳት ለማይፈልጉ ግን ለመጀመር ለሚፈልጉ የተሻሻለው የጽሁፉ ስሪት - እዚህ.

ምንጭ: hab.com

አስተያየት ያክሉ