Směrovací démon BIRD. CZ.NIC z. s. p. o. Ondřej Filip / IT10

Podobné dokumenty
BIRD Internet Routing Daemon

BIRD Internet Routing Daemon

Europen: IP anycast služba

Evoluce RTBH v NIX.CZ. Petr Jiran NIX.CZ IT17 Praha

PROJEKT FENIX Petr Jiran NIX.CZ. EurOpen.CZ VZ Měřín

Základní principy obrany sítě II. Michal Kostěnec CESNET, z. s. p. o.

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

Vývoj a fungování peeringu v IXP. Petr Jiran - NIX.CZ CTO CSNOG

Technologie počítačových sítí - ZS 2015/2016 Kombinované studium

Projekt VRF LITE. Jiří Otisk, Filip Frank

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu

Jiří Tic, TIC080 Lukáš Dziadkowiec, DZI016 VŠB-TUO. Typy LSA v OSPF Semestrální projekt: Směrované a přepínané sítě

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

Semestrální projekt do předmětu SPS

Firewall, mac filtering, address filtering, port forwarding, dmz. Ondřej Vojtíšek, Jakub Niedermertl

IPv6 na OpenWRT. 6. června Ondřej Caletka (CESNET, z.s.p.o.) IPv6 na OpenWRT 6. června / 17

Směrovací protokoly, propojování sítí

Projekt k předmětu Směrované a přepínané sítě. Ověření kompatibility implementací OSPF na Cisco IOS a Linuxu - různé typy oblastí

IPv6 v OpenWRT. Ondřej Caletka. 5. října Uvedené dílo podléhá licenci Creative Commons Uveďte autora 3.0 Česko.

Technologie počítačových sítí - LS 2016/2017. Případová studie příklady syntaktických konstruktů Cisco IOS pro jednotlivé části případové studie.

Počítačové sítě ZS 2005/2006 Návrh sítě zadání

Stav IPv4 a IPv6 v České Republice

Jak vylepšujeme DNS infrastrukturu pro.cz? Zdeněk Brůna

Směrování. static routing statické Při statickém směrování administrátor manuálně vloží směrovací informace do směrovací tabulky.

5. Směrování v počítačových sítích a směrovací protokoly

Praktikum Směrování Linux

X36PKO Úvod Protokolová rodina TCP/IP

Jak se měří Internet

Route reflektory protokolu BGP

Nové LSA v topologické databází OSPFv3

Site - Zapich. Varianta 1

Počítačové sítě 1 Přednáška č.5

Budování sítě v datových centrech

Propojujeme nejen český internet. Martin Semrád. #InstallFest Praha,

Počítačové sítě I LS 2004/2005 Návrh a konstrukce sítě zadání

Implementace protokolu IPv6 v síti VŠE a PASNET. Ing. Miroslav Matuška Ing. Luboš Pavlíček

Dual-stack jako řešení přechodu?

Testy kompatibility BGP a OSPF mezi Cisco a Mikrotik

Semestrální projekt do SPS. Směrování pomocí MPLS v operačním systému linux

32-bitová čísla Autonomních Systémů v protokolu BGP

BEZTŘÍDNÍ SMĚROVÁNÍ, RIP V2 CLASSLESS ROUTING, RIP V2

Jak se měří Internet

Ladislav Pešička KIV FAV ZČU Plzeň

Nasazení protokolu IPv6 v prostředí univerzitní sítě VŠB-TU Ostrava

Stavba operačního systému

Projekt Turris Ondřej Filip 23 října 2014 CIF Praha

3 Prefix suppression v OSPFv3... 7

BGP dampening. Pavel Juška, Lukáš Kořistka

Počítačové sítě IP routing

32-bitová čísla Autonomních Systémů v protokolu BGP

Internetworking security

Směrované a přepínané sítě

BGP utility. Michael Waligora

OpenVPN. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) OpenVPN 3. března / 16

Semestrální práce z předmětu KIV/PD

Inovace bakalářského studijního oboru Aplikovaná chemie

Směrované a přepínané sítě Border Gateway Protocol (BGP)

Obsah. O sdružení Profil sdružení 4 Poslání sdružení 4 Historický vývoj 6 Datový tok 6 Slovo předsedy představenstva 8 Slovo ředitele sdružení 9

Dodávka nových switchů a jejich integrace do stávající IT infrastruktury inspektorátu SZPI v Praze

IPv6 VPN přes IPv4 MPLS páteř

Pravidla pro připojení do projektu FENIX

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Počítačové sítě II. 13. Směrování Miroslav Spousta,

VŠB Technická univerzita Ostrava Fakulta elektroniky a informatiky. Semestrální práce. BGP Routing Registry - principy a využití Zdeněk Nábělek

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

