Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Skripta za rutiranje preko dinamičkog gatewaya

[es] :: Wireless :: Mikrotik :: Skripta za rutiranje preko dinamičkog gatewaya

Strane: 1 2

[ Pregleda: 4597 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Skripta za rutiranje preko dinamičkog gatewaya10.04.2013. u 19:22 - pre 133 meseci
10 godina sam registrovan i tek sada drugi post :) Potrebna mi je ova skripta,ali koja će raditi na ROS 6.Probao sam ovu ali neće.A i koliko se sećam od verzije 4 je promenjen način pisanja skripti.Ako se ne može naći ili napisati,recite pa da objasnim o čemu se radi,mada po skripti ćete pretpostaviti,pa se možda može rešiti na drugi način.
Unapred hvala svima.
muki
 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya11.04.2013. u 19:16 - pre 133 meseci
Koliko vidim kolega @kolins balaban je imao isti problem/zahtev kao i ja koji je rešio pisanjem skripte.Problem je što ne mogu da provalim gde da upišem interface na kom će se vršiti monitoring gateway-a i gde da upišem routing mark.Pa bih Vas zamolio za pomoć.

Skripta,preneta sa mikrotik foruma

Code:
:local currentGateway [ /ip address get [/ip address find interface=interface_name ] network]

:local existingGateway [/ip route get [/ip route find comment="Comment on route which gateway we want to set"] gateway]


:if ($currentGateway != $existingGateway) do={

  :log info ("Setting default gateway for our pppoe interface " )
  :local a [ /ip route find comment="Comment on route which gateway we want to set"]

:if ([ :typeof $a ] = nil ) do={
    :log info "adding route..."
    /ip route add dst-address=0.0.0.0/0 gateway=$currentGateway routing-mark=the_name_of_the_mark comment="Comment on route which gateway we want to setK"
   } else={
    :log info "changing route..."
    /ip route set $a gateway=$currentGateway
   }
} else={
  :log info "No route changes needed."
}


Kao što ste mogli da pretpostavite,u pitanju je bonding,kod koga je jedan interfejs sa statičkom a jedan sa dinamičkom ,tj pppoe klijent na adsl-u,ip adresom.Konfiguracija je sledeća,trenutno je na rb450 koji je iza rb koji je pppoe klijent,dok ne provalim kako ovo da sredim,posle toga prebacujem na "glavni" rb.

Code:
/ip firewall mangle
add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=WAN1_conn
add chain=input in-interface=WAN2 action=mark-connection new-connection-mark=WAN2_conn

add chain=output connection-mark=WAN1_conn action=mark-routing new-routing-mark=to_WAN1
add chain=output connection-mark=WAN2_conn action=mark-routing new-routing-mark=to_WAN2

add chain=prerouting dst-address=192.168.0.0/24 action=accept in-interface=wlan2
add chain=prerouting dst-address=192.168.1.0/24 action=accept in-interface=wlan2

add chain=prerouting dst-address-type=!local in-interface=lan per-connection-classifier=both-addresses-and-ports:2/0 action=mark-connection new-connection-mark=WAN1_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=lan per-connection-classifier=both-addresses-and-ports:2/1 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes

add chain=prerouting connection-mark=WAN1_conn in-interface=lan action=mark-routing new-routing-mark=to_WAN1
add chain=prerouting connection-mark=WAN2_conn in-interface=lan action=mark-routing new-routing-mark=to_WAN2

/ip route
add dst-address=0.0.0.0/0 gateway=192.168.0.1 routing-mark=to_WAN1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=to_WAN2 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=192.168.0.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=2 check-gateway=ping

/ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade
add chain=srcnat out-interface=WAN2 action=masquerade


Sve radi kako treba,ali kada se promeni ip adresa na adsl-u sve pada u vodu:)Doduše koliko sam primetio kada se ne koristi njihov ruter ta promena i nije tako česta.

Unapred hvala svima.
muki
 
Odgovor na temu

Aleksandar Đokić

Član broj: 13478
Poruke: 4793
92.244.141.*



