Ponere BGP ut intercluderent interclusio, vel "Quomodo timere desii et adamavit RKN"

Bene, bene, de "amatur" est exaggeratio. Potuit potius cohaerere.

Ut scitis omnes, cum die 16 Aprilis 2018, Roskomnadzor accessum ad facultates in interreti plagas perquam latissime claudebat, addito "Registrum Unified domain nominum, paginarum indices situs in Interreti et inscriptionum retiacularum quae identitatis situs patitur in Interrete, "in quibus notitia continetur cuius distributio vetatur Foederationis Russicae" (in textu - sicut in registro) interdum a /10. Quam ob rem cives Foederationis Russiae et negotia laborant, aditum amissis ad opes iuris omnino indigent.

Postquam in commenta ad unum articulorum de Habre dixi me paratum esse ad victimas iuvandas cum schemate pertranseo constituendo, plures ad me venerunt ut auxilium petant. Cum omnia pro eis operarentur, unus eorum artificium in articulo describens commendavit. Post aliquam cogitationem silentium meum in situ rumpere decrevi et experiri semel scribere aliquid medium inter consilium et Facebook post, i.e. habrapost. Proin in efficitur ante.

Disclaimer

Cum non admodum liceat vias evulgare, ut accessum impediant ad informationes prohibendas in territorio Foederationis Russicae prohibitae, propositum erit huius articuli de methodo loqui, quae sinit te automate accessum ad facultates quae permittuntur in territorium Foederationis Russicae, sed propter actiones alienae per provisorem tuum non directe adeunda sunt. Accessus ad alias facultates consecutus est effectus actionum ex parte articuli infelicis effectus et nullo modo est propositum articulum.

Item, cum praesertim sim architectus retis per professionem, vocationem et viam vitae, programmatio et Linux non sunt mea valida puncta. Ergo, sane, scripta melius scribi possunt, quaestiones securitatis in VPS profundius elaborari possunt, etc. Tuae suggestiones grato animo accipientur, si satis explicatae sunt β€” eas textui articuli addere gaudebo.

TL, DR

Nos automate accessum ad facultates per cuniculum existentem utendo exemplari registri et protocollo BGP. Propositum est removere omnes negotiationes ad facultates in cuniculum obstructas. Explicationes minimae, maxime gradatim instructiones.

Quid hoc opus est?

Donec id vehicula neque enim. Ut hac arte utaris, plura elementa in unum ponere debes;

  1. Habere debes cultorem linuxum alicubi extra campum clausuram. Vel saltem desiderium talem habere ministrantem - feliciter nunc ab $9/anno constat, et fortasse minus. Modus quoque aptus est si VPN cuniculum separatum habeas, minister intra agrum claudentium collocari potest.
  2. Satis esse captiosus iter tuum esse possit
    • quemlibet VPN clientem tibi similem (Malo OpenVPN, sed potest esse PPTP, L2TP, GRE+IPSec vel alia optio quae cuniculum interfaciem creat);
    • BGPv4 protocollum. Id significat pro SOHO fieri posse Mikrotik vel iter aliquod cum OpenWRT/LEDE/simili consuetudine firmware quae permittit te ut Quagga vel avis instituatur. Iter PC usus etiam non prohibetur. In casu incepti, quaere BGP subsidium in documentis pro termino tuo itineris.
  3. Intellectum habere debes de usu Linux et technologiae network, incluso protocollo BGP. Vel minim uis eiusmod idea. Cum paratus sum ad hoc tempus immensitatem amplecti, debebis studere aliquas rationes, quae tibi incomprehensibilia sunt in tuo. Sed ego, sane, interrogationes specificas in commentis respondeo, et ego unicus respondens esse veri simile sum, ideo rogare non dubitavi.

Quod ad exemplum

  • Exemplar registri - from https://github.com/zapret-info/z-i 
  • VPS - Ubuntu 16.04
  • Officium routing - avis 1.6.3   
  • Iter - Mikrotik haP ac
  • Folders operandis - quoniam ut radix laboramus, pleraque omnia in folder domus radicis collocabuntur. Respective:
    • / Radix / notatione - opus folder cum scribendo scripta
    • / Radix / zi - exemplum subcriptio ex github
    • /etc/avis - vexillum folder pro avis muneris occasus
  • Externa IP oratio VPS cum servo fuso et cuniculi terminatione est 194.165.22.146, ASN 64998; externum IP oratio itineris - 81.177.103.94, ASN 64999
  • Inscriptiones IP intra cuniculum sunt 172.30.1.1 et 172.30.1.2, respective.

