Cisco Router mit zwei Uplinks und NAT (Dual Uplink, NAT, IP SLA)

Cisco Router 1100 Serie mit 2 WAN Anbindungen sind relativ günstig und einfach zu konfigurieren. Sobald aber noch Network Address Translation (NAT) dazu kommt wird es mühsam. Standardmässig wird nur eine ANT Konfiguration pro Source Subnet unterstützt.

Gerne stell eich hier eine Anleitung zur Verfügung wie ich dieses Problem gelöst habe.

Szenario: Lokales LAN (privat adressiert) und zwei Uplinks (hier VDSL und LTE Fallback mit Swisscom SIM Karte)

Konfig für 3G/4G/LTE

controller Cellular 0/2/0
lte sim data-profile 1 attach-profile 2 slot 0
no lte firmware auto-sim
lte modem link-recovery rssi onset-threshold -110
lte modem link-recovery monitor-timer 20
lte modem link-recovery wait-timer 5
lte modem link-recovery debounce-count 6
profile id 1 apn gprs.swisscom.ch authentication none pdn-type ipv4

Ich habe ein Profil erstellt mit den APN Angaben von Swisscom und habe dies an das Cellular0/2/0 Interface angebunden.

LAN Interface Konfigs

Die internen Interfaces gelten als Switch Ports. Somit habe ich ein VLAN 10 Interface erstellt und die Switch Ports in dieses VLAN aufgenommen.

interface GigabitEthernet0/1/0
description *** Gi0/1/0 : to Customer ***
switchport access vlan 10
switchport mode access
spanning-tree portfast
!
interface GigabitEthernet0/1/1
description *** Gi0/1/0 : to Customer ***
switchport access vlan 10
switchport mode access
spanning-tree portfast
!
interface GigabitEthernet0/1/2
description *** Gi0/1/0 : to Customer ***
switchport access vlan 10
switchport mode access
spanning-tree portfast
!
interface GigabitEthernet0/1/3
description *** Gi0/1/0 : to Customer ***
switchport access vlan 10
switchport mode access
spanning-tree portfast
!
interface Vlan10
description *** VLAN10 : to Customer LAN ***
ip address 10.1.1.1 255.255.255.0
ip nat inside

WAN Interface Konfigs

interface Cellular0/2/0
ip address negotiated
no ip unreachables
no ip proxy-arp
ip nat outside
dialer in-band
dialer idle-timeout 0
dialer watch-group 2
dialer-group 2
ipv6 address dhcp
ipv6 enable
pulse-time 1
!
controller VDSL 0/3/0
!
interface Ethernet0/3/0
description *** Et0/3/0 : Ethernet BuiltIn for VDSL ***
no ip address
ip mtu 1500
load-interval 30
no negotiation auto
ipv6 address dhcp
pppoe enable group global
pppoe-client dial-pool-number 1
!
interface Dialer1
description *** DIALER1 : VDSL Dialer ***
ip address negotiated
ip nat outside
encapsulation ppp
ip tcp adjust-mss 1452
load-interval 30
dialer pool 1
ipv6 address dhcp
ppp chap hostname DSL-LOGIN-USERNAME
ppp chap password DSL-LOGIN-PASSWORD
!
dialer-list 2 protocol ip permit
!
access-list 2 permit any
!

Das DSL Login basiert auf PPPoE und beim Mobile Netzwerk von Swisscom erhalte ich direkt per DHCP eine IP Adresse.

IP SLA

Nun wird ein IP SLA benötigt um das VDSL Interface zu überwachen und anhand dieses Outputs die Routen und das NAT anzupassen.

ip sla 1
icmp-echo 100.100.100.100 source-interface Dialer1 (IP des Dialers)
threshold 2
timeout 800
frequency 3
ip sla schedule 1 life forever start-time now

Die Routen werden mittels TRACK angepasst:

ip route 0.0.0.0 0.0.0.0 Dialer1 10 track 1
ip route 0.0.0.0 0.0.0.0 Cellular0/2/0 20

Das IP NAT wird mittels einem EVENT geändert:

