Portál AbcLinuxu, 14. července 2025 06:06


Dotaz: mikrotik, skript, hledani

19.12.2016 13:10 Pedro M
mikrotik, skript, hledani
Přečteno: 408×
Odpovědět | Admin
Ahoj kluci, potreboval bych pomoct se skriptovanim na TIKu. Potrebuju skriptem overit, zda se koser "udelaly" vychozi routy na brany. Tedy routy ktere maji "nejaky" (mnou definovany) distance (nastavitelne v dhcp-client) a dst addr 0.0.0.0/0. Hledam routy pomoci skriptu jelikoz to bude mit navaznosti dal ale nevim jak vyhodnotit existenci techro rout. Najit je najdu a vytisknu, pouzivam neco jako :

/ip route print where 0.0.0.0 in dst-address and distance=2

problem je ze nevim co mam s printem/vystupem dal delat, jde mi o to ze pokud routy nebudou, budu dale delat release a renew na dhcp clientovi (dhcp od ISP na wanu)

naopak pokud routu naleznu, pak dal nedelat nic a byt proste happy :-)

diky pokud si nekdo najde moment

Pedro
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.12.2016 13:42 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: mikrotik, skript, hledani
Odpovědět | | Sbalit | Link | Blokovat | Admin
Daj sem výstup, ktorý a lá „/ip route print where 0.0.0.0 in dst-address and distance=2“ máš.
19.12.2016 13:48 Pedro M
Rozbalit Rozbalit vše Re: mikrotik, skript, hledani
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 S 0.0.0.0/0 192.168.22.254 2
19.12.2016 14:02 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: mikrotik, skript, hledani
echo "DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 S 0.0.0.0/0 192.168.22.254 2" |awk '{if ($7 == "0.0.0.0/0" && $9 == "2") print $8 }'
Vypíše všetky IP všetkých gateway, ktorých je distance = 2. Gawk to vypíše pre každý riadok na vstupe.
20.12.2016 08:45 Pedro M
Rozbalit Rozbalit vše Re: mikrotik, skript, hledani
awk a gawk v mikrotiku ?? diky za "radu" ;-)
19.12.2016 13:55 NN
Rozbalit Rozbalit vše Re: mikrotik, skript, hledani
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vychazel bych z tohoto s tim, ze v cyklu budes kontrolovat routy ze statickrho pole. Tzn. pro kazdy src otestujes existenci routy a pokid ji nenaleznes vynutis release/renew. Neco jako:
:local a { 'eth0'='10.0.1.0/24; 'eth1'=10.0.2.0/24 .. }

:foreach int,src in=a do={
  :if ( ! /ip route get [find src-addr=src] ) do= {
   /ip dhcp-client renew int
  }
}
21.12.2016 09:57 Pedro M
Rozbalit Rozbalit vše Re: mikrotik, skript, hledani
diky ale vtomhle priklade neni validni snad ani kus a ani po editu a premlouvani mi to nevali v ip routes nemuzes hledat src, a ta podminka s vykricnikem nevim jak presne funguje...

ma jeste nekdo nejaky napad jak overit zda se v IP ROUTES vyskytuje zaznam kde DST obsahuje 0.0.0.0 ??

Diky vsem, i za snahu. Diky diky diky
21.12.2016 11:52 NN
Rozbalit Rozbalit vše Re: mikrotik, skript, hledani
Jasne, ze to neni validni.. Mas dokumentaci.
/ip route find dst-address=0.0.0.0/0
Vykricnik je logicka negace. Zjistujes jestli tam ta routa neni. Tak podminak by mohla byt takto:
:if (!(/ip route find src-address=src dst-address=0.0.0.0/0)) do={ ...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.