Ponere BGP ut intercluderent interclusio, vel "Quomodo timere desii et adamavit RKN"

Utique aliis itineribus uti potes, systemata operandi et productorum programmatum, solutionem suae logicae adaptans.

Breviter - logica solutionis

  1. actus praeparatorios perficiendos
    1. Questus est VPS
    2. Cuniculum ab itinere ad VPS
  2. Accipimus et regulariter update exemplum registri
  3. Installing ac Vestibulum excitandis ministerium
  4. Nos creare list of viarum static ad excitandas officium fundatur in registro
  5. Iter itineris ad officium coniungimus et omnia negotiatio per cuniculum mittens configuramus.

In ipsa solutione

actus praeparatorios perficiendos

Multa officia in Interreti sunt quae VPS ad rationes maxime rationabiles praebent. Hactenus inveni et optione usus sum pro $9/anno, sed etiam si nimium molestus es, multae optiones 1E/mense in omnibus angulis sunt. Quaestio de eligendo VPS longe late patet extra ambitum huius articuli, quare si quis aliquid de hoc non intellegit, in commentis quaeras.

Si VPS uteris, non solum ad excitandum ministerium, sed etiam ad cuniculum in eo terminandum, necesse est hoc cuniculum erigere et, quasi certe, NAT ad illud configurare. Magna vis instructionum de his actionibus in Interreti sunt, non ea hic repetam. Praecipua talis cuniculi postulatio est ut interfaciem separatam in tuo itinere creare debet qui cuniculum versus VPS sustinet. Maxime adhibitae VPN technologiae huic postulationi occurrent - exempli gratia, OpenVPN modus in tun perfectus est.

Questus exemplum subcriptio

Sicut dixit Iabrail: Β«Qui prohibet nos adiuvatΒ». Cum RKN tabulam facultatum prohibitarum crearet, peccatum esset ne hoc tabulario nostro problema solvendum uteretur. Exemplar registri ex github recipiemus.

Imus ad servo tuo Linux, in contextu radicem incidemus (sudo su -) git institutionem si iam non installed.

apt install git

Vade in domum tuam directorium et exemplum scripti evellere.

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

Cronum renovatio (facio semel singula 20 minuta, sed eligere potes aliquod intervallum quod tibi interest). Ad hoc facere deducimus crontab -i et versus sequentem adde;

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

Hamum coniungimus qui files creabit ad servitium excitandum post subcriptio adaequationis. Hoc facere, lima creare /root/zi/.git/hooks/post-merge cum sequenti contenti:

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

et nolite oblivisci facere exsecutabile

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

Facemus scriptionem makebgp ad hamum referendum paulo post.

Installing ac Vestibulum ad excitandas servitium

Instrue avem. Infeliciter, versio avium quae in repositoria in Ubuntu nunc missa est, in viriditate Archaeopteryx faeces comparabilis est, ideo oportet primum officialem PPA tincidunt systematis programmatis addere.

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

Post hoc, statim avem disable IPv6 - hac institutione non indigemus.

systemctl stop bird6
systemctl disable bird6

Infra minimum est minimum avem configuratione servitium (/etc/bird/bird.conf) quod nobis satis est (iterum te admoneo ne quis vetet opinionem enucleare et incedere ut tuis necessitatibus conveniat)

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

iter itineris id - iter identifier, quod uisum spectat sicut inscriptio IPv4, sed non est una. In casu nostro, potest quilibet numerus 32-bitrum in forma inscriptionis IPv4, sed forma bona est ut inscriptionem artificii tui IPv4 exacte indicaret (hoc in casu, VPS).

Protocollum directum definit quod intercedit cum processu fuso laborabit. Exem- plum dat duorum exemplorum nominum, alios addere potes. Lineam delere simpliciter potes: hoc in casu, ministra audiet omnia intermedia prompta cum inscriptione IPv4.