event manager applet ipsla1-down
event track 1 state down
action 1.0 syslog msg "ICMP SLA 1 FAILED - Update NAT"
action 2.0 cli command "enable"
action 3.0 cli command "clear ip nat transl *"
action 4.0 cli command "conf t"
action 4.1 cli command "no ip nat inside source list Internal_IP interface Dialer1 overload"
action 4.2 cli command "ip nat inside source list Internal_IP interface Cellular0/2/0 overload"
action 5.0 cli command "end"
action 5.5 cli command "wr"
event manager applet ipsla1-up
event track 1 state up
action 1.0 syslog msg "ICMP SLA 1 RECOVERED - Update NAT"
action 2.0 cli command "enable"
action 3.0 cli command "clear ip nat transl *"
action 4.0 cli command "conf t"
action 4.1 cli command "no ip nat inside source list Internal_IP interface Cellular0/2/0 overload"
action 4.2 cli command "ip nat inside source list Internal_IP interface Dialer1 overload"
action 5.0 cli command "end"
action 5.5 cli command "wr"
!
ip access-list standard Internal_IP
permit 10.1.1.0 0.0.0.255

Funktion überprüfen

Ich abe mal zum Testen das DSL Interface ausgezogen und danach wieder eingesteckt. Bei der Umschaltung werden alle Schritte im LOG aufgeführt. Wenn man das DSL Kabel auszieht gehen zwei PING verloren. Somit dauert die Entdeckung des Ausfalls und die Konfiguration ca. 2 bis 5 Sekunden.

von DSL nach LTE
von LTE zu DSL
Apr 29 13:31:37.248: %TRACK-6-STATE: 1 ip sla 1 reachability Up -> Down
Apr 29 13:31:37.252: %HA_EM-6-LOG: ipsla1-down: ICMP SLA FAILED - Update PBR/NAT
Apr 29 13:31:37.931: %SYS-5-CONFIG_I: Configured from console by  on vty2 (EEM:ipsla1-down)
Apr 29 13:31:40.870: %VDSL_DAEMON-3-VDSL_LINE_UPDOWN: Controller VDSL 0/3/0, line 0, changed state to down
Apr 29 13:31:40.871: %CONTROLLER-5-UPDOWN: Controller VDSL 0/3/0, changed state to down
Apr 29 13:31:42.872: %LINK-3-UPDOWN: Interface Ethernet0/3/0, changed state to down
Apr 29 13:31:43.873: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/3/0, changed state to down
Apr 29 13:31:44.446: %SYS-2-PRIVCFG_ENCRYPT: Successfully encrypted private config file
Apr 29 13:32:24.577: %VDSL_DAEMON-3-VDSL_LINE_UPDOWN: Controller VDSL 0/3/0, line 0, changed state to up
Apr 29 13:32:24.577: %CONTROLLER-5-UPDOWN: Controller VDSL 0/3/0, changed state to up
Apr 29 13:32:24.763: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access2, changed state to down
Apr 29 13:32:24.769: %DIALER-6-UNBIND: Interface Vi2 unbound from profile Di1
Apr 29 13:32:24.773: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to down
Apr 29 13:32:26.577: %LINK-3-UPDOWN: Interface Ethernet0/3/0, changed state to up
Apr 29 13:32:27.579: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/3/0, changed state to up
Apr 29 13:32:46.969: %DIALER-6-BIND: Interface Vi2 bound to profile Di1
Apr 29 13:32:46.971: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to up
Apr 29 13:32:47.256: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access2, changed state to up
Apr 29 13:32:52.257: %TRACK-6-STATE: 1 ip sla 1 reachability Down -> Up
Apr 29 13:32:52.261: %HA_EM-6-LOG: ipsla1-up: ICMP SLA RECOVERED - Update PBR/NAT
Apr 29 13:32:53.042: %SYS-5-CONFIG_I: Configured from console by  on vty2 (EEM:ipsla1-up)
Apr 29 13:32:59.564: %SYS-2-PRIVCFG_ENCRYPT: Successfully encrypted private config file

Cisco IP SLA – default Route ändern – 3G/4G/LTE Failover

Dieses Beispiel soll zeigen wie man einen Cisco Router (in meinem Beispiel einen ISR1117 – C1100 Series) mit DSL und einem Mobile Failover konfiguriert. Ich verwende zwei VRF um eine VPN Konfiguration zu einem Office zu ermöglichen. Falls jemand keine VPN Verbindungen und somit auch keine VRF Konfiguration benötigt, kann man ja einfach die VRF Befehle weglassen.

Ausgangslage:
Cisco C1117-4PLTEEA Router
VDSL Anschluss (primäre Leitung über VDSL)
3G/4G/LTE SIM Karte (sekundäre Verbindung über Mobile)