Konfigurace IPv6. A7B36PSI Počítačové sítě A7B36SPS Správa počítačových sítí X36MTI Moderní technologie internetu X36LOS Lokální sítě

Virtualizace síťových prvků

Internet se skládá ze o Segmentů, kde jsou uzly propojeny např. pomocí Ethernetu, Wi-Fi, atd. a tvoří autonomní oblasti 10.1.x.x x.x Atd.

Použití Virtual NAT interfaces na Cisco IOS

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL

Typická využití atributu Community protokolu BGP - modelové situace

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

OSPF - dynamické routování

OpenVPN a dynamické směrování

The Locator/ID Separation Protocol (LISP)

WireGuard. nová a jednoduchá linuxová VPN. Petr Krčmář. 3. listopadu 2018

Linux (nejen) v Low End routerech

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Téma 11: Firewall v CentOS. Nastavení firewallu

Směrování. 4. Přednáška. Směrování s částečnou znalostí sítě

Rozvoj IPv6 v České republice. Daniel Suchý NIX.CZ, z.s.p.o.

DoS útoky v síti CESNET2

Firemní aplikace pro nástěnný ovladač AMR-OP60. Aplikace disponuje automatickým přepínáním zobrazení vnitřní / venkovní teploty.

Řešení jádra sítě ISP na otevřených technologiích

Základy IOS, Přepínače: Spanning Tree

Služby správce.eu přes IPv6

Technologie počítačových sítí AFT NAT64/DNS64. Bc. Lumír Balhar (BAL344), Bc. Petr Kadlec (KAD0019)

OSPFv3 popis principů funkce, praktické ověření a sledování provozu, se zaměřením na interpretaci smyslu nových typů LSA

Projekt. Howto VRF/VPN na CISCO routerech v. 2. Zpracoval:BU KOVÁ Dagmar, BUC061

Jak funguje SH Síť. Ondřej Caletka

XMW3 / IW3 Sítě 1. Štefan Pataky, Martin Poisel YOUR LOGO

Demo: Multipath TCP. 5. října 2013

Zálohujeme připojení k IPv6 Internetu Radek Zajíc LinuxDays, 7. října 2017


Nezávislé unicast a multicast topologie s využitím MBGP

Počítačové sítě II. 13. Směrování. Miroslav Spousta, 2004

MPLS Penultimate Hop Popping

Vnější směrovací protokoly

Nasazení IPv6 v síti poskytovatele obsahu

Transkript:

Směrovací démon BIRD CZ.NIC z. s. p. o. Ondřej Filip / ondrej.filip@nic.cz 8. 6. 2010 IT10 1