Protocollum static est magicum nostrum quod onerat indices praefixionum et inscriptionum IP (quae revera sunt /32 praefixae, scilicet) ex documentis pro subsequenti denuntiatione. Unde hi indices ex infra agetur. Quaeso note quod onerantium IP inscriptionum per defaltam commentatur, cuius ratio est amplissimum volumen impositionis. Ad comparationem, tempore scribendi, sunt 78 lineae in indice praefixionum, et 85898 in indice inscriptionum IP, valde commendamus inchoationem et debugging solum in indice praefixorum, et an IP oneraturae in futurum est ad vos ut experiamur cum iter itineris. Non omnes facile concoquunt 85 milia introitus in fuso mensa.

bgp protocollum, immo bgp perspiciens iter erigit. IP oratio est oratio interfaciei itineris externi (vel oratio cuniculi interfaciei itineris itineris), 64998 et 64999 sunt numeri systematum sui iuris. Hoc in casu, assignari possunt in forma cuiuslibet numeri 16-bitorum, sed bonum est usu uti AS numeris a range privatis definitis a RFC6996 - 64512-65534 inclusive (est forma pro 32-bit ASNs; sed in casu nostro hoc certum est overkill). Descriptus configuratione utitur eBGP perspiciens, in quibus numeri rationum autonomarum officii fusoris et itineris diversi esse debent.

Ut videre potes, opus est ut IP oratio itineris itineris cognoscatur, ita si dynamicam vel non-routabilem privatam (RFC1918) vel communem (RFC6598) electronicam habes, optionem non habes ut perspicientes in externo. instrumenti, sed operae adhuc opus intra cuniculum erit.

Perspicuum est etiam ex uno servitio vias pluribus diversis itineribus praebere posse - modo duplicare occasus earum describendo protocollum sectionis bgp et mutato IP inscriptione proximi. Et inde est quod exemplum ostendit occasus ad speculandum extra cuniculum, quasi universalissimum. Eas in cuniculum transferre facile est mutando IP inscriptiones in gressibus secundum.

Processus subcriptio ad excitandas ministerium

Nunc re vera opus est ut indices praefixionum et inscriptionum IP creare, quae in protocollo statico priore scaena commemoratae sunt. Ad hoc efficiendum, actis subcriptio accipimus ac tabellam quae ex eo indigemus utendo scripto sequenti, in posito / Radix / notatione / 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'

Noli oblivisci ut illud exsecutabile

chmod +x /root/blacklist/makebgp

Nunc illud manually currere potes et speciem imagini /etc/avi observare.

Verisimile est, avis nunc tibi non laborat, quia in priore gradu quaesivisti eam quaerere limas quae nondum erant. Ergo deprimimus et deprimimus quod incepit;

systemctl start bird
birdc show route

Secundum praeceptum propositum de 80 monumentis (hoc enim nunc est, sed cum posueris, omnia pendent a studio RKN in reticulis claudendis) aliquid simile:

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

bigas

birdc show protocol

status protocolla intra servitium ostendet. Donec iter itineris (vide proximum punctum), Protocollum OurRouter in statu initio erit (Connect vel Phase Active), et post felicem connexionem ad statum statutum ibit (phase fundatum). Exempli gratia, in mea ratione huius praecepti output hoc spectat:

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

Connectens iter

Omnes fortasse fessi sunt hunc pedem legere, sed corde confidite - prope est finis. Praeterea in hac sectione gradatim mandata dare non valebit, pro cuiusque fabrica diversum erit.

Sed exempla duo tibi demonstrare possum. Ratio principalis est ut BGP perspiciens et proximum hop omnibus praefixis receptas assignet, ostendens nostro cuniculo (si opus est negotiationem per p2p interface mittere) vel altera IP oratio si commercium ad aethernet ibit).

Exempli gratia, in Mikrotik in RouterOS hoc modo solvitur

/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

et in 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

Si idem cuniculum tum ad BGP perspiciens tum ad tradendam utilem mercaturam adhibeatur, non est necesse ut proximo hop constituatur, recte utendo protocollo constituetur. Sed si manuale statuas, non id peius faciet.

In aliis suggestis figuram te ipsum figurare debebis, sed si quas difficultates habes, in commentarios scribe, iuvare conabor.

