Routing a ASN

Zde budeme shromažďovat dulezite poznámky k routingu. Routing realizujeme pomocí démona QUAGGA

Dokumentace Quaggy Implementace IPv6

Pro nahlížení do aktuální konfigurace dynamického routingu používáme aplikaci MRLG (Multi-Router Looking Glass) MRLG pro CZFree - http://sysifos.brevnov.czf/mrlg/ MRLG pro Internet - http://dionysus.spoje.net/mrlg/

ospfd (ipv4)

ospf filtry

OSPF filtry zabranuji šíření nežádoucích IP rozsahů do zbytku sítě (např. natované a jiné pomocné rozsahy)

router ospf redistribute connected metric-type 1 route-map just-cloud ... distribute-list net-cloud out connected access-list net-cloud permit 10.11.0.0/16 access-list net-cloud permit 10.34.0.0/16 access-list net-cloud permit 77.87.240.0/21 access-list net-cloud deny any route-map just-cloud permit 10 match ip address net-cloud

Pokud chceme vsechny connected routy sirit s volitelnou metrikou - napr. pouzivame u anycastu, kde chceme sirit jednu IP adresu z vice routeru:

redistribute connected metric 1000 route-map just-cloud

Nastaveni ospf router ID

Je nutne dodrzet tato pravidla:

Pokud ma router nejaky dummy interface, tak jako ospf router-id pouzijeme IP adresu dummy interface Pokud ma router vice linek a nema zaroven zadny dummy interface (napr. klientsky router u zakaznika se dvema linkama) pouzijeme jako ospf router-id IP adresu vnitrniho LAN rozhrani smerem k zakaznikovi NIKDY nepouzivame jako ospf router id IP adresu rozhrani, na ktere je zapnute ospf (typicky propojovavaci rozsahy mezi routery)

Nastaveni ospf filtru na mikrotiku

Dulezite udelat na vsech mikrotikach, ktere maji zapnute ospf

routing filter add chain=ospf-out prefix=10.0.0.0/8 prefix-length=8-32 action=accept routing filter add chain=ospf-out prefix=77.87.240.0/21 prefix-length=21-32 action=accept routing filter add chain=ospf-out action=reject

* Mikrotik RouterOS v7

odlisnosti v nastaveni ospf-out filtru od verze 7.x - ukazano na predchozim nastaveni:

routing/filter/rule/ add chain=OSPF-OUT disabled=no rule="if ( dst in 10.0.0.0/8 ) { accept }" routing/filter/rule/ add chain=OSPF-OUT disabled=no rule="if ( dst in 77.87.240.0/21 ) { accept }" routing/filter/rule/ add chain=OSPF-OUT disabled=no rule="if ( dst in 0.0.0.0/0 ) { reject }"

POZOR: Pokud chcete v mikrotiku z nejakeho duvodu zadat na pevno routu do 10.0.0.0/8 staticky, je potřeba upravit i ospf filtr, aby se tato staticka routa nesirila dal do site !! - tj. v prvnim pravidle zmenime /8 na nejmensi mozny rozsah napr. pouze brevnov.

routing filter add chain=ospf-out prefix=10.11.0.0/16 prefix-length=16-32 action=accept

Sireni default routy

Na hranicnim BGP routeru

Prikaz pro distribuci musi byt pred definici networku, jinak to nefunguje ..

router ospf ospf router-id 77.87.240.1 redistribute connected route-map just-cloud redistribute connected metric-type 1 redistribute static metric-type 1 default-information originate always metric-type 1 passive-interface eth0 passive-interface eth1 passive-interface eth2 passive-interface vlan3300 network 77.87.240.20/30 area 0 network 77.87.240.8/30 area 0

Pokud chceme sirit IP adresu routru jako default gateway do zbytku site (typicky na BGP routeru s full route, ktera nema zadanou default routu) pouzijeme prikaz

default-information originate always metric-type 1

Na jinem typu routeru

Toto predpokladá, že je default routa zadaná na příslušném routeru staticky

default-information originate metric-type 1

Telnet - VTYSH

Quaggu je doporučeno konfigurovat přímo bez editace konfiguračních souborů (a nutnosti následujícího restartu). Požít se k tomu dá buď připojení přes telnet na příslušný port démona:

Vyžaduje znalost hesla do terminálu (zjistit se dá přečtením z konfiguračního souboru)

127.0.0.1:2601 - zebra 127.0.0.1:2604 - ospfd 127.0.0.1:2605 - bgpd
root@veskrini:~# telnet localhost 2601 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Hello, this is Quagga (version 0.99.15). Copyright 1996-2005 Kunihiro Ishiguro, et al. User Access Verification Password:

Druhá možnost je použít příkaz VTYSH, který sjednocuje všechny konfigurace do jednoho shellu.

Před použitím příkazu VTYSH se ujistěte, že máte v souboru /etc/bash.bashrc přidanou řádku export VTYSH_PAGER=more

Na prikladu si ukazeme, jak pridat statickou routu bez nutnosti restartu quaggy:

1. pres sshcko vlezeme na router, kde chceme routu nastavovat 2. zavolane prikaz rw 3. zavolame prikaz vtysh

root@sysifos:~# vtysh Hello, this is Quagga (version 0.99.10). Copyright 1996-2005 Kunihiro Ishiguro, et al. sysifos# sysifos# configure terminal

Po zadani prikazu jsme v konfiguracnim rezimu

sysifos(config)#

