Difference between revisions of "Cisco Routing"

From HackerNet
Jump to: navigation, search
m
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
Kolla routingprocesser
+
För dynamiska routingprotokoll se: [[Cisco_BGP|BGP]], [[Cisco_OSPF|OSPF]], [[Cisco_EIGRP|EIGRP]], [[Cisco_IS-IS|IS-IS]] och [[Cisco_RIP|RIP]]. Se även: [[Cisco_PfR|Cisco PfR]] och [[Cisco_PE-CE|Cisco PE-CE]].
 +
 
 +
===RIB===
 +
Kolla routingprocesser som kan populera RIB.
 
  show ip protocol summary
 
  show ip protocol summary
För routingprotokoll se: [[Cisco_BGP|BGP]], [[Cisco_OSPF|OSPF]], [[Cisco_EIGRP|EIGRP]], [[Cisco_IS-IS|IS-IS]], [[Cisco_RIP|RIP]]. Se även: [[Cisco_PfR|Cisco PfR]] och [[PE-CE_Routing|PE-CE Routing]].
+
 
 +
IOS har en inbyggd funktion för att profilera RIBen dvs kolla hur mycket som ändras i den över tid.
 +
ip route profile
 +
show ip route profile
  
 
Med debug kan man se det mesta som rör routingtabellen. Bör ej användas i produktionsmiljöer.
 
Med debug kan man se det mesta som rör routingtabellen. Bör ej användas i produktionsmiljöer.
 
  debug ip routing ?
 
  debug ip routing ?
  
==Floating Static Route==
+
==Static Routes==
 +
Man kan konfigurera statiska routes med både forwarding address och outgoing interface. Däremot installeras inga recursive static routes default i RIB, detta ändras med '''ip route static install-routes-recurse-via-nexthop'''.
 +
* '''Next-hop IP:''' routen är giltig sålänge det finns en route för next-hop value.
 +
* '''Outgoing interface:''' routen är giltig sålänge som interfacet är UP/UP.
 +
* '''Both next-hop value and outgoing interface:''' routen är giltig sålänge som next-hop value är reachable över det specificerade interfacet.
 +
ip route 0.0.0.0 0.0.0.0 Gi0 10.10.3.4
 +
 
 +
'''Floating'''
 
  ip route 172.16.10.0 255.255.255.0 10.10.20.2 '''210'''
 
  ip route 172.16.10.0 255.255.255.0 10.10.20.2 '''210'''
 +
 +
Verify
 +
show ip static route
 +
 +
'''VRF,''' default tillåts static routes att peka på interface i andra VRF:er.
 +
ip route static inter-vrf
 +
 +
=IPv6=
 +
EUI-64
 +
interface Gi0
 +
  ipv6 address 2001:2:3:4::/64 eui-64
 +
 +
'''ULA''' <br/>
 +
Unique Local Address (RFC 4193) är motsvarigheten till IPv4 RFC 1918. Adressblocket är FC00::/7.
 +
 +
'''Router Advertisments'''
 +
interface gi2
 +
  ipv6 nd ra lifetime 1800
 +
  ipv6 nd ra interval 200
 +
Man kan annonsera prefix med ND RA men hostar får ej använda det för auto-config.
 +
ipv6 nd prefix 2000::/64 14400 no auto-config
 +
 +
OBS RA har AD 1 vilket kan därmed trumfa routingprotokoll.
 +
 +
Verify
 +
show ipv6 interface gi2 prefix
 +
 +
=VRF=
 +
Man kan se VRF:er som virtuella routrar fast med delat management. VRF:er utan [[Cisco_MPLS|MPLS]] kallas VRF Lite.
 +
show vrf
 +
show cef vrf
 +
Konfiguration
 +
vrf upgrade-cli multi-af-mode common-policies
 +
show vrf detail | i CLI
 +
Kolla vilka interface som tillhör vilken vrf.
 +
show ip vrf interfaces
 +
Man kan i EXEC mode hoppa mellan vrf:er och kommandon som ''show ip route'' visar då den aktuella RIB:en.
 +