Postquam sessionem tuam BGP incepit, itinera ad magna retia pervenerunt et in tabula constituuntur, negotiatio ad inscriptiones ab illis fluxit et felicitas proxima est, ad avem servitium redire potes et tentare incommodum ingressum ibi connectens. inscriptionum IP index, postea exequi

systemctl reload bird

et vide quemadmodum haec milia 85 iter tuum transtulerint. Para ad unplug et cogita quid cum illo facias :)

in summa

Mere theoretice, perfectis gradibus supra descriptis, nunc servitium habes quod automatice redirectores traffic ad IP inscriptiones interdictum in Foederatione Russica praeter systema eliquandi.

Potest utique emendari. Exempli gratia, facile est summam inscriptionum IP perl vel pythonis solutiones uti. Simplex Perl scriptor hoc utens Net ::CIDR :: Lite 85 mille praefixa vertit in 60 (non mille), sed sane multo ampliorem amplitudinem inscriptionum tegit quam impeditur.

Cum ministerium in tertio exemplari ISO/OSI operetur, te non impedit quominus paginam/paginam intercludat si inscriptioni iniuriae in registro scriptae resolvat. Sed cum subcriptio, tabella nxdomain.txt e github pervenit, quae paucis scriptionis ictibus facile in fontem vertit pro inscriptione, exempli gratia: SwitchyOmega plugin in Chrome.

Etiam commemorare necesse est solutionem elegantiam additam requirit si non solum interreti usoris, sed etiam nonnullas facultates in tua propria divulgas (exempli gratia, pagina vel electronica server in hunc nexum decurrit). Instrumentis itineris utens, necesse est ut negotiatio cessans ab hoc servitio tuo publico electronico stricte colligas, alioquin nexum cum iis facultatibus amittes, quae in indice praefixionum ab itinere receptarum teguntur.

Si quid habes, roga, paratus sum respondere.

UPD. Gratias tibi navion ΠΈ TerAnYu parametri pro git, quae permittunt volumina download minuere.

UPD2. Collegae, videtur me errasse, non additis mandatis ut cuniculum inter VPS et iter ad articulum constitueret. Hac multae quaestiones excitantur.
Modo in casu, iterum notabo te ante hoc ductore VPN cuniculum iam figurasse in directione quam debes et eius functionem repressisse (exempli gratia, mutando illic mercaturam per defaltam vel statically). Si hoc tempus nondum perfecisti, non multum sensus sequi gradus in articulo. Textum meum proprium in hoc adhuc non habeo, sed si google "servatorem" OpenVPN erigere" cum nomine systematis operantis in VPS inauguratum est, et "clientem OpenVPN" erigere cum nomine itineris tui plures articulos hac de re, cum in Habre, fere reperies.

UPD3. Unsacrificified Scripsi codicem qui dump.csv vertit in tabulam resultantem pro avium cum compendio ad libitum inscriptionum IP. Ideo sectio "Registrum Processi ad excitandum servitium" substitui potest vocando suum propositum. https://habr.com/post/354282/#comment_10782712

UPD4. Opusculum de erroribus (eos ad textum non addidi);
I) loco systemctl reload avis facit sensum ut imperium birdc conformare.
2) in iter itineris Mikrotik, loco mutato nexthop ad IP lateris secundi cuniculi. /fuso filter add action=accipe catena = dynamic-in protocol=bgp comment=Β» Pone nexthop Β» paro-in-nexthop=172.30.1.1 sensum efficit ut iter directe ad cuniculum interfaciei designet, sine inscriptione /fuso filter adde actionem=accipe catenam dynamicam-in protocol=bgp comment=Β» pone nexthop Β» paro-in-nexthop direct=<nomen interface>

UPD5. Novum ministerium apparuit https://antifilter.download, unde tabulas IP inscriptionum electronicarum paratas colligere potes. Renovata omni semihora. In clientela parte, quidquid reliquum est, tabulas condere cum correspondente "itinere .... respuere".
Et hic, fortasse, satis est tuam avia pangere et articulum renovare.

UPD6. Recognita versio articuli illis qui eam figurare nolunt, sed incipias volunt - hic.

Source: www.habr.com