chceme pridat do rozsahu subnet napr. 10.11.120.0/24 kterou budeme routovat pres router 10.11.6.236

sysifos(config)# ip route 10.11.120.0/24 10.11.6.236

Po zadani enter se zmena ihned projevi. pro kontrolu muzeme napsat prikaz

Na konec je potreba jeste zmenu ulozit do konfiguraku, aby se projevila i po restartu serveru.

sysifos(config)# exit sysifos# write file

terminal pak opustime dalsim napsanim prikazu exit

4. Zavolame prikaz ro

Pokud chceme jiz existujici routu zrusit, zadavame prikaz stejne, jenom pred prikaz pridame slovo no

sysifos(config)# no ip route 10.11.120.0/24 10.11.6.236

Výpis existujících rout

1. Pripojime se na terminal ospf:

root@sysifos:~# vtysh Hello, this is Quagga (version 0.99.10). Copyright 1996-2005 Kunihiro Ishiguro, et al. sysifos#

2. Zadame prikaz (pro volani prikazu show neni potreba zalogovani do konfiguracni urovne, tedy staci jen zalogovani pres telnet)

sysifos# show ip ospf database OSPF Router with ID (10.11.6.234) Router Link States (Area 0.0.0.0) Link ID ADV Router Age Seq# CkSum Link count 10.11.0.1 10.11.0.1 901 0x8000becb 0xc2ce 27 10.11.0.3 10.11.0.3 614 0x800033e9 0xa57c 5 10.11.0.4 10.11.0.4 1285 0x800030ad 0x8e4b 1 .... Net Link States (Area 0.0.0.0) Link ID ADV Router Age Seq# CkSum 10.11.6.234 10.11.6.234 1477 0x8000055a 0x4463 10.11.7.97 10.11.0.15 635 0x800005aa 0xa0cc 10.11.7.193 10.11.0.44 749 0x80000311 0x7f25 10.11.7.241 10.11.0.44 640 0x800003e5 0x87c5 10.11.8.2 10.11.0.5 1278 0x80000547 0x9712 10.11.9.18 10.11.0.22 1426 0x800004d4 0xf3f5 .... 10.34.0.1 10.34.0.1 539 0x800000b5 0x2709 E1 10.34.0.1/32 [[0x0]] 10.34.0.2 10.34.0.2 1127 0x80006f06 0x2846 E1 10.34.0.2/32 [[0x0]] 10.34.0.6 10.34.0.2 1127 0x800055f3 0x7224 E1 10.34.0.6/32 [[0x0]] 10.34.0.64 10.34.0.64 1306 0x80001522 0x1b15 E1 10.34.0.64/32 [[0x0]] 10.34.0.69 10.34.0.69 499 0x80000d30 0xc659 E1 10.34.0.69/32 [[0x0]] 10.34.0.70 10.34.0.70 1533 0x80001f5b 0x2ab6 E1 10.34.0.70/32 [[0x0]] 10.34.1.8 10.34.0.1 439 0x800000b5 0xab83 E1 10.34.1.8/29 [[0x0]] 10.34.4.192 10.34.0.1 459 0x800000b5 0xe382 E1 10.34.4.192/28 [[0x0]] 10.34.4.208 10.34.0.1 599 0x800000b5 0x81cb E1 10.34.4.208/29 [[0x0]] 10.34.5.32 10.34.0.1 479 0x80000066 0x9ea6 E1 10.34.5.32/28 [[0x0]] 10.34.6.0 10.34.0.2 1127 0x800055f3 0x6fa6 E1 10.34.6.0/25 [[0x0]] 10.34.6.240 10.34.0.2 1127 0x800055f3 0xa80c E1 10.34.6.240/28 [[0x0]] 10.34.7.0 10.34.7.1 141 0x80001f68 0xf2dd E1 10.34.7.0/25 [[0x0]] 10.34.12.0 10.34.7.1 141 0x80001f68 0xb893 E1 10.34.12.0/24 [[0x0]] ...

Co dělat když to nefunguje

Nejprve je potreba zapnout debugovani. Na zacatek konfiguraku ospfd.conf pridejte toto

debug ospf ism debug ospf zebra log file /tmp/ospf.log

Restartujte quaggu a proctete log. Pokud najdete hlasku, podobnou teto:

Ztracejí se OSPF routy

Pokud v logu najdeme tuto hlasku

2013/03/24 22:29:46 OSPF: can't setsockopt IP_ADD_MEMBERSHIP (fd 6, addr 10.11.11.41, ifindex 43, AllSPFRouters): No buffer space available; perhaps a kernel limit on # of multicast group memberships has been exceeded?

pak je problem v omezeni multicastu na routeru. Resenim je zvetsit limit na multicastove skupiny na routeru. Do pridejte nasledujici radku

net.ipv4.igmp_max_memberships=400

zadejte prikaz . Nyni by jiz vse melo opet fungovat

POZOR: Nezapomente opet po dokonceni debugovani zakomentovat prislusne radky v ospfd.conf !! Pokud na to zapomenete, je schopen log pretect a quagga se potom muze splasit !

BGP

Mapa site

Visuzalizace BGP peeru atp. - https://www.robtex.com/as

Poznamky k nastaveni BGP

http://www.velocityreviews.com/forums/t34285-how-to-configure-backup-route-with-bgp.html

http://blog.ioshints.info/2008/02/bgp-essentials-as-path-prepending.html

http://www.dslreports.com/faq/14664

http://wiki.nil.com/AS-path_prepending_%28technical_details%29

http://lg.de-cix.net/