routing-context vrf Cust-A
 +
 +
'''Import/Export''' <br/>
 +
Det går att styra vad och vilken community som ska sättas på det som ska importeras och exporteras med hjälp av route-maps.
 +
 +
ip prefix-list Cust-A_DENY seq 5 permit 172.20.0.0/24
 +
 +
route-map Cust-A_EXPORT deny 10
 +
  match ip address prefix-list Cust-A_DENY
 +
route-map Cust-A_EXPORT permit 20
 +
 +
ip vrf Cust-A
 +
  export map Cust-A_EXPORT
 +
 +
'''VRF Selection''' <br/>
 +
Man kan styra på IP vilken VRF som paket ska hamna i men detta är varken skalbart eller smidigt.
 +
vrf selection source 172.16.1.0 255.255.255.0 vrf VRF1
 +
vrf selection source 0.0.0.0 0.0.0.0 vrf VRF2
 +
 +
interface gi2
 +
  ip vrf select source
 +
  ip vrf receive VRF1
 +
  ip vrf receive VRF2
  
 
=IP SLA=
 
=IP SLA=
IP SLA låter en enhet ligga och mäta response time, latency, jitter, packet loss eller bara connectivity mot en punkt för att utifrån konfigurerbara tröskelvärden fatta routingbeslut. T.ex. om primär WAN gateway ner automatiskt slå över till sekundär gateway.  
+
IP SLA låter en enhet mäta och hålla koll på response time, latency, jitter, packet loss eller bara connectivity mot en punkt utifrån konfigurerbara tröskelvärden. Enheten kan sedan låta andra processer tracka detta och fatta routingbeslut utifrån det. T.ex. om primär WAN gateway går ner slå automatiskt över till sekundär gateway. IP SLA kan också använda MD5-autentisering, detta konfigureras med '''ip sla key-chain'''.
  ip sla monitor 10
+
  ip sla 1
  ip sla schedule 10 life forever start-time now
+
  icmp-echo 100.0.0.20 source-interface GigabitEthernet1
 +
  threshold 2000
 +
  timeout 2000
 +
  frequency 5
 +
  ip sla schedule 1 life forever start-time now
 +
Verify
 +
show ip sla 1
 +
show ip sla configuration
 +
show ip sla statistics
  