VRF Konfiguration:
Ich benutze ein VRF für die Internet Verbindung und ein zweites VRF für die VPN Konfiguration. Alle Access Ports, DHCP Server usw. befinden sich im 2ten VRF.

Hier ein Beispiel für die VRF Konfiguration:


vrf definition CustomerInternal
rd 51873:5501
!
address-family ipv4
exit-address-family
!
vrf definition Internet
rd 24889:1
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family

Zuerst die VDSL Konfiguration:

Zuerst den ADSL/VDSL Controller in den korrekten Modus setzen. Hier in der Schweiz wäre das „vdsl2“. Danach wird ein Interface „Ethernet0/3/0“ erstellt. Das ATM Interface wird für VDSL nicht mehr benötigt und kann somit deaktiviert werden.
Das Ethernet0/3/0 Interface wird konfiguriert und auf einen PPP Dialer verwiesen. Dieser erhält dann die Zugangsdaten und die IP Adresse per PPP.

Hier die Befehle:

!
controller VDSL 0/3/0
operating mode vdsl2
!
interface ATM0/3/0
no ip address
shutdown
no atm enable-ilmi-trap
!
interface Ethernet0/3/0
description *** Et0/3/0 : Ethernet BuiltIn for VDSL ***
vrf forwarding Internet
no ip address
load-interval 30
no negotiation auto
ipv6 address dhcp
pppoe enable group global
pppoe-client dial-pool-number 1
!
interface Dialer1
description *** DIALER1 : VDSL Dialer to Fixnet/DSL Provider ***
vrf forwarding Internet
ip address negotiated
encapsulation ppp
ip tcp adjust-mss 1452
load-interval 30
dialer pool 1
ipv6 address dhcp
ppp chap hostname "ppp username"
ppp chap password 0 "ppp password"
!

Die DSL Konfiguration sollte nun laufen und der Router eine Public IP erhalten haben. Dies kann man mit „sh ip int brief“ überprüfen.

Als nächstes nehmen wir uns der Mobile (3G,4G, LTE) Konfiguration an. Mein Tipp als erstes, nehmt eine SIM Karte ohne PIN. Die SIM Befehle zum freischalte, Code ändern, usw. sind folgende:

  • cellular 0/2/0 lte sim unlock
  • cellular 0/2/0 lte sim unblock

Falls die PIN 3 mal falsch eingegeben wurde.

Das Cellular Interface habe ich wie folgt konfiguriert:
– IP NAT outside nur wenn man über diese Verbindung per NAT ins Internet möchte.

Das Interface erhält die IP per DHCP vom Provider (Sunrise, Swisscom…)

Zuerst muss man ein Cellular LTE Profile erstellen. Diese Konfiguration ist mit „sh runn“ nicht ersichtlich. Meine Beispiel Konfiguration ist für eine Sunrise SIM Karte mit dem APN „internet“. Die APN Konfigurationen könnt ihr bei eurem Provider oder mittels einer Google-Suche sicherlich herausfinden.

router#cellular 0/2/0 lte profile create 1 internet none ipv4

evtl. das Default Profil vorher löschen. router#cellular 0/2/0 lte profile delete 1

Dieses erstelle Profil muss man an den Controller binden „lte sim data-profile 1 attach-profile 1 slot 0“ und danach kann man das Cellular Interface konfigurieren. Damit der Router die Verbindung dann auch aufbaut wird ein „Watcher“ benötigt. Dieser überwacht ob man eine Verbindung zu eiener gewissen IP herstellen möchte und falls ja, dann öffnet er die Data-Connection. Ich überwache hier meine VPN Gateways. Falls man keine VPN Verbindungen hat, würde ich die DNS Adresse oder sonst eine, immer wieder verwendete IP Adresse überwachen. Falls nichts davon vorhanden ist kann man natürlich auch 0.0.0.0/0 konfigurieren.

!
controller Cellular 0/2/0
lte sim data-profile 1 attach-profile 1 slot 0
lte modem link-recovery disable

lte firmware auto-sim
!
interface Cellular0/2/0
vrf forwarding Internet
ip address negotiated
no ip unreachables
no ip proxy-arp
ip nat outside
dialer in-band
dialer idle-timeout 30
dialer watch-group 2
dialer-group 2
ipv6 address dhcp
ipv6 enable
pulse-time 1
!
interface Cellular0/2/1
no ip address
shutdown
!
dialer watch-list 2 ip <255.255.255.0>
dialer watch-list 2 delay route-check initial 60
dialer watch-list 2 delay connect 1
dialer-list 2 protocol ip permit

