migracja PBR z Cisco do Junipera

JunOS / Juniper / Netscreen

Moderatorzy: mikrobi, aron, garfield, gangrena, Seba

Wiadomość
Autor
h33ren
member
member
Posty: 32
Rejestracja: 15 paź 2017, 13:46

migracja PBR z Cisco do Junipera

#1

#1 Post autor: h33ren » 13 lut 2018, 11:27

Siemka,

Mam taki PBR na switchu Cisco.

Kod: Zaznacz cały

interface Vlan130
 ip vrf forwarding ace
 ip address 172.16.30.1 255.255.255.0
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 ip flow ingress
 ip policy route-map SetNextHop
 
route-map SetNextHop permit 10
 match ip address 121
 set ip next-hop 172.16.21.1
 set interface Vlan121
 
access-list 121 permit ip host 172.16.30.24 xx.xx.0.0 0.1.255.255
access-list 121 permit ip host 172.16.30.24 xx.xx.71.72 0.0.0.7
access-list 121 permit ip host 172.16.30.24 xx.xx.0.0 0.0.255.255
Mój pomysł by to zmigrować jest taki.

Kod: Zaznacz cały

firewall family inet {
	filter SetNextHop {
		term 0 {
			from {
				source-address {
					172.16.30.24/32;
					}
				}
			from {
				destination-address {
					prefix-list ADRESY-DOCELOWE;
					}
				}
			then 
				{
				next-interface irb.121;
				}
			then 
				{
				next-ip 172.16.21.1/32;
				}
			then
				{
				accept;
				}
interface irb.130 {
		family inet {
			filter {
				input SetNextHop;
				}
			}
		}
Co do wersji Junka nie mam pewności czy dobrze myślę że można zrobić next-interface oraz next-ip tak jak to napisałem. Również czy tak można zapisać source i destnation ?

Na stronie Junka są przykłady ale tam są dla interfejsów fizycznych (i często zakładają że PBR będzie między instancjami rutowania), a nie ma nigdzie dla VLANów gdzie oba VLANy są w tej samej instancji (mój scenariusz).

Szefo89
member
member
Posty: 17
Rejestracja: 10 mar 2016, 17:41

Re: migracja PBR z Cisco do Junipera

#2

#2 Post autor: Szefo89 » 14 lut 2018, 13:16

Juniper realizuje PBR przez dedykowaną instancję routingu, konfiguruje się ją jako typ forwarding. Następnie w filtrze dodajesz akcję "then routing-instance X". Nawet jeżeli cały ruch masz w jednej instancji, to żeby odpalić PBR (lub jak to nazywa Juniper - FBF), musisz stworzyć nową instancję.

Kod: Zaznacz cały

R# set routing-instances PBR instance-type forwarding 
R# set routing-instances PBR routing-options 0/0 next-hop X
Jeżeli chcesz mieć różne next-hopy dla całego ruchu, to musisz niestety stworzyć kilka instancji routingu, typu PBR_TO-R2, PBR_TO-R3 i tak dalej.

Oprócz tego musisz pamiętać, żeby do nowej instancji routingu wrzucić IPki z interfejsów, robi się to rib-groupą interface-routes. Rib-groupę tworzysz w ten sposób:

Kod: Zaznacz cały

R# set routing-options rib-groups INTERFEJSY import-rib [inet.0 PBR.inet.0]
R# set routing-options interface-routes rib-group inet INTERFEJSY
Ta konfiguracja sprawi, że IPki Twoich interfejsów zostaną zaciągnięte z inet.0 do PBR.inet.0. Dzięki temu Twoje next-hop będą osiągalne z nowej tablicy routingowej.

h33ren
member
member
Posty: 32
Rejestracja: 15 paź 2017, 13:46

Re: migracja PBR z Cisco do Junipera

#3

#3 Post autor: h33ren » 14 lut 2018, 16:35

Dzięki za podpowiedź, ale w takim razie czy ten interfejs irb.121 może być równocześnie w dwóch routing-instance ?

Bo obecnie on jest w tym samym routing-instance typu virtual-router co irb.130.

No i czy irb.130 musi też być wrzucony do "nowego" routing-instance typu forwarding ?

Szefo89
member
member
Posty: 17
Rejestracja: 10 mar 2016, 17:41

Re: migracja PBR z Cisco do Junipera

#4

#4 Post autor: Szefo89 » 15 lut 2018, 08:33

Interfejs może być tylko w jednej tablicy, więc nie można go wrzucić do tej forwarding. Myk jest taki, że tworzysz firewall filter w którym definiujesz interesujący Ciebie ruch, a jako akcję podajesz "then routing-instance X". Taki filtr podpinasz pod Twój interfejs (który jest w stworzonym przez Ciebie virtual-routerze) i jeżeli przyjdzie określony przez Ciebie typ ruchu, to router będzie szukał next-hopa w innej tablicy routingu.

W konfiguracji routing-instance będziesz miał tylko jej typ (forwarding) oraz static route (0/0).

Niestety tak to realizuje Juniper, w Cisco jest to o wiele prostsze bo podpinasz tylko odpowiednią politykę pod interfejs i masz wszystko z głowy.

https://www.juniper.net/documentation/e ... ample.html

Tutaj masz przykład. Spróbuj z tym powalczyć, jakby coś nie działało to wrzuć swoją konfiguracje, zweryfikujemy ;)

h33ren
member
member
Posty: 32
Rejestracja: 15 paź 2017, 13:46

Re: migracja PBR z Cisco do Junipera

#5

#5 Post autor: h33ren » 16 mar 2018, 10:41

Szefo

Spłodziłem tam kod dla Junka z tego Cisco PBR.

Cisco PBR

Kod: Zaznacz cały

interface Vlan130
 ip vrf forwarding ace
 ip address 172.16.30.1 255.255.255.0
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 ip flow ingress
 ip policy route-map SetNextHop
 
route-map SetNextHop permit 10
 match ip address 121
 set ip next-hop 172.16.21.1
 set interface Vlan121
 
access-list 121 permit ip host 172.16.30.24 xx.xx.0.0 0.1.255.255
access-list 121 permit ip host 172.16.30.24 xx.xx.71.72 0.0.0.7
access-list 121 permit ip host 172.16.30.24 xx.xx.0.0 0.0.255.255
A na Junka napisałem taki kod

Kod: Zaznacz cały

policy-options {
	prefix-list LISTA_121 {
		xx.xx.0.0/15;
		xx.xx.71.72/29;
		xx.xx.0.0/16;
		}
	}
routing-instances {
	ROUTE121 {
		instance-type forwarding;
		routing-options {
			static {
				route 0.0.0.0/0 next-hop 172.16.21.1;
				}
			}
		}
	}
firewall {
	FILTER_130 {
		term 1 {
			from {
				source-address {
					172.16.30.24/32;
					}
				destination-address {
					prefix-list LISTA_121;
					}
				}
			then {
				next-interface {
					irb.121;
					routing-instance ROUTE121;
					}
				}
			}
		}
	}
routing-options {
	interface-routes {
		rib-group {
			inet FBF_130_TO_121
				{
					import-rib INSIDE.inet.0
					import-rib ROUTE121.inet.0
				}
			}
		}
	}
interfaces {
	irb {
		unit 130 {
			family inet {
				filter input FILTER_130;
				}
			}
		}
	}
Dobrze to zrobiłem czy się gdzieś walnąłem ?

Dodam że VLANy 121 i 130 (irb.121 i irb.130) są w tej samej routing instance o nazwie INSIDE.

Szefo89
member
member
Posty: 17
Rejestracja: 10 mar 2016, 17:41

Re: migracja PBR z Cisco do Junipera

#6

#6 Post autor: Szefo89 » 17 mar 2018, 00:21

Jeżeli dobrze pamiętam, to nie musisz dodawać interfejsu irb w filtrze w akcji THEN. Wystarczy podać tam instancję routingu, a reszta zadziała dzięki 0/0.

Oprócz tego wydaje mi się, że połączyłeś dwie komendy rib-groups w jedną, zrób to raczej tak:

Kod: Zaznacz cały

set routing-options rib-groups FBF_130_TO_121 import-rib [INSIDE.inet.0 ROUTE121.inet.0]
set routing-options interface-routes rib-group inet FBF_130_TO_121
Pierwszy wpis tworzy regułę pozwalającą na kopiowanie z INSIDE do ROUTE121, a później przypina się ją pod interface-routes.

Gdybyś chciał ograniczyć to do konkretnych prefixów, a nie wrzucać wszystkie interfejsy z INSIDE, to możesz stworzyć politykę i podpiąć ją w rib-group:

Kod: Zaznacz cały

set routing-options rib-groups FBF_130_TO_121 import-policy X

Szefo89
member
member
Posty: 17
Rejestracja: 10 mar 2016, 17:41

Re: migracja PBR z Cisco do Junipera

#7

#7 Post autor: Szefo89 » 23 mar 2018, 18:32

Generalnie udało mi się sprawdzić i Twoja wersja z pierwszego postu również działa. Widocznie Juniper uznał, że kombinowanie z instancjami routingu jest przesadzone :)

Pamiętaj tylko, że w akcji "next-ip" podajesz adres, ale także musisz dodać odpowiednią instancję routingu, jeżeli ten docelowy ipek nie znajduje się w głównej.

h33ren
member
member
Posty: 32
Rejestracja: 15 paź 2017, 13:46

Re: migracja PBR z Cisco do Junipera

#8

#8 Post autor: h33ren » 25 mar 2018, 15:47

O super dzięki że sprawdziłeś.

Ogólnie to po Wielkanocy jak skończę migracji innych elementów które mam w kolejce, to będę migrował właśnie ten PBR z Cisco na Junka i wtedy dam znać jak poszło. Ale generalnie powinno pójść bo mam też wskazówki od Ciebie.

Wielkie dzięki :)

ODPOWIEDZ