Import Route BGP to Address List

Sebelumnya terima kasih kepada om Syaifudin a.k.a Ucok Karnadi

<div class="de1"><span class="co0">#MIKROTIK</span></div>
<div class="de1">:foreach a <span class="re2">in</span>=<span class="br0">[</span><span class="kw2">ip</span> rou <span class="kw2">find</span> <span class="re2">gateway</span>=xxx.xxx.xxx.xxx<span class="br0">]</span> <span class="re2">do</span>=<span class="br0">{</span><span class="sy0">/</span><span class="kw2">ip</span> <span class="kw1">fi</span> add add <span class="re2">list</span>=IIX <span class="re2">address</span>=<span class="br0">[</span><span class="sy0">/</span><span class="kw2">ip</span> rou get <span class="re1">$a</span> dst-address <span class="br0">]</span>; <span class="br0">}</span></div>
<div class="de1"></div>
<div class="de1"><span class="co0"># DEBIAN / UBUNTU </span></div>
<div class="de2"><span class="br0">{</span></div>
<div class="de1"><span class="kw3">echo</span> <span class="st0">"VTYSH_PAGER=more"</span> <span class="sy0">></span> <span class="sy0">/</span>etc<span class="sy0">/</span>environment</div>
<div class="de1"><span class="kw2">apt-get install</span> quagga <span class="re5">-y</span></div>
<div class="de1"><span class="kw2">cp</span> <span class="sy0">/</span>usr<span class="sy0">/</span>share<span class="sy0">/</span>doc<span class="sy0">/</span>quagga<span class="sy0">/</span>examples<span class="sy0">/</span>vtysh.conf.sample <span class="sy0">/</span>etc<span class="sy0">/</span>quagga<span class="sy0">/</span>vtysh.conf</div>
<div class="de1"><span class="kw2">cp</span> <span class="sy0">/</span>usr<span class="sy0">/</span>share<span class="sy0">/</span>doc<span class="sy0">/</span>quagga<span class="sy0">/</span>examples<span class="sy0">/</span>zebra.conf.sample <span class="sy0">/</span>etc<span class="sy0">/</span>quagga<span class="sy0">/</span>zebra.conf</div>
<div class="de2"><span class="kw2">cp</span> <span class="sy0">/</span>usr<span class="sy0">/</span>share<span class="sy0">/</span>doc<span class="sy0">/</span>quagga<span class="sy0">/</span>examples<span class="sy0">/</span>bgpd.conf.sample <span class="sy0">/</span>etc<span class="sy0">/</span>quagga<span class="sy0">/</span>bgpd.conf</div>
<div class="de1"><span class="kw2">sed</span> <span class="re5">-i</span> <span class="re5">-e</span> <span class="st_h">'s/zebra=no/zebra=yes/g'</span> <span class="sy0">/</span>etc<span class="sy0">/</span>quagga<span class="sy0">/</span>daemons</div>
<div class="de1"><span class="kw2">sed</span> <span class="re5">-i</span> <span class="re5">-e</span> <span class="st_h">'s/bgpd=no/bgpd=yes/g'</span> <span class="sy0">/</span>etc<span class="sy0">/</span>quagga<span class="sy0">/</span>daemons</div>
<div class="de1"><span class="kw2">chown</span> <span class="re5">-R</span> quagga:quagga <span class="sy0">/</span>etc<span class="sy0">/</span>quagga</div>
<div class="de1"><span class="kw2">chmod</span> <span class="re5">-R</span> <span class="nu0">755</span> <span class="sy0">/</span>etc<span class="sy0">/</span>quagga</div>
<div class="de2">service quagga start</div>
<div class="de1">vtysh <span class="re5">-c</span> <span class="st0">"<span class="es5">`echo -e 'show run\nconf t\nno router bgp 7675\nrouter bgp 65001\nbgp router-id yyy.yyy.yyy.yyy\nneighbor xxx.xxx.xxx.xxx remote-as ASN-MU\nneighbor xxx.xxx.xxx.xxx ebgp-multihop 255\nneighbor xxx.xxx.xxx.xxx soft-reconfiguration inbound\nend\nwrite\nshow run'`</span>"</span></div>
<div class="de1"><span class="br0">}</span></div>
<div class="de1"></div>
<div class="de1"><span class="co0"># CRONJOB</span></div>
<div class="de2"><span class="br0">{</span></div>
<div class="de1"><span class="kw3">echo</span> <span class="re5">-e</span> <span class="st0">"/ip firewall address-list<span class="es1">\n</span>add list=IIX address=1.1.1.1<span class="es1">\n</span>remove [find list=IIX]"</span> <span class="sy0">></span> IIX.rsc; <span class="kw2">ip</span> rou <span class="sy0">|</span> <span class="kw2">grep</span> zebra <span class="sy0">|</span> <span class="kw2">perl</span> -MNet::Netmask <span class="re5">-ne</span><span class="st_h">'m!(\d+\.\d+\.\d+\.\d+/?\d*)! or next; $h = $1; $h =~ s/(\.0)+$//; $b=Net::Netmask->new($h); $b->storeNetblock(); END {print map {$_->base()."/".$_->bits()."\n"} cidrs2cidrs(dumpNetworkTable)}'</span> <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st_h">'{print "add list=IIX address=" $1}'</span> <span class="sy0">>></span>  IIX.rsc;</div>
<div class="de1"><span class="br0">}</span></div>
<div class="de1">