Nun stehen beide Verbindungen, über DSL sowie über Mobile, zur Verfügung. Die Default-Route würde nun entscheiden, welcher Weg bevorzugt wird. Ich entschied mich für ein „IP SLA“ welches eine Bedingung prüft und dann eine Route installiert oder entfernt. In meinem Beispiel überwache ich die fixe IP Adresse meines DSL Anschlusses. Diese erhalte ich per PPP. So lange ich diese anpingen kann ist die Route 0.0.0.0 0.0.0.0 über den Dialer1 mit der Metric 10 aktiv. Wenn aber das DSL getrennt wird (Unterbruch, Kabelfehler, usw.) dann verliere ich die PPP Session und somit die IP Adresse. Somit wird die zweite Route über das Cellular Interface mit der Metric 20 aktiv.

Mit dem IP SLA können natürlich auch andere IP Adressen oder auch mehrere angepingt werden. (1.1.1.1 oder 8.8.8.8 oder ein Router bei eurem Provider)


!
ip sla 1
icmp-echo source-interface Dialer1
vrf Internet
threshold 2
timeout 1000
frequency 3
!
ip sla schedule 1 life forever start-time now
!
track 1 ip sla 1 reachability
!
ip route vrf Internet 0.0.0.0 0.0.0.0 Dialer1 10 track 1
ip route vrf Internet 0.0.0.0 0.0.0.0 Cellular0/2/0 20
!

——————————-

Weiterführende Informationen:
IP SLA: https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipsla/configuration/15-mt/sla-15-mt-book/sla_icmp_echo.html
Cellular Profile: https://www.cisco.com/c/en/us/td/docs/routers/access/1100/software/configuration/xe-16-7/cisco_1100_series_swcfg_xe_16_7_x/cisco_1100_series_swcfg_chapter_01011.html
Grundkonfig Mobile https://protocoholic.wordpress.com/2018/05/29/configuring-cisco-c1111-4pltea-router-for-4g-3g-cellular-communication/

Cisco Router DHCP Reservations

Cisco Logo

Um bei einem Cisco DHCP Server (auf einem Router oder L3 Switch) IP Adressen auf MAC Adressen festzulegen (reservieren) gibt es zwei Möglichkeiten. Einige MAC Adressen erkennt Cisco als „hardware-address“ und andere als „client-identifier“. Bei den client-identifier Adressen wird ein 01 vorangestellt. Wie der Router ihre MAC Adresse erkennt kann man am einfachsten mit dem Befehl show ip dhcp binding

Bevor man neue Reservationen „bindings“ erfassen kann muss man die Bindung entfernen. z.B. wenn der Client eine IP Adresse aus dem normalen Client Range erhalten hat.

 

#clear ip dhcp binding

#clear ip dhcp remembered binding

 

So kann man die Reservationen danach erfassen:

ip dhcp pool <NAME>
host 192.168.xxx.xxx  255.255.255.0
hardware-address c8cb.b837.4dcf
dns-server 8.8.8.8 8.8.4.4
default-router 192.168.xxx.xxx
domain-name xxxx.local
lease 8
!
ip dhcp pool <NAME>
host 192.168.xxx.xxx 255.255.255.0
client-identifier 0100.8087.2c66.65
dns-server 8.8.8.8 8.8.4.4
default-router 192.168.xxx.xxx
domain-name xxxx.local
lease 8

 

Cisco Stackwise vs. Stackwise plus

Der Cisco Switch interconnect, besser bekannt als Stackwise, hat einen Nachfolger erhalten: Stackwise plus.

Die doppelte Geschwindigkeit ist nur ein Vorteil von Stackwise plus. Ausserdem können Stackwise Switches (z.B. 3750 Serie) mit den neuen Stackwise plus Switches (z.B. 3750-E) in einem Verbund zusammengefasst werden. Natürlich verliert man so die neuen Funktionalitäten von Stackwise plus. Ausserdem muss man aufpassen, wenn man in einen Stackwise plus Verbund einen alten Switch einbinden möchte. Dies funktioniert nur dann problemos, wenn noch keine neue Funktion von Stackwise plus aktiviert wurde.

Weitere Infos im Cisco Dokument: Cisco Stackwiseplus PDF