+638 Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya11.04.2013. u 20:25 - pre 133 meseci
Prva linija:

:local currentGateway [ /ip address get [/ip address find interface=interface_name ] network]

promenljiva "currentGateway" se definise kao adresa mreze interfejsa koji ima ime "interface_name".

Druga linija:

:local existingGateway [/ip route get [/ip route find comment="Comment on route which gateway we want to set"] gateway]

promenljiva "existingGateway" je u stvari gejtvej rute koja ima kao komentar "Comment on route which gateway we want to set".

Promenis "Comment on route which gateway we want to set" u komentar koji si stavio na rutu od koje zelis gejtvej.

Dalje kod:

:if ($currentGateway != $existingGateway) do={

ukoliko je promenljiva "currentGateway" razlicita od promenljive "existingGateway" radi sledece...

:log info ("Setting default gateway for our pppoe interface " )

Ispisi u log-u "Setting default gateway for our pppoe interface "".

:local a [ /ip route find comment="Comment on route which gateway we want to set"]

Definisi promenljivu "a" kao rutu koja ima komentar "Comment on route which gateway we want to set".

:if ([ :typeof $a ] = nil ) do={

Ukoliko takva ruta (koja ima onaj komentar) ne postoji radi...

:log info "adding route..."

Ispisi u logu "adding router..."

/ip route add dst-address=0.0.0.0/0 gateway=$currentGateway routing-mark=the_name_of_the_mark comment="Comment on route which gateway we want to set"

Ovo ti je najbitnija linija... dodaje defaultnu rutu (0.0.0.0) koja za gejtvej ima "currentGateway" i koja ima routing-mark "the_name_of_the_mark" sa komentarom "Comment on route which gateway we want to set". Naravno, komentar mora biti isti kao gore.

} else={
:log info "changing route..."
/ip route set $a gateway=$currentGateway
}

Ukoliko postoji takva ruta ispisi u log-u "changing route.." i postavi gejtvej rute "a" da bude "currentGateway".

} else={
:log info "No route changes needed."
}

Ukoliko su "currentGateway" i "existingGateway" iste ne radi nista.

Jel ti resava ovo problem?

p.s ispisao sam na brzinu, moguce da sam nesto zaebo

[Ovu poruku je menjao Aleksandar Đokić dana 11.04.2013. u 21:36 GMT+1]
 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya11.04.2013. u 21:17 - pre 133 meseci
Ili skripta ne radi ili ja ne znam da je podesim.Pošto mi je ovaj rb450 iza rb-a koji je pppoe klijent(dok sve ovo ne podesim da radi),simuliraću promenu ip adrese i gateway-a na wan1.Trenutno je ovako



kada promenim ip i gateway na wan1 onda je ovako,što je i logično :)



Koliko ja kapiram ova skripta bi trebalo da u ip/routes,u routing listi promeni gateway za wan1.Ali neće.

Skriptu sam prilagodio na ovaj način

Code:
:local currentGateway [ /ip address get [/ip address find interface=wan1 ] network]

:local existingGateway [/ip route get [/ip route find comment="wan1"] gateway]


:if ($currentGateway != $existingGateway) do={

  :log info ("Setting default gateway for our pppoe interface " )
  :local a [ /ip route find comment="wan1"]

:if ([ :typeof $a ] = nil ) do={
    :log info "adding route..."
    /ip route add dst-address=0.0.0.0/0 gateway=$currentGateway routing-mark=to_wan1 comment="wan1K"
   } else={
    :log info "changing route..."
    /ip route set $a gateway=$currentGateway
   }
} else={
  :log info "No route changes needed."
}


Mislim da sam dobro podesio u odnosu na trenutnu konfiguraciju?
Ni u logu nema ništa.

Hvala

Edit:radi sve kao podmazano,samo treba uključiti mozak :)

Hvala puno.


muki
 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya11.04.2013. u 21:35 - pre 133 meseci