Tracking kan användas av [[Cisco_HSRP#Tracking|HSRP]].
+
===Tracking===
track 10 ip sla 10 reachability
+
För att andra processer ska kunna utnyttja IP SLA binder man IP SLA-objekten via tracking-processen. Tracking kan göras med [[Cisco_IOS#CDP|CDP]] och IP SLA och polling interval går att konfigurera globalt med '''track timer'''. Tracking kan t.ex. användas av [[Cisco_HSRP#Tracking|HSRP]].
  
 +
Object Tracking
 +
* Interface IP or line-protocol: Track either the line-protocol (up/down) or the presence of an IP address.
 +
* IP route: Track a route present in the routing table.
 +
* IP SLA: Track an IP SLA object.
 +
Man kan även använda en lista för att kombinera flera track objects baserat på vikt/procent eller boolean AND/OR.
 +
track 10 ip sla 1 state
 
  ip route 0.0.0.0 0.0.0.0 10.10.10.2 track 10
 
  ip route 0.0.0.0 0.0.0.0 10.10.10.2 track 10
ip route 0.0.0.0 0.0.0.0 10.10.10.6
+
Verify
 
  show ip route track-table
 
  show ip route track-table
 
Verify
 
show rtr config
 
show rtr statistics
 
show ip sla 10
 
 
Track
 
 
  show track timers
 
  show track timers
 
  show track brief
 
  show track brief
 +
show track resolution
 
  debug track
 
  debug track
Tracking kan göras med [[Cisco_IOS#CDP|CDP]] och IP SLA.
 
  
 
=PBR=
 
=PBR=
 +
Policy routing låter routern forwardera trafik baserat på konfigurerbara kriterier utan att använda routingtabellen. Om trafik inte träffas av någon entry i route-map används routingtabellen som vanligt. Vill man ha drop-beteende med PBR kan man använda '''set interface Null0'''.
 +
 +
PBR prioriterar set-kommandona i följande ordning:
 +
# Next-hop
 +
# Next-hop recursive
 +
# Interface
 +
# Default next-hop
 +
# Default interface
 +
 +
Konfigurationsexempel
 
  access-list 1 permit 192.168.1.10  
 
  access-list 1 permit 192.168.1.10  
  access-list 2 permit 192.168.1.20  
+
  access-list 2 permit 192.168.1.20
  interface Gi0/0
+
   
  ip policy route-map TEST
 
 
  route-map TEST permit 10  
 
  route-map TEST permit 10  
 
   match ip address 1  
 
   match ip address 1  
   set ip next-hop 10.10.10.2  
+
   set ip next-hop 10.10.10.2
 
  route-map TEST permit 20  
 
  route-map TEST permit 20  
 
   match ip address 2  
 
   match ip address 2  
   set ip next-hop 10.10.10.6
+
   set ip next-hop 10.10.10.60
 +
 +
interface Gi0/0
 +
  ip policy route-map TEST
 +
 +
show ip policy
 +
 
 +
'''Recursive''' <br/>
 +
PBR Recursive Next Hop feature låter route-maps konfigureras med next-hops som inte är directly reachable via något interface. Dessa installeras då i routingtabellen och gör att man kan dra nytta av CEF load sharing. Om next-hop IP inte är möjlig att resolva så går paketen på default routen. Med IPv6 fungerar det men stödjer ej load sharing.
 +
set ip next-hop recursive 10.10.10.2
  
 
'''Default''' <br/>
 
'''Default''' <br/>
Line 49: Line 147:
 
   match ip address 1
 
   match ip address 1
 
   set ip default next-hop 10.0.0.10
 
   set ip default next-hop 10.0.0.10
''Stöds ej med Fast-switched PBR.''
+
 
 +
'''VRF''' <br/>
 +
Man kan med hjälp av en route-map ta in viss trafik i en annan vrf än det som interfacet tillhör. De kommandon som sätter vrf-tillhörighet har företräde över de andra ''set interface, next-hop'' etc.
 +
route-map VRF permit 10
 +
  match ip address 10
 +
  set ip vrf <name>
  
 
'''Continue''' <br/>
 
'''Continue''' <br/>
Vanligtvis är en route-map first match based men vill man ändra det kan man använda '''continue''' för att hoppa vidare till nästa entry.  
+
Vanligtvis är en route-map first match only men vill man ändra det kan man använda '''continue''' för att hoppa vidare till nästa entry.  
  
 
  route-map TEST permit 10  
 
  route-map TEST permit 10  
Line 61: Line 164:
 
   set ip next-hop 10.10.10.2
 
   set ip next-hop 10.10.10.2
 
OBS funkar inte med redistribution.
 
OBS funkar inte med redistribution.
 
'''VRF''' <br/>
 
Man kan med hjälp av en route-map ta in viss trafik i en annan vrf än det som interfacet tillhör.
 
match ip address 10
 
set ip vrf <name>
 
  
 
===Local Policy Routing===
 
===Local Policy Routing===
LPR påverkar trafik genererad av routern själv.
+
LPR påverkar trafik genererad av routern själv och konfigureras globalt.
 
+
  ip local policy route-map ROUTE-MAP
Fast-switched PBR
 
  interface gi2
 
  ip route-cache policy
 
 
 
 
  show ip local policy
 
  show ip local policy
  
 
===Reliable PBR===
 
===Reliable PBR===
ip sla monitor 10
+
IP SLA och Enhanced Object Tracking
  icmp-echo 192.168.0.1
+
  route-map POLICY_ROUTING permit 10
  timeout 1000
+
   set ip next-hop verify-availability 100.0.1.5 1 track 1
  frequency 3
 
ip sla schedule 10 life forever start-time now
 
track 10 rtr 10 reachability
 
show ip sla statistics details
 
 
 
access-list 100 permit icmp any host 192.168.0.1 echo
 
  route-map GW1 permit 10
 
  match ip address 100
 
   set ip next-hop 10.10.3.4
 
  exit
 
ip local policy route-map GW1
 
  
set ip next-hop verify-availability
+
CDP, reachability verifieras genom att kolla att det finns någon [[Cisco_IOS#CDP|CDP]]-granne som har 100.0.1.5. Detta går också att använda ihop med ''set ip default next-hop''. Alla kommandon som ändrar routing programmeras i hårdvara utom ''set ip next-hop verify availability'' eftersom CDP-info ej finns i linecards.
  set ip default next-hop 155.1.146.4
+
  route-map POLICY_ROUTING permit 20
 
+
  set ip next-hop 100.0.1.5
ip route 0.0.0.0 0.0.0.0 10.10.3.4 track 10
+
  set ip next-hop verify-availability
ip route 0.0.0.0 0.0.0.0 10.10.4.4 254
 
  
 
=Others=
 
=Others=
 
'''On-demand routing''' <br/>
 
'''On-demand routing''' <br/>
ODR är ett slags simpelt routingprotokoll som har administrative distance 160. Det använder CDP som bärare för uppdateringarna så fungerande CDP är ett prereq. ODR har stöd för det grundläggande som filtrering, redistribution, timers och passiva interface.
+
ODR är ett slags simpelt routingprotokoll som har administrative distance 160. Det använder CDP som bärare för uppdateringarna så fungerande CDP är ett prereq. ODR har stöd för det grundläggande som filtrering, redistribution, timers och passiva interface. Inga ändra routingprotokoll bör köras.
 
  router odr
 
  router odr
 
   network 0.0.0.0
 
   network 0.0.0.0
 
+
Verify
 
  show ip protocols
 
  show ip protocols
 
  show ip route odr
 
  show ip route odr
  
'''Backup Interface'''
+
'''Backup Interface''' <br/>
 +
Det primära interfacet bör vara ett point-to-point interface annars kan inte up/down status avgöras. Backup interfacet får ej vara ett subinterface eftersom dess state avgörs av main interfacet.
 
  interface gi2
 
  interface gi2
 
   backup interface gi4
 
   backup interface gi4
 
   backup delay 3 60  
 
   backup delay 3 60  
+
Verify
 
  show backup
 
  show backup
  
Line 117: Line 200:
 
En router kan hitta en gateway router med hjälp av ICMP Router Discovery Protocol. IRDP skickar ut ICMP Router Advertisement (ICMP type 9 packets) på subnätet för att informera om att det finns en potentiell gateway. Detta funkar endast om IP routing och proxy ARP är avslaget på enheterna som tar emot ICMP RA.  
 
En router kan hitta en gateway router med hjälp av ICMP Router Discovery Protocol. IRDP skickar ut ICMP Router Advertisement (ICMP type 9 packets) på subnätet för att informera om att det finns en potentiell gateway. Detta funkar endast om IP routing och proxy ARP är avslaget på enheterna som tar emot ICMP RA.  
 
  ip subnet-zero
 
  ip subnet-zero
 +
show ip irdp
  
 
'''IP Event Dampening'''
 
'''IP Event Dampening'''

Latest revision as of 11:03, 26 January 2017

För dynamiska routingprotokoll se: BGP, OSPF, EIGRP, IS-IS och RIP. Se även: Cisco PfR och Cisco PE-CE.

RIB

Kolla routingprocesser som kan populera RIB.

show ip protocol summary

IOS har en inbyggd funktion för att profilera RIBen dvs kolla hur mycket som ändras i den över tid.

ip route profile
show ip route profile

Med debug kan man se det mesta som rör routingtabellen. Bör ej användas i produktionsmiljöer.

debug ip routing ?

Static Routes

Man kan konfigurera statiska routes med både forwarding address och outgoing interface. Däremot installeras inga recursive static routes default i RIB, detta ändras med ip route static install-routes-recurse-via-nexthop.

  • Next-hop IP: routen är giltig sålänge det finns en route för next-hop value.
  • Outgoing interface: routen är giltig sålänge som interfacet är UP/UP.
  • Both next-hop value and outgoing interface: routen är giltig sålänge som next-hop value är reachable över det specificerade interfacet.
ip route 0.0.0.0 0.0.0.0 Gi0 10.10.3.4

Floating

ip route 172.16.10.0 255.255.255.0 10.10.20.2 210

Verify

show ip static route

VRF, default tillåts static routes att peka på interface i andra VRF:er.

ip route static inter-vrf

IPv6

EUI-64

interface Gi0
 ipv6 address 2001:2:3:4::/64 eui-64

ULA
Unique Local Address (RFC 4193) är motsvarigheten till IPv4 RFC 1918. Adressblocket är FC00::/7.

Router Advertisments

interface gi2
 ipv6 nd ra lifetime 1800
 ipv6 nd ra interval 200

Man kan annonsera prefix med ND RA men hostar får ej använda det för auto-config.

ipv6 nd prefix 2000::/64 14400 no auto-config

OBS RA har AD 1 vilket kan därmed trumfa routingprotokoll.

Verify

show ipv6 interface gi2 prefix

VRF

Man kan se VRF:er som virtuella routrar fast med delat management. VRF:er utan MPLS kallas VRF Lite.

show vrf
show cef vrf

Konfiguration

vrf upgrade-cli multi-af-mode common-policies
show vrf detail | i CLI

Kolla vilka interface som tillhör vilken vrf.

show ip vrf interfaces

Man kan i EXEC mode hoppa mellan vrf:er och kommandon som show ip route visar då den aktuella RIB:en.

routing-context vrf Cust-A

Import/Export
Det går att styra vad och vilken community som ska sättas på det som ska importeras och exporteras med hjälp av route-maps.

ip prefix-list Cust-A_DENY seq 5 permit 172.20.0.0/24

route-map Cust-A_EXPORT deny 10
 match ip address prefix-list Cust-A_DENY
route-map Cust-A_EXPORT permit 20

ip vrf Cust-A
 export map Cust-A_EXPORT

VRF Selection
Man kan styra på IP vilken VRF som paket ska hamna i men detta är varken skalbart eller smidigt.

vrf selection source 172.16.1.0 255.255.255.0 vrf VRF1
vrf selection source 0.0.0.0 0.0.0.0 vrf VRF2

interface gi2
 ip vrf select source
 ip vrf receive VRF1
 ip vrf receive VRF2

IP SLA

IP SLA låter en enhet mäta och hålla koll på response time, latency, jitter, packet loss eller bara connectivity mot en punkt utifrån konfigurerbara tröskelvärden. Enheten kan sedan låta andra processer tracka detta och fatta routingbeslut utifrån det. T.ex. om primär WAN gateway går ner slå automatiskt över till sekundär gateway. IP SLA kan också använda MD5-autentisering, detta konfigureras med ip sla key-chain.

ip sla 1
 icmp-echo 100.0.0.20 source-interface GigabitEthernet1
 threshold 2000
 timeout 2000
 frequency 5
ip sla schedule 1 life forever start-time now

Verify

show ip sla 1
show ip sla configuration 
show ip sla statistics

Tracking

För att andra processer ska kunna utnyttja IP SLA binder man IP SLA-objekten via tracking-processen. Tracking kan göras med CDP och IP SLA och polling interval går att konfigurera globalt med track timer. Tracking kan t.ex. användas av HSRP.

Object Tracking

  • Interface IP or line-protocol: Track either the line-protocol (up/down) or the presence of an IP address.
  • IP route: Track a route present in the routing table.
  • IP SLA: Track an IP SLA object.

Man kan även använda en lista för att kombinera flera track objects baserat på vikt/procent eller boolean AND/OR.

track 10 ip sla 1 state
ip route 0.0.0.0 0.0.0.0 10.10.10.2 track 10

Verify

show ip route track-table
show track timers
show track brief
show track resolution
debug track

PBR

Policy routing låter routern forwardera trafik baserat på konfigurerbara kriterier utan att använda routingtabellen. Om trafik inte träffas av någon entry i route-map används routingtabellen som vanligt. Vill man ha drop-beteende med PBR kan man använda set interface Null0.

PBR prioriterar set-kommandona i följande ordning:

  1. Next-hop
  2. Next-hop recursive
  3. Interface
  4. Default next-hop
  5. Default interface

Konfigurationsexempel

access-list 1 permit 192.168.1.10 
access-list 2 permit 192.168.1.20

route-map TEST permit 10 
 match ip address 1 
 set ip next-hop 10.10.10.2
route-map TEST permit 20 
 match ip address 2 
 set ip next-hop 10.10.10.60

interface Gi0/0 
 ip policy route-map TEST 

show ip policy

Recursive
PBR Recursive Next Hop feature låter route-maps konfigureras med next-hops som inte är directly reachable via något interface. Dessa installeras då i routingtabellen och gör att man kan dra nytta av CEF load sharing. Om next-hop IP inte är möjlig att resolva så går paketen på default routen. Med IPv6 fungerar det men stödjer ej load sharing.

set ip next-hop recursive 10.10.10.2

Default
Det går ändra endast default next-hop (eller interface) för det som matchas av en route-map. Då kommer routingtabellen kollas som vanligt förutom att gateway of last resort inte kommer att användas.

route-map TEST permit 10 
 match ip address 1
 set ip default next-hop 10.0.0.10

VRF
Man kan med hjälp av en route-map ta in viss trafik i en annan vrf än det som interfacet tillhör. De kommandon som sätter vrf-tillhörighet har företräde över de andra set interface, next-hop etc.

route-map VRF permit 10
 match ip address 10
 set ip vrf <name>

Continue
Vanligtvis är en route-map first match only men vill man ändra det kan man använda continue för att hoppa vidare till nästa entry.

route-map TEST permit 10 
 set metric 150
 continue
route-map TEST permit 20 
 match ip address 1
 set ip next-hop 10.10.10.2

OBS funkar inte med redistribution.

Local Policy Routing

LPR påverkar trafik genererad av routern själv och konfigureras globalt.

ip local policy route-map ROUTE-MAP
show ip local policy

Reliable PBR

IP SLA och Enhanced Object Tracking

route-map POLICY_ROUTING permit 10
 set ip next-hop verify-availability 100.0.1.5 1 track 1

CDP, reachability verifieras genom att kolla att det finns någon CDP-granne som har 100.0.1.5. Detta går också att använda ihop med set ip default next-hop. Alla kommandon som ändrar routing programmeras i hårdvara utom set ip next-hop verify availability eftersom CDP-info ej finns i linecards.

route-map POLICY_ROUTING permit 20
 set ip next-hop 100.0.1.5
 set ip next-hop verify-availability

Others

On-demand routing
ODR är ett slags simpelt routingprotokoll som har administrative distance 160. Det använder CDP som bärare för uppdateringarna så fungerande CDP är ett prereq. ODR har stöd för det grundläggande som filtrering, redistribution, timers och passiva interface. Inga ändra routingprotokoll bör köras.

router odr
 network 0.0.0.0

Verify

show ip protocols
show ip route odr

Backup Interface
Det primära interfacet bör vara ett point-to-point interface annars kan inte up/down status avgöras. Backup interfacet får ej vara ett subinterface eftersom dess state avgörs av main interfacet.

interface gi2
 backup interface gi4
 backup delay 3 60 

Verify

show backup

IRDP
En router kan hitta en gateway router med hjälp av ICMP Router Discovery Protocol. IRDP skickar ut ICMP Router Advertisement (ICMP type 9 packets) på subnätet för att informera om att det finns en potentiell gateway. Detta funkar endast om IP routing och proxy ARP är avslaget på enheterna som tar emot ICMP RA.

ip subnet-zero
show ip irdp

IP Event Dampening

interface gi2
 dampening 30
show dampening