Směrování a forwarding Router - zařízení připojené k více sítím Umí přeposlat cizí zprávu - forwarding Cestu pozná podle směrovací (routovací) tabulky Sestavování routovací tabulky routing Statické Dynamické Interní - uvnitř AS rychlé, důvěřivé, přesné RIP, OSPF Externí (mezi AS, pomalé, filtering, přibližné pouze BGP 2

Rozdělení směrovacích protokolů AS 2 RIP AS 1 OSPF BGP BGP BGP AS 3 static 3

Směrovací démon Na Linuxu (a ostatních UNIXech) uživatelská aplikace mimo jádro, forwarding v jádře Obvykle implementuje více směrovacích protokolů Směrovací politika - filtrování Quagga (Zebra) Cisco syntax http://www.quagga.net OpenBGPd - http://www.openbgpd.org GateD zastaralý, ne volná licence BIRD 4

Historie projektu Start projektu v roce 1999 Seminární projekt MFF UK Praha Projekt uspán Drobné probuzeni v letech 2003 a 2006 (CESNET) Plně obnoveno na přelomu 2008/2009 v rámci Laboratoří CZ.NIC - http://labs.nic.cz 5

Cíle projektu Opensource směrovací démon alternativa k tehdejšímu démonu Quagga/Zebra (GateD) Rychlý a efektivní Portabilní, modulární Podpora současných směrovacích protokolů IPv6 a IPv4 v jednom zdrojovém kódu (dvojí překlad) Snadná konfigurace a rekonfigurace (!) Silný filtrovací jazyk 6

Vlastnosti Portabilní Linux, FreeBSD, NetBSD, OpenBSD Podpora IPv4 i IPv6 Static, RIP, OSPF, BGP - Route reflektor, Směrovací server (Route server) ASN32 (ASPLAIN), MD5 Více směrovacích tabulek (RIBs) (interně, ale také synchronizace s OS, pokud to podporuje) Protokol PIPE (!) Více směrovačů, route serverů a pod. na 1 systému Efektivní, silná konfigurace, Silný jazyk pro filtrování Příkazová řádka (show, restart,...) 7

Design 8

Příklad konfigurace log "/var/log/bird.log" all; router id 193.51.100.238; protocol static { route 10.0.0.0/8 drop; route 172.16.0.0/12 drop; route 192.168.0.0/16 drop; } filter bgp_out { if (net = 192.175.48.0/24 ) && (source = RTS_DEVICE) then accept; else reject; } protocol bgp NIX_1 { local as 112; neighbor 193.51.100.235 as 6981; import all; export filter bgp_out; } 9

Příkazová řádka bird> show route 10.0.0.0/8 via 200.30.10.3 on eth2 [ospf1 13:10] E2 (150/5/1000) 127.0.0.0/8 dev lo [direct1 13:09] (240) 200.30.20.0/24 via 200.30.10.3 on eth2 [ospf1 13:10] I (150/10) 200.30.10.0/24 dev eth2 [direct1 13:09] (240) dev eth2 [ospf1 13:10] I (150/5) 200.0.10.0/24 dev eth0 [direct1 13:09] (240) dev eth0 [ospf1 13:09] I (150/5) 172.16.0.0/16 via 200.30.10.3 on eth2 [ospf1 13:10] E2 (150/5/1000) 195.47.235.0/24 via 194.50.100.246 on eth1 [NIX2 Apr11] (100)[AS688i] via 194.50.100.245 on eth1 [NIX1 Apr25] (100)[AS688i] bird> bird> show route protocol ospf1 10.0.0.0/8 via 200.30.10.3 on eth2 [ospf1 13:10] E2 (150/5/1000) 200.30.20.0/24 via 200.30.10.3 on eth2 [ospf1 13:10] I (150/10) 200.30.10.0/24 dev eth2 [ospf1 13:10] I (150/5) 200.0.10.0/24 dev eth0 [ospf1 13:09] I (150/5) 172.16.0.0/16 via 200.30.10.3 on eth2 [ospf1 13:10] E2 (150/5/1000) 10

Příkazová řádka bird> show route for 127.0.0.1 127.0.0.0/8 dev lo [direct1 13:09] (240) bird> show route filter bgp_out 192.175.48.0/24 dev dummy0 [direct1 Apr1] (240) bird> show route count 1469 of 1469 routes for 849 networks bird> show route export NIX_1 192.175.48.0/24 dev dummy0 [direct1 Apr1] (240) bird> show route where 127.0.0.5 ~ net 0.0.0.0/0 via 195.47.235.1 on eth0 [static1 Apr1](200) 127.0.0.0/8 dev lo [direct1 Apr1] (240) bird> show route filter {if 127.0.0.5 ~ net then accept;} 0.0.0.0/0 via 195.47.235.1 on eth0 [static1 Apr1](200) 127.0.0.0/8 dev lo [direct1 Apr1] (240) 11

BIRD vs Quagga vs OpenBGPd Import plné IPv4 BGP tabulky ~300k položek Porovnání na Linuxu Více měření Spotřeba CPU (CPU time, sec) a paměti (MB) Test 1 se synchronizací s směrovací tabulkou OS (Quagga - bgpd+zebra) Test 2 bez synchronizace (i OpenBGPd) 12

BIRD vs Quagga vs OpenBGPd Test 1 Daemon Memory (MB) CPU (sec) Zebra 90 + 77 = 167 32 + 120 = 152 BIRD 30 14 Test 2 Daemon Memory (MB) CPU (sec) Zebra 87 30 BIRD 30 7 OpenBGP 33 + 18 = 51 10 + 7 = 17 13

Příklad filtru function avoid_martians() prefix set martians; { martians = [ 169.254.0.0/16+, 172.16.0.0/12+, 192.168.0.0/16+, 10.0.0.0/8+, 224.0.0.0/4+, 240.0.0.0/4+, 0.0.0.0/32-, 0.0.0.0/0{25,32}, 0.0.0.0/0{0,7} ]; # Avoid RFC1918 networks if net ~ martians then return false; } return true; 14

Příklad filtru - Quagga ip prefix-list avmart seq 10 deny 169.254.0.0/16 le 32 ip prefix-list avmart seq 20 deny 172.16.0.0/12 le 32 ip prefix-list avmart seq 30 deny 192.168.0.0/16 le 32 ip prefix-list avmart seq 40 deny 10.0.0.0/8 le 32 ip prefix-list avmart seq 50 deny 224.0.0.0/4 le 32 ip prefix-list avmart seq 60 deny 240.0.0.0/4 le 32 ip prefix-list avmart seq 70 deny 0.0.0.0/0 le 7 ip prefix-list avmart seq 80 deny 0.0.0.0/0 ge 25 ip prefix-list avmart seq 90 permit any 15

Příklad filtru - OpenBGPd # filter bogus networks allow from any prefixlen 8 24 deny from any prefix 0.0.0.0/0 deny from any prefix 10.0.0.0/8 prefixlen >= 8 deny from any prefix 172.16.0.0/12 prefixlen >= 12 deny from any prefix 192.168.0.0/16 prefixlen >= 16 deny from any prefix 169.254.0.0/16 prefixlen >= 16 deny from any prefix 192.0.2.0/24 prefixlen >= 24 deny from any prefix 224.0.0.0/4 prefixlen >= 4 deny from any prefix 240.0.0.0/4 prefixlen >= 4 16

Příklad filtru function asmatch() int set asnums; { asnums = [ 11111, 22222, 33333, 44444, 55555, 66666, 77777, 88888, 99999, 100..200 ]; # Check originating AS number if bgp_path.last ~ asnums then return true; } return false; 17

IXP bez route serveru 18

IXP s route serverem 19

Router server Route server snížení počtu BGP relací Každý člen IXP n-1 BGP relací - celkem n*(n-1)/2 Nutnost konfigurace s každým novým členem Zátěž CPU routeru Řešením je route server všichni jsou pouze připojeni k RS 1 relace na router n celkem RS musí skrýt svou existenci Kvalitní filtrování tisíce položek Ačkoliv jsou všichni propojeni k route serveru, nemusí všichni být propojeni se všemi signalizace RS Kvalita RS, efektivita RS 20

Příklad filtru router server Politika route serveru - NIX.CZ Pořadí Komunita Akce 1 0:<peer-as> Nepropaguj routu <peer-as> 2 47200:<peer-as> Propaguj routu <peer-as> 3 0:47200 Nepropaguj nikomu 4 47200:47200 Propaguj všem 21

Příklad filtru router server Každý ISP zapojený do route serveru neztrácí svobodu definice své vlastní směrovací politiky Příklad 1 chci posílat svou síť pouze CZ.NICu 10.0.0.0/8 community 47000:25192, 0:47000 Příklad 2 chci posílat všem krom CZ.NICu 10.0.0.0/8 community 0:25192, 47200:47200 22

Router server - Quagga ip community-list standard C-0-10001 permit 0:10001 ip community-list standard C-0-47200 permit 0:47200 ip community-list standard C-47200-10001 permit 47200:10001 route-map Policy10001 deny 10 match community C-0-10001! route-map Policy10001 permit 20 match community C-47200-10001! route-map Policy10001 deny 30 match community C-0-47200! route-map Policy10001 permit 40! 23

Příklad filtru route server define myas = 47200; function bgp_out(int peeras) { if! (source = RTS_BGP ) then return false; if (0,peeras) ~ bgp_community then return false; if (myas,peeras) ~ bgp_community then return true; if (0, myas) ~ bgp_community then return false; return true; } protocol bgp R25192x1 { local as myas; neighbor 194.50.100.13 as 25192; import where bgp_in(25192); export where bgp_out(25192); rs client; } 24

BIRD jako route server BGP AS111 Peer 1 R111x1 AS111 RT T111 Pipe AS111 in/out filter P111 BGP AS 111 Peer 2 R111x2 Master RT Pipe AS333 in/out filter P333 BGP AS 222 Single peer R222x1 AS222 RT T222 Pipe AS222 in/out filter P222 BGP AS 333 Peer 1 R333x1 AS333 RT T333 BGP AS 333 Peer 2 R333x2 BGP AS 333 Peer 3 R333x3 25

Nasazení BIRDa Detaily na RIPE60 PAIX - (PAO, SEA, CHI, DAL, NYC, ATL, TOR, TYS) 26

Ocenění 27

Jiné aplikace AS112 server v NIX.CZ BGP/OSPF router u menších ISP Router pro některé anycastové uzly CZ.NICu Používán v malých embedded systémech součást firmware některých WiFI AP (OpenWRT) Součást analyzátoru BGP tabulek 28

Budoucí vývoj Nová verze cca jednou měsíčně Nové webové stránky IPv6 Route advertisement Lightweight CLI (OpenWRT) Route flap dampening Solaris (CZ.NIC DNS anycasting)... Záleží na přáních uživatelů 29

Závěr Český projekt ale pro celosvětovou komunitu kvalitní dokumentace v AJ Alternativa k dnes nejrozšířenějšímu démonu Quagga Efektivní, mocný filtrovací jazyk Nasazen v nejdůležitějších centrech Internetu Jeden z OpenSource projektů Laboratoří CZ.NIC příspěvek ke stabilitě a rozvoji Internetu 30

Dotazy? Děkuji za pozornost! http://labs.nic.cz 31