Verovatno smo editovali postove u isto vreme.Kao što sam rekao samo treba uključiti mozak i odmah se rešenje vidi :)
Sve radi baš onako kako treba i kako sam hteo.Ubacim ih u scheduler da se povremeno pokreću i to je to.Još jednom puno hvala na interesovanju i pomoći.
muki
 
Odgovor na temu

Aleksandar Đokić

Član broj: 13478
Poruke: 4793
92.244.141.*



+638 Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya11.04.2013. u 21:40 - pre 133 meseci
Pa koje je resenje?

U adress-list imas .1 za network adresu, moras staviti masku na adresu.

edit:

To je verovatno i bio problem obzirom da koristi adresu mreze.
 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya11.04.2013. u 22:06 - pre 133 meseci
Malo sam pobrisao razmake i zagrade,sitno kad ubaciš u skriptu pa nisam baš najbolje video.Inače se moraju napraviti dve skripte,jedna za rutu sa roting-markom i jedna za rutu bez routing-marka.Da li se ove skripte mogu pokrenuti nekako drugačije osim preko schedulera?Mislim da ne mogu,ali da pitam...Netwatch prati ip adresu koja je uneta pod host,pa ako se razlikuje od unete(status down) pod on down se može uneti ova skripta pa da je on pokrene?Ali i ako tako može to je za jednu promenu,za posle bi opet trebala skripta za unos novog hosta u netwatch,tako da bi se na taj način vrteo u krug.Ili možda grešim?
muki
 
Odgovor na temu

Aleksandar Đokić

Član broj: 13478
Poruke: 4793
92.244.141.*



+638 Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya11.04.2013. u 22:24 - pre 133 meseci
Ne ako se razlikuje, nego ako nema odziva (ping) sa te adrese onda pokrece kod u ondown (ili skriptu).

Mozes dinamicki da menjas host u netwatch-u, direktno iz koda u ondown i tako ce ti raditi razlicite stvari.
 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya11.04.2013. u 22:44 - pre 133 meseci
Ne vredi sada sam već zaspao,da skontam u glavi šta bih mogao time da postignem,pa se čujemo sutra.
muki
 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya12.04.2013. u 20:38 - pre 133 meseci
Nisam razmišljao ceo dan :),nego nisam stigao zbog posla.Kako sam ja zamislio,ove dve skripte,odnosno njihov naziv,ubacim u netwatch,postavi adresu(host)koji treba da prati,kada se promeni host skripta radi ono za šta je namenjena.Probano i to radi.Ali onda mi treba nova skripta koja će da "upuca" novu adresu za host u netwatch-u?

muki
 
Odgovor na temu

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
*.dynamic.sbb.rs.



+35 Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya13.04.2013. u 09:29 - pre 133 meseci
Citat:
muki71:Kao što ste mogli da pretpostavite,u pitanju je bonding,kod koga je jedan interfejs sa statičkom a jedan sa dinamičkom

Gde ti je ovde bonding? Ovo više liči na LoadBalance.
Two beer or not two beer...
 
Odgovor na temu

Aleksandar Đokić

Član broj: 13478
Poruke: 4793
92.244.141.*



+638 Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya13.04.2013. u 09:52 - pre 133 meseci
Citat:
Ali onda mi treba nova skripta koja će da "upuca" novu adresu za host u netwatch-u?


Jok, mozes istom da menjas host u netwatch. Stavis jedan "if" i menjas host kako hoces.

 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya13.04.2013. u 10:42 - pre 133 meseci
BigFoot:
Citat:
Gde ti je ovde bonding? Ovo više liči na LoadBalance.

Što sam našao na netu,sa ovakvim podešavanjima,nazivaju bonding.Zar nije to to,"vezivanje"dva internet linka u jedan na lan-u?Saobraćaj mi ide preko oba linka.Kako god ga zvao meni radi ono što hoću :)
@Aleksandre,kada bi mi još rekao kako to da izvedem,bio bih ti jako zahvalan.Ja na žalost ne umem.I prestaću da davim :)

muki
 
Odgovor na temu

Aleksandar Đokić

