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
    !
    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/

    IPv6 Subnetting

    Ausgangslage: Eine Firma mit mehreren Aussenstellen möchte gerne IPv6 Adressen verteilen. Jede Aussenstelle hat mehrere VLAN’s (Subnetze) für verschiedne Dienste (LAN, PublicWLAN, Vioce, Video). Aktuell sind alle Geräte, Computer, Drucker und Server mit privaten Adressen (10.x.x.x) adressiert.

    Die Firma möchte alle Geräte auch mit IPv6 (dual stack) adressieren. So kann für einige Dienste auf NAT verzichtet werden.

  • Welche Ranges werden empfohlen?
  • Wie gross sollten die Subnetze sein?
  • Welcher Adress-Range soll man benutzen?
  • Ich empfehle folgendes:

    Grössere Firmen sollten bei der zuständigen Stelle Provider unabhängige (PI – Provider Independent) Adressen bestellen. Diese stellen wären:

  • RIPE NCC – Réseaux IP Européens Network Coordination Centre für Europa
  • AfriNIC – African Network Information Centre für Afrika
  • ARIN – American Registry for Internet Numbers für Nordamerika
  • APNIC- Asia-Pacific Network Information Centre für Asien und den pazifischen Raum
  • LACNIC – Latin American and Caribbean Internet Addresses Registry für Südamerika und die Karibik
  • Meistens erhält man von der RIR (Regional Internet Registry) einen /48 Range zugeteilt. Diesen kann man dann wie im unteren Schema gezeigt aufteilen.

    Jede Aussenstelle würde z.B. ein /56 Netz erhalten. Dann können pro Standort 256 Subnetze in maximal 256 Standorten adressieren.
    Oder man wählt das Netz vor Ort etwas kleiner: /60 So können 16 Netze in maximal 4096 Standorten adressiert werden.

    Ich empfehle kein Netz mit Endgeräten (PC, Drucker, Router, usw.) zu erstellen, welches kleiner als /64 ist.
    Man vergeudet leider sehr viele Adressen, da ein /64 Netz immerhin 18’446’744’073’709’551’616 Adressen umfasst. Aber es ist das kleinste Netz bei dem man Autoconfig/SLAAC verwenden kann.

    Will man kleine Netze empfehle ich, die Adressen statisch (von Hand) zu vergeben.

    Jeder IPv6 fähige Gerät richtet automatisch eine eigene link-lokale und globale Adressen ein. So kann ein Endgerät mit anderen Geräten problemlos kommunizieren. Doch bei einem Router oder bei Servern sollten sich die Adressen nicht ändern. Ausser sie haben einen internen dynamischen DNS Server. Aber auch hier empfehle ich statische Adressen zu verwenden. Und für den Zugang zum Internet muss ein Router zwangsläufig eine feste IPv6-Adresse haben. Dem Router und wichtigen Servern (AD, Exchange, File) sollte man die Adresse manuell zuweisen und bei Client Computern oder Applikationsservern kann man die Adressen zentral per DHCPv6 zuweisen (optional mit Reservierung).

    IPv6-Subnet Tabelle
    2a02:1368:0000:0000:0000:0000:0000:0000
    |||| |||| |||| |||| |||| |||| |||| ||||
    |||| |||| |||| |||| |||| |||| |||| |||128 Einzelne Adresse, Endpunkt, Loopback
    |||| |||| |||| |||| |||| |||| |||| |||127 Point2point Links
    |||| |||| |||| |||| |||| |||| |||| ||124
    |||| |||| |||| |||| |||| |||| |||| |120
    |||| |||| |||| |||| |||| |||| |||| 116
    |||| |||| |||| |||| |||| |||| |||112
    |||| |||| |||| |||| |||| |||| ||108
    |||| |||| |||| |||| |||| |||| |104
    |||| |||| |||| |||| |||| |||| 100
    |||| |||| |||| |||| |||| |||96
    |||| |||| |||| |||| |||| ||92
    |||| |||| |||| |||| |||| |88
    |||| |||| |||| |||| |||| 84
    |||| |||| |||| |||| |||80
    |||| |||| |||| |||| ||76
    |||| |||| |||| |||| |72
    |||| |||| |||| |||| 68
    |||| |||| |||| |||64 1 - kleinstes Netz für Autoconfig/SLAAC (Standardzuweisung für ein Enduser Netz)
    |||| |||| |||| ||60
    |||| |||| |||| |56 256 - Standardzuweisung für einen Kunden (so kann man 256 x /64 Netze Adressieren)
    |||| |||| |||| 52 4096 - (so kann man 4096 x /64 Netze Adressieren)
    |||| |||| |||48 65536 - Typisches Netz für Zuweisung von RIPE für PI Adressen oder Firmen (65536 /64)
    |||| |||| ||44
    |||| |||| |40
    |||| |||| 36
    |||| |||32 /32 - Typische Adressierung an einen LIR - z.B. an Arcade
    |||| ||28
    |||| |24
    |||| 20
    |||16
    ||12 Zuteilung an RIPE von der IANA (2a00:0000::/12RIPE NCC)
    |8
    4

    Siehe https://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.xml