IPv6 VPN přes IPv4 MPLS páteř Tomáš Bednár, BED163 Pavel Bílý, BIL208 Abstrakt: Tato práce se zabývá vytvořením VPN spojů mezi klientskými sítěmi pracujícími s adresami IPv6 skrze IPv4 MPLS páteř poskytovatele. Jsou zde uvedeny základní informace týkající vybudování VPN a dále je zde podrobně rozebrán postup nakonfigurování sítě umožňující vybudovat IPv6 VPN spojení přes IPv4 páteř provozující MPLS. Klíčová slova: IPv6, VPN, MPLS, VRF, BGP
1 VPN a MPLS..................................................................................................................2 2 Ověření funkčnosti IPv6 VPN........................................................................................3 2.1 Ověřená konfigurace routerů a pracovních stanic .................................................4 3 Výpisy z konzole..........................................................................................................13 3.1 Router RA.............................................................................................................13 3.2 Router RB.............................................................................................................16 3.3 Router RC.............................................................................................................18 4 Výpisy z programu WireShark.....................................................................................20 4.1 Linka mezi routery RD – RC................................................................................20 4.2 Linka mezi routery RD – RG................................................................................21 5 Ping mezi klientskými stanicemi..................................................................................22 6 Závěr.............................................................................................................................22 7 Použitá literatura...........................................................................................................22
leden 2011
1/22
1 VPN a MPLS VPN (Virtual Private Network) je síťové propojení mezi dvěma i více lokalitami přes sdílenou infrastrukturu (Internet). Hlavní význam je ten, že se přes veřejnou síť vybuduje spojení, které uživatelům umožní přístup do privátní sítě (firemní, školní apod.), aniž by byli k této sítí přímo připojeni. (viz. obr. 1). Jelikož je VPN často využíváno právě pro přístup k citlivým privátním zdrojům a datům, je nutné přenos dat zabezpečit. To je možné provést např. pomocí IPsec a SSL/TLS.
Obrázek 1: VPN v rámci internetu (Zdroj: wikipedia.org) V tomto projektu budeme vytvářet IPv6 VPN spojení mezi lokalitami, ve kterých jsou připojeny klientské stanice. Veřejná infrastruktura ještě zdaleka nefunguje na bázi IPv6. Proto je zapotřebí vyřešit, jakým způsobem propojit privátní IPv6 sítě přes síť poskytovatele fungující na bázi IPv4. V rámci projektu budeme realizovat MPLS/VPN vybudovanou mezi hraničními routery páteřní sítě (viz obrázek 2).
Obrázek 2: MPLS/VPN (Zdroj: cisco.com) Na obrázku 2 mezi hraničními routery PE (Provider Edge) se uvnitř IPv4 sítě poskytovatele provozuje MPLS (Multiprotocol Label Switching). MPLS se využívá v sítích poskytovatele, protože umožňuje rychlejší směrování procházejících paketů. Pro směrování paketů uvnitř MPLS sítě se nevyužívají klasické směrovací tabulky, ale ke každému provozu je přiřazena značka (label) a na základě značky uvnitř paketu se určí, kterým rozhraním bude paket vyslán. Jednotlivé lokality jsou připojeny k páteřní síti poskytovatele fyzickou linkou mezi PE a CE (Customer Edge) routery. Mezi lokalitami, které chceme propojit, se vybuduje VPN spojení. Aby bylo možné směrovat pakety mezi jednotlivými lokalitami, musí být na rozhraní hraničního routeru MPLS sítě vedoucímu k CE routeru přiřazena instance VRF (Virtual Routing and Forwarding). Pro každou lokalitu se vytváří jedna VRF instance, pomocí které se nastaví, které sítě v dané lokalitě, mají být přístupné v rámci VPN spojení. VRF instance je nutné rozdistribuovat mezi všemi hraničními routery, patřících ke konkrétní VPN. K tomuto účelu se využívá protokol BGP, pomocí kterého se mezi všemi hraničními routery vybudují sousedské vazby. leden 2011
2/22
2 Ověření funkčnosti IPv6 VPN Pro ověření funkčnosti IPv6 VPN přes IPv4 MPLS páteř jsme sestavili topologii, která je uvedena na obrázku 3. Topologie se skládá ze sedmi routerů a tří pracovních stanic. Routery RA, RB, RC a RG byly typu CISCO 2801 a byl na nich nainstalován IOS ve verzi 12.4(24)T3. Router RD byl typu CISCO 2811 a byl na něm nainstalován IOS ve verzi 12.4(24)T2. Zbývající dva routery RE a RF byly typu CISCO 1812 a byl na nich nainstalován IOS ve verzi 12.4(11)T1. Na klientských stanicích byl nainstalován operační systém Ubuntu 10.10.
Obrázek 3: Použitá topologie Na začátku konfigurace routerů jsme jako první povolili směrování IPv6 unicast provozu pomocí příkazu ipv6 unicast-routing, čímž jsme ověřili, že použité routery podporují protokol IPv6. Poté následovalo nakonfigurování IPv4 a IPv6 adres na jednotlivých rozhraních routerů podle obrázku 3. Jako směrovací protokol pro IPv4 páteř jsme použili OSPF. Routery RA, RB, RC a RD jsme umístili do jediné oblasti, a to area 0. Co se týče částí sítě s IPv6 adresami, tak jsme použili statické směrování. Dále bylo zapotřebí nakonfigurovat klientské stanice, kde bylo nutné nastavit IPv6 adresu a výchozí bránu, kterou je rozhraní CE routeru, ke kterému je daná stanice připojena. Po otestování funkčnosti dosavadní konfigurace jsme přešli ke konfiguraci MPLS a samotného VPN spojení. Nejdříve jsme nakonfigurovali MPLS v páteři. Poté jsme na PE routerech páteřní sítě (RA, RB a RC) nadefinovali VRF instance. V nich jsme nastavili, pod jakým označením mají směrovače přijímat směrovací informace od jiných routerů a pod jakým označením má router předávat dál informace o sítích dostupných přes daný router. Což je znázorněno následující konfigurací. Zde konkrétně pro router RA: vrf definition VRFA rd 1:1 route-target export 1:1 route-target import 1:1 address-family ipv4 exit-address-family address-family ipv6 exit-address-family exit
Takto vytvořenou instanci jsme přiřadili na rozhraní vedoucí do lokality, ve které chceme vybudovat VPN spojení. To znamená na rozhraní PE routeru směřujícím k CE routeru. Poté jsme na PE routerech nakonfigurovali BGP (Border Gateway Protocol), abychom mezi nimi mohli předávat VRF instance. Bylo tedy nutné nakonfigurovat sousedské vazby mezi všemi PE routery, a to způsobem každý s každým (full mesh). Sousedská vazba se vytváří na rozhraní PE routeru náležícího do IPv4 páteře. Pro tento účel jsme použili loopback rozhraní, což je výhodné v případě, kdy dojde k výpadku fyzické linky. Pokud bychom tedy měli v rámci IPv4 páteře více fyzických linek jdoucích k danému routeru, neztratili bychom s ním sousedskou vazbu, jelikož by k němu stále existovala jiná fyzická cesta. leden 2011
3/22
2.1 Ověřená konfigurace routerů a pracovních stanic RA: enable configure terminal hostname RA ipv6 unicast-routing ip cef ipv6 cef mpls ip mpls label protocol ldp mpls ldp router-id loopback 0 force vrf definition VRFA rd 1:1 route-target export 1:1 route-target import 1:1 address-family ipv4 exit-address-family address-family ipv6 exit-address-family exit interface serial 0/1/0 ip address 192.168.1.1 255.255.255.0 clock rate 64000 no shutdown mpls ip exit interface fastethernet 0/1 ipv6 enable vrf forwarding VRFA ipv6 address 2005:17::1/64 no shutdown exit interface loopback 0 ip address 192.168.4.1 255.255.255.255 no shutdown exit router ospf 1 network 192.168.4.1 0.0.0.0 area 0 network 192.168.1.0 0.0.0.255 area 0 exit ipv6 route vrf VRFA 2005:20::/64 2005:17::2
leden 2011
4/22
router bgp 1 no bgp default ipv4-unicast bgp log-neighbor-changes neighbor PE peer-group neighbor PE remote-as 1 neighbor PE update-source loopback 0 neighbor 192.168.4.2 peer-group PE neighbor 192.168.4.3 peer-group PE address-family ipv4 redistribute connected redistribute static no auto-summary no synchronization exit-address-family address-family vpnv6 neighbor PE send-community extended neighbor 192.168.4.2 activate neighbor 192.168.4.3 activate exit-address-family address-family vpnv4 neighbor PE send-community extended neighbor 192.168.4.2 activate neighbor 192.168.4.3 activate exit-address-family address-family ipv4 vrf VRFA redistribute connected redistribute static no synchronization exit-address-family address-family ipv6 vrf VRFA redistribute connected redistribute static no synchronization exit-address-family
leden 2011
5/22
RB: enable configure terminal hostname RB ipv6 unicast-routing ip cef ipv6 cef mpls ip mpls label protocol ldp mpls ldp router-id loopback 0 force vrf definition VRFB rd 1:1 route-target export 1:1 route-target import 1:1 address-family ipv4 exit-address-family address-family ipv6 exit-address-family exit interface serial 0/1/0 ip address 192.168.2.1 255.255.255.0 clock rate 64000 no shutdown mpls ip exit interface fastethernet 0/1 ipv6 enable vrf forwarding VRFB ipv6 address 2005:18::1/64 no shutdown exit interface loopback 0 ip address 192.168.4.2 255.255.255.255 no shutdown exit router ospf 1 network 192.168.4.2 0.0.0.0 area 0 network 192.168.2.0 0.0.0.255 area 0 exit ipv6 route vrf VRFB 2005:21::/64 2005:18::2
leden 2011
6/22
router bgp 1 no bgp default ipv4-unicast bgp log-neighbor-changes neighbor PE peer-group neighbor PE remote-as 1 neighbor PE update-source loopback 0 neighbor 192.168.4.1 peer-group PE neighbor 192.168.4.3 peer-group PE address-family ipv4 redistribute connected redistribute static no auto-summary no synchronization exit-address-family address-family vpnv6 neighbor PE send-community extended neighbor 192.168.4.1 activate neighbor 192.168.4.3 activate exit-address-family address-family vpnv4 neighbor PE send-community extended neighbor 192.168.4.1 activate neighbor 192.168.4.3 activate exit-address-family address-family ipv4 vrf VRFB redistribute connected redistribute static no synchronization exit-address-family address-family ipv6 vrf VRFB redistribute connected redistribute static no synchronization exit-address-family
leden 2011
7/22
RC: enable configure terminal hostname RC ipv6 unicast-routing ip cef ipv6 cef mpls ip mpls label protocol ldp mpls ldp router-id loopback 0 force vrf definition VRFC rd 1:1 route-target export 1:1 route-target import 1:1 address-family ipv4 exit-address-family address-family ipv6 exit-address-family exit interface fastethernet 0/0 ip address 192.168.3.1 255.255.255.0 no shutdown mpls ip exit interface fastethernet 0/1 ipv6 enable vrf forwarding VRFC ipv6 address 2005:19::1/64 no shutdown exit interface loopback 0 ip address 192.168.4.3 255.255.255.255 no shutdown exit router ospf 1 network 192.168.4.3 0.0.0.0 area 0 network 192.168.3.0 0.0.0.255 area 0 exit ipv6 route vrf VRFC 2005:22::/64 2005:19::2
leden 2011
8/22
router bgp 1 no bgp default ipv4-unicast bgp log-neighbor-changes neighbor PE peer-group neighbor PE remote-as 1 neighbor PE update-source loopback 0 neighbor 192.168.4.1 peer-group PE neighbor 192.168.4.2 peer-group PE address-family ipv4 redistribute connected redistribute static no auto-summary no synchronization exit-address-family address-family vpnv6 neighbor PE send-community extended neighbor 192.168.4.1 activate neighbor 192.168.4.2 activate exit-address-family address-family vpnv4 neighbor PE send-community extended neighbor 192.168.4.1 activate neighbor 192.168.4.2 activate exit-address-family address-family ipv4 vrf VRFC redistribute connected redistribute static no synchronization exit-address-family address-family ipv6 vrf VRFC redistribute connected redistribute static no synchronization exit-address-family
leden 2011
9/22
RD: enable configure terminal hostname RD ip cef mpls ip mpls label protocol ldp mpls ldp router-id loopback 0 force interface serial 0/0/0 ip address 192.168.1.2 255.255.255.0 clock rate 64000 no shutdown mpls ip exit interface serial 0/0/1 ip address 192.168.2.2 255.255.255.0 clock rate 64000 no shutdown mpls ip exit interface fastethernet 0/1 ip address 192.168.3.2 255.255.255.0 no shutdown mpls ip exit interface loopback 0 ip address 192.168.4.4 255.255.255.255 no shutdown exit router ospf 1 network network network network exit
leden 2011
192.168.1.0 192.168.2.0 192.168.3.0 192.168.4.4
0.0.0.255 area 0 0.0.0.255 area 0 0.0.0.255 area 0 0.0.0.0 area 0
10/22
RE: enable configure terminal hostname RE ipv6 unicast-routing interface fastethernet 0 ipv6 enable ipv6 address 2005:20::1/64 no shutdown exit interface fastethernet 1 ipv6 enable ipv6 address 2005:17::2/64 no shutdown exit ipv6 route ::/0 2005:17::1
RF: enable configure terminal hostname RF ipv6 unicast-routing ip cef ipv6 cef interface fastethernet 0 ipv6 enable ipv6 address 2005:21::1/64 no shutdown exit interface fastethernet 1 ipv6 enable ipv6 address 2005:18::2/64 no shutdown exit ipv6 route ::/0 2005:18::1
leden 2011
11/22
RG: enable configure terminal hostname RG ipv6 unicast-routing ip cef ipv6 cef interface fastethernet 0/0 ipv6 enable ipv6 address 2005:22::1/64 no shutdown exit interface fastethernet 0/1 ipv6 enable ipv6 address 2005:19::2/64 no shutdown exit ipv6 route ::/0 2005:19::1
Pracovní stanice PC-A: ifconfig eth0 inet6 add 2005:20::100/64 route –-inet6 add default gateway 2005:20::1
Pracovní stanice PC-B: ifconfig eth0 inet6 add 2005:21::200/64 route –-inet6 add default gateway 2005:21::1
Pracovní stanice PC-C: ifconfig eth0 inet6 add 2005:22::300/64 route –-inet6 add default gateway 2005:22::1
leden 2011
12/22
3 Výpisy z konzole Pro výpisy z konzolí jednotlivých PE routerů jsme použili tyto příkazy: • show ipv6 route vrf
◦ směrovací informace příslušné VRF instance • show bgp vpnv6 unicast all labels ◦ VPN značky asociované s VPN-IPv6 cestami • show mpls forwarding-table ◦ použité MPLS značky pro přeposílání jednotlivých paketů • traceroute vrf ◦ trasovací informace k cílové IP adrese z příslužné VRF instance
3.1 Router RA RA - show ipv6 route vrf VRFA V následující výpise jsou všechny směrovací informace VRF tabulky PE routeru (RA). Jelikož je VRF instance vytvořena na rozhraní směřujícím k CE routeru, je zde jako přímo připojená síť vidět pouze 2005:17::/64. Dále je zde vidět staticky nakonfigurovaná cesta do sítě za CE routerem 2005:20::/64. Nejzajímavější však jsou směrovací infromace získané pomocí vytvořených sousedských vazeb BGP (označeny kódem B). Jsou zde uvedeny čtyři tyto směrovací informace, a to do všech sítí, které se nachází za PE routery. Ty jsou tedy nepřímo připojeny a jako IP adresa, přes kterou se do nich dá dostat (via), je uvedena IP adresa loopbacku patříčného PE routeru. RA#show ipv6 route vrf VRFA IPv6 Routing Table - VRFA - 8 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 C 2005:17::/64 [0/0] via FastEthernet0/1, directly connected L 2005:17::1/128 [0/0] via FastEthernet0/1, receive B 2005:18::/64 [200/0] via 192.168.4.2%Default-IP-Routing-Table, indirectly connected B 2005:19::/64 [200/0] via 192.168.4.3%Default-IP-Routing-Table, indirectly connected S 2005:20::/64 [1/0] via 2005:17::2 B 2005:21::/64 [200/0] via 192.168.4.2%Default-IP-Routing-Table, indirectly connected B 2005:22::/64 [200/0] via 192.168.4.3%Default-IP-Routing-Table, indirectly connected L FF00::/8 [0/0] via Null0, receive
leden 2011
13/22
RA - show bgp vpnv6 unicast all labels V následujícím výpise je zobrazeno, jaký next hop bude použit pro dosažení konkrétní VPN sítě. Také jsou zde vidět vstupní a výstupní značky pro tyto jednotlivé sítě. Výstupní značky (21 a 22) zde slouží pro určení cílové sítě za PE routerem, na který se paket přenese skrze MPLS páteř pomocí, k tomu určených, jiných značek. Za povšimnutí stojí formát next hop adres. Jedná se totiž o IPv4 adresy použitých loopbacků, které jsou namapované na IPv6 adresy. Je to z toho důvodu, že používáme VPN sítě s IPv6 adresami, a tudíž jsou VRF instance vytvořeny na rozhraních PE routerů s IPv6 adresami. RA#sh bgp vpnv6 unicast all labels Network Next Hop Route Distinguisher: 1:1 (VRFA) 2005:17::/64 :: 2005:18::/64 ::FFFF:192.168.4.2 2005:19::/64 ::FFFF:192.168.4.3 2005:20::/64 :: 2005:21::/64 ::FFFF:192.168.4.2 2005:22::/64 ::FFFF:192.168.4.3
In label/Out label 20/nolabel(VRFA) nolabel/21 nolabel/21 21/nolabel nolabel/22 nolabel/22
RA - show mpls forwarding-table V tomto výpise je vidět, pro které příchozí MPLS značky a sítě se používá která odchozí MPLS značka. V odchozím směru se vyskytují nejen konkrétní značky, se kterými jsou pakety odeslány, ale také informace, která říká, že se značka z paketu odebere (Pop Label) nebo se vůbec nepoužije (No Label). Řádky se značkou „No Label“ tedy znamenají, že cílová síť je již přímo připojená. Navíc je u nich zobrazeno písmeno [V], což znamená, že se jedná o síť, která je součástí VRF. Co se týče řádků se značkou „Pop Label“, tak ty znamenají, že router RA je již předposledním routerem na cestě do cílové sítě, a tudíž sám značku odebere, protože v posledním routeru na cestě (RC) se již bude směrovat přímo podle IP adresy. Řádky s odchozími značkami 16 a 18 jsou tedy jediné, ve kterých se pakety odesílají s příslušnou značkou, kterou se router dozvěděl od routeru RC pomocí LDP. Tyto značky tedy, na rozdíl od značek ve výpise show bgp vpnv6 unicast all labels, neslouží pro identifikaci sítě v rámci VRF instance PE routeru, ale slouží pro samotný transport MPLS. Jinými slovy tedy určují, na který PE router bude paket přeposlán. RA#show mpls forwarding-table Local Outgoing Prefix Label Label or VC or Tunnel Id 16 Pop Label 192.168.4.4/32 17 16 192.168.4.2/32 19 Pop Label 192.168.2.0/24 20 No Label 2005:17::/64[V] 21 No Label 2005:20::/64[V] 23 Pop Label 192.168.3.0/24 24 18 192.168.4.3/32
leden 2011
Bytes Label Switched 0 0 0 11760 6726 0 0
Outgoing Next Hop interface Se0/1/0 point2point Se0/1/0 point2point Se0/1/0 point2point aggregate/VRFA Fa0/1 2005:17::2 Se0/1/0 point2point Se0/1/0 point2point
14/22
RA - traceroute vrf VRFA 2005:21::200 V tomto výpise je zobrazena trasovací informace z VRF instance PE routeru (RA) až ke klientské stanici. Jako první je zobrazena adresa 192.168.1.2, která je ale opět namapovaná na IPv6 adresu. V závorce jsou pak vidět značky, se kterými byl paket odeslán. První značka (16) slouží pro přeposlání paketu na cílový PE router (RB) a druhá značka (22) pak identifikuje cílovou síť v rámci VRF instance tohoto routeru. Na druhém řádku je již uvedena IPv6 adresa PE routeru, na které běží VRF instance a podle značky (22) tento router již ví, do které cílové sítě paket směrovat. Třetí a čtvrtý řádek již neobsahují žádnou značku, protože za PE routery se již MPLS nepoužívá. RA#traceroute vrf VRFA 2005:21::200 Type escape sequence to abort. Tracing the route to 2005:21::200 1 2 3 4
::FFFF:192.168.1.2 [MPLS: Labels 16/22 Exp 0] 88 msec 88 msec 92 msec 2005:18::1 [MPLS: Label 22 Exp 0] 68 msec 68 msec 68 msec 2005:18::2 44 msec 44 msec 44 msec 2005:21::200 48 msec 64 msec 48 msec
RA - traceroute vrf VRFA 2005:21::300 Tento výpis je podobný předchozímu, pouze se zde trasuje cesta k druhé klientské stanici. Za povšimnutí stojí, že značka identifikující síť v rámci VRF instance PE routeru je stejná jako v předchozím případě (22), ale změnila se pouze značka určující cílový PE router (18). Tomuto totiž nic nebrání, neboť další router na cestě (RC) jako první paket přeposílá právě podle změněné značky (18) a na nezměněnou značku (22) se dívá až cílový PE router. Pro něj se tato značka, v rámci své konfigurace, jeví opět jako unikátní, a tedy ví, do jaké sítě bude paket směrovat. RA#traceroute vrf VRFA 2005:22::300 Type escape sequence to abort. Tracing the route to 2005:22::300 1 2 3 4
::FFFF:192.168.1.2 [MPLS: Labels 18/22 Exp 0] 36 msec 36 msec 36 msec 2005:19::1 [MPLS: Label 22 Exp 0] 36 msec 36 msec 32 msec 2005:19::2 20 msec 20 msec 20 msec 2005:22::300 24 msec 24 msec 24 msec
RA - traceroute vrf VRFA 2005:19::1 V posledním trasovacím výpise se trasuje cesta na rozhraní jednoho z PE routerů. Za povšimnutí stojí, že značka identifikující cílový PE router je stejná jako v předchozím trasovacím výpise (18), ale změnila se zde značka identifikující síť v rámci VRF instance PE routeru (21). Cílový PE router tedy bude směrovat paket do jiné sítě než v předchozím případě se značkou (22). RA#traceroute vrf VRFA 2005:19::1 Type escape sequence to abort. Tracing the route to 2005:19::1 1 ::FFFF:192.168.1.2 [MPLS: Labels 18/21 Exp 0] 36 msec 36 msec 36 msec 2 2005:19::1 24 msec 20 msec 20 msec
leden 2011
15/22
3.2 Router RB Výpisy konzole jsou stejné jako v případě RA, tudíž již nebudou slovně popsány.
RB - show ipv6 route vrf VRFB RB#show ipv6 route vrf VRFB IPv6 Routing Table - VRFB - 8 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 B 2005:17::/64 [200/0] via 192.168.4.1%Default-IP-Routing-Table, indirectly connected C 2005:18::/64 [0/0] via FastEthernet0/1, directly connected L 2005:18::1/128 [0/0] via FastEthernet0/1, receive B 2005:19::/64 [200/0] via 192.168.4.3%Default-IP-Routing-Table, indirectly connected B 2005:20::/64 [200/0] via 192.168.4.1%Default-IP-Routing-Table, indirectly connected S 2005:21::/64 [1/0] via 2005:18::2 B 2005:22::/64 [200/0] via 192.168.4.3%Default-IP-Routing-Table, indirectly connected L FF00::/8 [0/0] via Null0, receive
RB - show bgp vpnv6 unicast all labels RB#show bgp vpnv6 unicast all labels Network Next Hop Route Distinguisher: 1:1 (VRFB) 2005:17::/64 ::FFFF:192.168.4.1 2005:18::/64 :: 2005:19::/64 ::FFFF:192.168.4.3 2005:20::/64 ::FFFF:192.168.4.1 2005:21::/64 :: 2005:22::/64 ::FFFF:192.168.4.3
In label/Out label nolabel/20 21/nolabel(VRFB) nolabel/21 nolabel/21 22/nolabel nolabel/22
RB - show mpls forwarding-table RB#show mpls forwarding-table Local Outgoing Prefix Label Label or VC or Tunnel Id 16 Pop Label 192.168.4.4/32 18 Pop Label 192.168.1.0/24 19 17 192.168.4.1/32 20 Pop Label 192.168.3.0/24 21 No Label 2005:18::/64[V] 22 No Label 2005:21::/64[V] 24 18 192.168.4.3/32
leden 2011
Bytes Label Switched 0 0 0 0 23478 24626 0
Outgoing Next Hop interface Se0/1/0 point2point Se0/1/0 point2point Se0/1/0 point2point Se0/1/0 point2point aggregate/VRFB Fa0/1 2005:18::2 Se0/1/0 point2point
16/22
RB - traceroute vrf VRFB 2005:20::100 RB#traceroute VRF VRFB 2005:20::100 Type escape sequence to abort. Tracing the route to 2005:20::100 1 2 3 4
::FFFF:192.168.2.2 [MPLS: Labels 17/21 Exp 0] 88 msec 88 msec 88 msec 2005:17::1 [MPLS: Label 21 Exp 0] 68 msec 68 msec 68 msec 2005:17::2 44 msec 44 msec 44 msec 2005:20::100 44 msec 44 msec 48 msec
RB - traceroute vrf VRFB 2005:22::300 RB#traceroute VRF VRFB 2005:22::300 Type escape sequence to abort. Tracing the route to 2005:22::300 1 2 3 4
::FFFF:192.168.2.2 [MPLS: Labels 18/22 Exp 0] 36 msec 36 msec 36 msec 2005:19::1 [MPLS: Label 22 Exp 0] 36 msec 36 msec 36 msec 2005:19::2 24 msec 24 msec 24 msec 2005:22::300 24 msec 24 msec 24 msec
RB - traceroute vrf VRFB 2005:17::1 RB#traceroute VRF VRFB 2005:17::1 Type escape sequence to abort. Tracing the route to 2005:17::1 1 ::FFFF:192.168.2.2 [MPLS: Labels 17/20 Exp 0] 88 msec 92 msec 88 msec 2 2005:17::1 44 msec 44 msec 44 msec
leden 2011
17/22
3.3 Router RC Výpisy konzole jsou stejné jako v případě RA, tudíž již nebudou slovně popsány.
RC - show ipv6 route vrf VRFC RC#show ipv6 route vrf VRFC IPv6 Routing Table - VRFC - 8 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 B 2005:17::/64 [200/0] via 192.168.4.1%Default-IP-Routing-Table, indirectly connected B 2005:18::/64 [200/0] via 192.168.4.2%Default-IP-Routing-Table, indirectly connected C 2005:19::/64 [0/0] via FastEthernet0/1, directly connected L 2005:19::1/128 [0/0] via FastEthernet0/1, receive B 2005:20::/64 [200/0] via 192.168.4.1%Default-IP-Routing-Table, indirectly connected B 2005:21::/64 [200/0] via 192.168.4.2%Default-IP-Routing-Table, indirectly connected S 2005:22::/64 [1/0] via 2005:19::2 L FF00::/8 [0/0] via Null0, receive
RC - show bgp vpnv6 unicast all labels RC#show bgp vpnv6 unicast all labels Network Next Hop Route Distinguisher: 1:1 (VRFC) 2005:17::/64 ::FFFF:192.168.4.1 2005:18::/64 ::FFFF:192.168.4.2 2005:19::/64 :: 2005:20::/64 ::FFFF:192.168.4.1 2005:21::/64 ::FFFF:192.168.4.2 2005:22::/64 ::
In label/Out label nolabel/20 nolabel/21 21/nolabel(VRFC) nolabel/21 nolabel/22 22/nolabel
RC - show mpls forwarding-table RC#show mpls forwarding-table Local Outgoing Prefix Label Label or VC or Tunnel Id 16 Pop Label 192.168.4.4/32 21 No Label 2005:19::/64[V] 22 No Label 2005:22::/64[V] 23 16 192.168.4.2/32 24 17 192.168.4.1/32 25 Pop Label 192.168.2.0/24 26 Pop Label 192.168.1.0/24
leden 2011
Bytes Label Switched 0 570 1986 0 0 0 0
Outgoing Next Hop interface Fa0/0 192.168.3.2 aggregate/VRFC Fa0/1 2005:19::2 Fa0/0 192.168.3.2 Fa0/0 192.168.3.2 Fa0/0 192.168.3.2 Fa0/0 192.168.3.2
18/22
RC - traceroute vrf VRFC 2005:20::100 RC#traceroute vrf VRFC 2005:20::100 Type escape sequence to abort. Tracing the route to 2005:20::100 1 2 3 4
::FFFF:192.168.3.2 [MPLS: Labels 17/21 Exp 0] 52 msec 52 msec 56 msec 2005:17::1 [MPLS: Label 21 Exp 0] 36 msec 36 msec 36 msec 2005:17::2 20 msec 36 msec 24 msec 2005:20::100 56 msec 24 msec 24 msec
RC - traceroute vrf VRFC 2005:21::200 RC#traceroute vrf VRFC 2005:21::200 Type escape sequence to abort. Tracing the route to 2005:21::200 1 2 3 4
::FFFF:192.168.3.2 [MPLS: Labels 16/22 Exp 0] 56 msec 52 msec 52 msec 2005:18::1 [MPLS: Label 22 Exp 0] 36 msec 36 msec 36 msec 2005:18::2 24 msec 24 msec 24 msec 2005:21::200 32 msec 32 msec 32 msec
RC - traceroute vrf VRFC 2005:17::1 RC#traceroute vrf VRFC 2005:17::1 Type escape sequence to abort. Tracing the route to 2005:17::1 1 ::FFFF:192.168.3.2 [MPLS: Labels 17/20 Exp 0] 56 msec 52 msec 52 msec 2 2005:17::1 24 msec 24 msec 40 msec
leden 2011
19/22
4 Výpisy z programu WireShark Stanici se spuštěným wiresharkem jsme postupně připojili na dvě místa sítě. Nejprve mezi routery RC a RD a poté mezi routery RD a RG. Jak se dalo očekávat, tak mnohem zajímavější byl provoz mezi routery RC a RD, kde bylo možné v paketech vidět použité MPLS značky.
4.1 Linka mezi routery RD – RC Ping mezi stanicemi ve směru PC-A > PC-C V zachyceném paketu na obrázku 4 je vidět vložená MPLS hlavička obsahující značku 22. Tuto značku do paketu vložil PE router (RA), což přesně odpovídá záznamu ve výpise show bgp vpnv6 unicast all labels tohoto routeru. Tato značka slouží na PE routeru pro identifikaci sítě v rámci VRF instance a nasměrování paketu do správné sítě.
Obrázek 4: Ping z PC-A na PC-C
Ping mezi stanicemi ve směru PC-C > PC-A V zachyceném paketu na obrázku 5 směřujícím v opačném směru je situace o něco zajímavější. Zde jsou již v paketu dvě MPLS hlavičky. První z nich (bráno od spodu) obsahuje značku 21, která slouží, stejně jako v předchozím případě, pro identifikaci sítě v rámci VRF instance cílového PE routeru. Druhá hlavička se značkou 17 pak slouží pro transport MPLS a určuje tedy konkrétně cestu skrz páteř na příslušný PE router. Obě značky do paketu vložil PE routeru (RC) a jejich hodnoty odpovídají záznamům ve výpisech show bgp vpnv6 unicast all labels a show mpls forwarding-table tohoto routeru. MPLS hlavičky se do paketu vkládají systémem LIFO. Jako první tedy byla vložena značka 21 a jako druhá 17. Při průchodu sítí se pak MPLS hlavičky zpracovávají od té poslední. Jako první se tedy zpracuje hlavička ze značkou 17 a až potom hlavička ze značkou 21. Což odpovídá průchodu paketu sítí.
Obrázek 5: Ping z PC-C na PC-A
leden 2011
20/22
Ping mezi routery ve směru RF > RC V paketu na obrázku 6 je zachycen ping mezi rozhraními CE routeru (RF) a PE routeru (RC). I zde je vidět vložená MPLS hlavička obsahující značku 21. Tuto značku do paketu vložil PE router (RB).
Obrázek 6: Ping z CE (RF) na PE (RC) router
Ping mezi routery ve směru RC > RF V paketu na obrázku 7 je zachycen ping mezi rozhraními routerů v opačném směru. Zde jsou ale vidět již dvě MPLS hlavičky obsahující značky 22 a 16. Stejně jako v případě pingu mezi stanicemi PC-C a PC-A, i zde do paketu vložil obě hlavičky PE router (RC) a jejich význam a pořadí je také stejné.
Obrázek 7: Ping z PE (RC) na CE (RF) router
4.2 Linka mezi routery RD – RG Ping mezi stanicemi ve směru PC-A > PC-C Na obrázku 8 již není situace tak zajímavá jako na lince mezi routery RD a RC. Uvedeme si tedy pouze jeden zachycený paket. V něm již nejsou žádné MPLS hlavičky, protože se již jedná o linku, která je součástí VPN, a zde se již žádné značky neposílají. Ty se totiž zahazují na PE routerech a dále se již směruje pouze pomocí IP.
Obrázek 8: Ping z PC-A na PC-C
leden 2011
21/22
5 Ping mezi klientskými stanicemi Na závěr ještě uvedeme pár ukázek funkčních výpisů příkazu ping přímo z konzolí klientských stanic.
Ping mezi stanicemi ve směru PC-A > PC-B PING 2005:21::200(2005:21::200) 56 data bytes 64 bytes from 2005:21::200: icmp_seq=1 ttl=59 time=65.5 ms 64 bytes from 2005:21::200: icmp_seq=2 ttl=59 time=64.7 ms 64 bytes from 2005:21::200: icmp_seq=3 ttl=59 time=63.5 ms
Ping mezi stanicemi ve směru PC-A > PC-C PING 2005:22::300(2005:22::300) 56 data bytes 64 bytes from 2005:22::300: icmp_seq=2 ttl=59 time=33.6 ms 64 bytes from 2005:22::300: icmp_seq=3 ttl=59 time=33.5 ms 64 bytes from 2005:22::300: icmp_seq=4 ttl=59 time=33.6 ms
Ping mezi stanicemi ve směru PC-C > PC-B PING 2005:21::200(2005:21::200) 56 data bytes 64 bytes from 2005:21::200: icmp_seq=1 ttl=59 time=33.5 ms 64 bytes from 2005:21::200: icmp_seq=2 ttl=59 time=32.9 ms 64 bytes from 2005:21::200: icmp_seq=3 ttl=59 time=33.5 ms
6 Závěr V rámci této práce jsme navrhli vlastní síťovou topologii a v té jsme se pokoušeli vybudovat VPN spojení mezi klientskými stanicemi. Pro úspěšnou realizaci je nutné nejdříve vybudovat páteř, přes kterou se bude vytvářet VPN spojení. Jako páteř jsme vytvořili tzv. IPv4 MPLS mrak, ve kterém dochází k urychlenému směrování, jelikož směrování probíhá pomocí značek a nemusí se procházet směrovací tabulkou OSPF procesu. Na hraničních směrovačích MPLS mraku jsme nakonfigurovali VRF instance, které se využívají při budování a udržování VPN spojení. Aby bylo možné přenášet data přes MPLS mrak, museli jsme ještě na hraničních směrovačích nakonfigurovat směrovací protokol BGP. Takto jsme vytvořili VPN spojení klientů připojených do IPv6 sítě, kteří spolu mohou komunikovat přes páteřní IPv4 síť.
7 Použitá literatura [1] Cisco Systems, Inc., IPv6 VPN over MPLS. Dokument dostupný na URL: http://www.cisco.com/en/US/docs/net_mgmt/active_network_abstraction/3.6.6/mpls/guide/6ipv6.html
[2] Cisco Systems, Inc., Introduction to MPLS VPN Technology. Dokument dostupný na URL: http://www.cisco.com/en/US/docs/net_mgmt/vpn_solutions_center/1.2/provisioning/user/guide/VPN_UG1.html
[3] Cisco Systems, Inc., MPLS VPN-VRF CLI for IPv4 and IPv6 VPNs. Dokument dostupný na URL: http://www.cisco.com/en/US/docs/ios/mpls/configuration/guide/mp_vpn_ipv4_ipv6_ps6441_TSD_Products_Configuration_Guide_Chapter.html
[4] Cisco Systems, Inc., Implementing IPv6 VPN over MPLS. Dokument dostupný na URL: http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-ov_mpls_6vpe_ps6441_TSD_Products_Configuration_Guide_Chapter.html
leden 2011
22/22