Član broj: 13478
Poruke: 4793
92.244.141.*



+638 Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya13.04.2013. u 11:07 - pre 133 meseci
Moras da mi napises konkretno sta zelis.
 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya13.04.2013. u 17:31 - pre 133 meseci
Citat:
Aleksandar Đokić: Moras da mi napises konkretno sta zelis.


Kućni poslovi...Ovo iz prethodnog posta,kada se gateway promeni,skripte menjaju rute,ali u netwatch-u ostaje stari host.Treba mi način kako da u netwatch-u promenim host kada se promeni gateway(tj ip adresa pppoe klijenta na adsl-u)

Citat:
muki71:Kako sam ja zamislio,ove dve skripte,odnosno njihov naziv,ubacim u netwatch,postavi adresu(host)koji treba da prati,kada se promeni host skripta radi ono za šta je namenjena.Probano i to radi.Ali onda mi treba nova skripta koja će da "upuca" novu adresu za host u netwatch-u?

muki
 
Odgovor na temu

Aleksandar Đokić

Član broj: 13478
Poruke: 4793
92.244.141.*



+638 Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya13.04.2013. u 17:49 - pre 133 meseci
Kao host stavljas gejtvej?
 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya13.04.2013. u 18:06 - pre 133 meseci
Kao host stavljam gateway adsl-a koji je dinamički.Izvini ako nisam baš najjasniji,sludeo sam se totalno.


muki
 
Odgovor na temu

Aleksandar Đokić

Član broj: 13478
Poruke: 4793
92.244.141.*



+638 Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya13.04.2013. u 20:18 - pre 133 meseci
I kada bude "down" treba host da se promeni u?

Pitam jer mozda vec imas potrebne promenljive u skripti, pa kad skripta izmeni gejtvej na ruti mozes jednostavno da izmenis i host u netwatch-u.

Pretpostavljam da na kraju skripte mozes da postavis $currentGateway kao host. Eventualno da sam vadis ponovo gejtvej.

[Ovu poruku je menjao Aleksandar Đokić dana 13.04.2013. u 21:32 GMT+1]
 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya13.04.2013. u 21:06 - pre 133 meseci
Citat:
Aleksandar Đokić: I kada bude "down" treba host da se promeni u?


u novi gateway koji ću dobiti od telekoma.Skripta je ona iz prethodnih postova,ova

Code:
:local currentGateway [ /ip address get [/ip address find interface=wan1 ] network]

 :local existingGateway [/ip route get [/ip route find comment="wan1"] gateway]


 :if ($currentGateway != $existingGateway) do={

   :log info ("Setting default gateway for our pppoe interface " )
   :local a [ /ip route find comment="wan1"]

 :if ([ :typeof $a ] = nil ) do={
     :log info "adding route..."
     /ip route add dst-address=0.0.0.0/0 gateway=$currentGateway routing-mark=to_wan1 comment="wan1K"
    } else={
     :log info "changing route..."
     /ip route set $a gateway=$currentGateway
    }
 } else={
   :log info "No route changes needed."
 }


Citat:
pa kad skripta izmeni gejtvej na ruti mozes jednostavno da izmenis i host u netwatch-u.


Upravo to mi i treba,ali ako može automatski.Ok nije problem da sam upisujem gateway,ali bi bilo mnogo lakše ako bi to moglo automatski.
Ako znaš šta i kako reci mi gde da dodam/upišem pošto ja sa skriptama ne stojim baš najbolje.Hvala...
muki
 
Odgovor na temu

muki71
Beograd

Član broj: 14832
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Re: Skripta za rutiranje preko dinamičkog gatewaya13.04.2013. u 21:30 - pre 133 meseci
Kontam da bi trebalo dodati nešto ovako
Code:
 /tool netwatch set host=$currentGateway comment="wan1"

ali verovatno nisam u pravu?
muki
 
Odgovor na temu

[es] :: Wireless :: Mikrotik :: Skripta za rutiranje preko dinamičkog gatewaya

Strane: 1 2

[ Pregleda: 4597 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.