VPN von Cisco ISR 1100 Series nach Fortigate

Cisco Konfig

1. Verschlüsselungskey für das VPN definieren (keyring)

crypto ikev2 keyring KEY_VPN_Basel-Zuerich
  peer Fortigate
   address 46.11.11.11      (IP Adresse der Fortigate)
   pre-shared-key abc123    (langes, kompliziertes Passwort verwenden) 

2. IKEv2 Proposal definieren (SA)

crypto ikev2 proposal default
  encryption aes-cbc-256
  integrity sha512
  group 19

3. IKEv2 Profil definieren

crypto ikev2 profile PROF_VPN_Basel-Zuerich
  match identity remote address 46.11.11.11 255.255.255.255
  identity local address 62.12.12.12
  authentication local pre-share
  authentication remote pre-share
  keyring local KEY_VPN_Basel-Zuerich
   

4. Access Liste für VPN Traffic erstellen  (ACL)

ip access-list extended VPNACL-VPN_Basel-Zuerich
 permit ip 10.20.20.0 0.0.0.255 10.10.0.0 0.0.63.255

 (von Clientnetz vor Ort nach Server-Netz über das VPN) 

5. IPSecTransform SET definieren  (Verschlüsselung im Tunnel)

crypto ipsec transform-set TS-VPN_Basel-Zuerich esp-aes 256 esp-sha256-hmac 

6. Crypto Map erstellen (definiert Peer, ACL, und Transform Set)

crypto map CMAP-VPN_Basel-Zuerich 10 ipsec-isakmp
  set peer 46.11.11.11
  set security-association lifetime seconds 86400
  set transform-set TS-VPN_Basel-Zuerich
  set pfs group19
  set ikev2-profile PROF_VPN_Basel-Zuerich
  match address VPNACL-VPN_Basel-Zuerich 

7. VPN aktivieren (Zuweisen der Crypto Map auf das Router Interface)

interface Dialer1
  crypto map CMAP-VPN_Basel-Zuerich 

9. NAT ins Internet (Traffic ins VPN ohne NAT)

ip access-list extended NATACL_nach_Internet
  deny   ip 10.20.20.0 0.0.0.255 10.10.0.0 0.0.63.255
  permit ip 10.20.20.0 0.0.0.255 any
  
ip nat inside source list NATACL_nach_Internet interface Dialer1 overload 

Die NAT Rule mit der Access Liste ist wichtig, damit der Traffic ins VPN nicht übersetzt wird.

Fortigate Konfig

Print Friendly, PDF & Email

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
Print Friendly, PDF & Email

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/

Print Friendly, PDF & Email

FlexVPN Solution – Remote Offices per VPN anbinden

ENTWURF

Dieser Blog Eintrag soll eine Übersicht der Möglichkeiten aufzeigen, welche Cisco FlexVPN bietet. Dies an einem konkreten Beispiel: Das Anbinden von Aussenstellen (Remote Branches) an einen zentralen Standort. Am zentralen Standort sind aus Gründen der Redundanz zwei Rechenzentren mit je einem VPN Router vorhanden.
Als Router benutze ich die neusten Cisco Router der 1100er Serie.

Die Aussenstellen sind entweder per FTTH, VDSL oder LTE angebunden.

Somit verwende ich viele der gebotenen Features dieser neuen Cisco 1100er Router. (DSL Modem, SFP GBIC, 3G, 4G LTE Modem, FlexVPN, OSPF, VRF)

Zuerst zur Hardware:
Cisco stellt anfangs 2018 die ISR 1100er Serie Router vor. Sie sollten die 1900er Router ersetzen und machen das, meiner Meinung nach sehr gut. Auch das Preis/Leistung Verhältniss stimmt hier wieder etwas mehr.
Die Router gibt es mit verschiedensten Interfaces, welche ziemlich elegant kombiniert werden können. (WLAN, DSL, LTE, 4Port Switch, 8Port Switch, PoE)

Siehe Cisco Seite: https://www.cisco.com/c/en/us/products/collateral/routers/1000-series-integrated-services-routers-isr/datasheet-c78-739512.html

Wichtig: Die Router mit den 8 Port Switches haben einen schnelleren Prozessor drin. Alle Security Services (wie VPN) müssen über eine SEC Lizenz aktiviert werden. Wenn die Router so bestellt werden, sind alle Lizenzen vorinstalliert. (Achtung: lange Lieferzeiten)
Zudem ist es Interessant, dass die IPsec Performance Lizenz (IPsec Performance: Additional 100 Mbps for ISR 1100-4P and 200 Mbps for ISR 1100-8P) gleich teuer ist wie die IPSec HSEC Lizenz, welche die Drosselung der VPN Performance komplett deaktiviert. (IPSEC HSEC License for Cisco ISR 1100 8P and ISR 1100 4P)

Ohne Performance oder HSEC Lizenz liefert der Router ca. 50mbit/sec IPsec Durchsatz.
Router & NAT Performance: An meinem Gigabit FTTH Anschluss bringt der Router die volle Bandbreite. Er reklamiert zwar mit der Meldung, dass die CPU Last höher als 80% ist, aber der Speedtest zeigt über 980mbit/sec an.

Dann zur Software:
Ich benutze das aktuelle Fuji Release von IOS XE.

Cisco IOS XE Software, Version 16.08.01
Cisco IOS Software [Fuji], ISR Software (ARMV8EB_LINUX_IOSD-UNIVERSALK9_IAS-M), Version 16.8.1, RELEASE SOFTWARE (fc3)

Und nun zum Aufbau der Umgebung

Schema:

Konfiguration der HUB Router:

vrf definition VPN
 description VPN OSPF
 rd 51873:5501
!
 address-family ipv4
 exit-address-family
!
vrf definition Internet
 rd 2:1
!
 address-family ipv4
 exit-address-family
!
!
crypto ikev2 authorization policy IPSECPRO_VPN
 route set interface
 route set access-list flex_route
!
crypto ikev2 keyring KEYRING-VPN
 peer ANY-PEER
  address 0.0.0.0 0.0.0.0
  pre-shared-key *password*
 !
!
crypto ikev2 profile IKEV2PRO_VPN
 match fvrf any
 match identity remote fqdn domain vpn.local
 identity local fqdn R101.vpn.local
 authentication remote pre-share
 authentication local pre-share
 keyring local KEYRING-VPN
 virtual-template 1
!
vlan internal allocation policy ascending
!
crypto ipsec profile IPSECPRO_VPN
 set ikev2-profile IKEV2PRO_VPN
!
!
interface Loopback252
 description *** Loopback252 : VPN Endpoint, OSPF ***
 vrf forwarding VPN
 ip address 10.252.251.101 255.255.255.255
 ip ospf 1 area 1
!
interface GigabitEthernet0/0/0
 description *** Gi0/0/0 : WAN : Uplink to Internet ***
 vrf forwarding Internet
 ip address IPADDRESS NETMASK
 ip tcp adjust-mss 1452
 load-interval 30
 negotiation auto
!
!
interface Virtual-Template1 type tunnel
 vrf forwarding VPN
 ip unnumbered Loopback252
 ip mtu 1400
 ip tcp adjust-mss 1360
 ip ospf 1 area 1
 tunnel source GigabitEthernet0/0/0
 tunnel vrf Internet
 tunnel protection ipsec profile IPSECPRO_VPN
!
router ospf 1 vrf VPN
 router-id 10.252.251.101
 capability vrf-lite
 default-information originate
!

Konfiguration eines VDSL Spoke Routers:

vrf definition VPN
 rd 51873:5501
 !
 address-family ipv4
 exit-address-family
!
vrf definition Internet
 rd 2:1
 !
 address-family ipv4
 exit-address-family
!
crypto ikev2 authorization policy IPSECPRO_VPN
 route set interface
 route set access-list flex_route
!
!
!
crypto ikev2 keyring KEYRING-VPN
 !
 peer HUB1
  address IPADDRESSHUB
  pre-shared-key PASSWORD
 !
!
!
crypto ikev2 profile IKEV2PRO_VPN
 match fvrf any
 match identity remote fqdn domain vpn.local
 identity local fqdn Rx.vpn.local
 authentication remote pre-share
 authentication local pre-share
 keyring local KEYRING-VPN
 ivrf VPN
!
crypto ipsec profile IPSECPRO_VPN
 set ikev2-profile IKEV2PRO_VPN
!
interface Loopback252
 description *** Loopback252 : VPN Endpoint, OSPF ***
 vrf forwarding VPN
 ip address 10.252.251.x 255.255.255.255
 ip ospf 1 area 1
!
interface Tunnel1
 description *** TUNNEL1 : IPsec IKEv2 Tunnel to HUB ***
 vrf forwarding VPN
 ip unnumbered Loopback252
 ip mtu 1400
 ip tcp adjust-mss 1360
 ip ospf 1 area 1
 tunnel source Dialer1
 tunnel destination IPADRESSHUBROUTER
 tunnel vrf Internet
 tunnel protection ipsec profile IPSECPRO_VPN
!
interface Ethernet0/3/0
 description *** Et0/3/0 : Ethernet BuiltIn for VDSL ***
 vrf forwarding Internet
 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 Vlan10
 description *** VLAN10 : to Customer ***
 vrf forwarding VPN
 ip address IPADDRESS NETMASK
 no ip proxy-arp
 ip ospf 1 area 1
!
interface Dialer1
 description *** DIALER1 : VDSL Dialer ***
 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 USERNAME
 ppp chap password PASSWORD
!
router ospf 1 vrf VPN
 router-id 10.252.251.x
 capability vrf-lite
 default-information originate
!
interface GigabitEthernet0/1/0
 description *** Gi0/1/0 : VLAN10 - to Customer ***
 switchport access vlan 10
 switchport mode access
 load-interval 30
 no cdp enable
 spanning-tree portfast

Konfiguration eines FTTH Spoke Routers: (nur Unterschiede)

interface GigabitEthernet0/0/0
 description *** Gi0/0/0 : Uplink zu Swisscom BBCS Monzoon ***
 no ip address
 negotiation auto
!
interface GigabitEthernet0/0/0.11
 description *** Gi0/0/0.11 : Uplink zu Swisscom BBCS - VLAN 11 PPP ***
 encapsulation dot1Q 11
 pppoe enable group global
 pppoe-client dial-pool-number 1
!
!
interface Dialer1
 description *** DIALER1 : FTTH Dialer ***
 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 USERNAME
 ppp chap password PASSWORD

Konfiguration eines LTE Spoke Routers:

Spezielles:

MTU Size: Da auf den VDSL Anschlüssen auf der Swisscom Plattform die MTU 1460 ist, muss der VPN Traffic noch mehr fragmentiert werden.

VRF-Lite und OSPF: Sobald VRF auf einem OSPF Router aktiv ist, werden Type 5 LSA Statements nicht in die Routing Tabebelle geschrieben, da man so Loops verhindern will. Aber genau diese Routen benütigen wir hier in diesem Beispiel. Somit muss capability vrf-lite aktiviert werden:

router ospf
capability vrf-lite

Links:

https://integratingit.wordpress.com/2016/07/10/configuring-cisco-flexvpn-hub-and-spoke/

https://www.cisco.com/c/en/us/support/docs/security/flexvpn/118888-configure-flexvpn-00.html

https://packetpushers.net/cisco-flexvpn-dmvpn-high-level-design/

https://networkengineering.stackexchange.com/questions/38915/why-would-type-5-as-external-ospf-route-not-install-in-routing-table

http://packetlife.net/blog/2010/mar/29/inter-vrf-routing-vrf-lite/

https://markwardbopp.wordpress.com/2015/06/10/ospf-series-why-wont-my-ospf-route-install-what-does-downward-bit-setnon-backbone-lsa-mean/

Print Friendly, PDF & Email

Sicherer Icecast Server auf OpenBSD

OpenBSD

Als erstens installieren wir die aktuelle OpenBSD Version. Zur Zeit ist das 5.9.
Ich installiere dies auf einer VMware ESXi Umgebung. Läuft natürlich auch im VMware Workstation oder anderen Virtualisierungs-Tools oder auf einer Hardware Maschine.

Angaben zu den empfohlenen Werten:
RAM: 512MB
Disk: 20GB
Disk Controller: LSI Logic SCSI
CPU: 1 Socket, 2 Cores
Keine Diskettenlaufwerke, Serial, Parallel Ports und Floppy Disk Controller im BIOS deaktivieren.

Die Installationsdatei install59.iso kann man auf der Openbsd.org Seite oder diversen Mirrors herunterladen. In der Schweiz empfehle ich natürlich den Switch Mirror.

http://mirror.switch.ch/ftp/pub/OpenBSD/5.9/amd64/install59.iso

Danach von dieser CD booten und die folgenden Fragen beantworten.

openbsd_first1

i für Installation
sg für das schweizerdeutsche Keyboard Layout
Hostname (nur der Hostname ohne Domain)
Bei der IP Konfiguration empfehle ich natürlich für einen Server eine fixe IP zu verteilen.

Disk-Aufteilung

openbsd_disk1

Ich mache die Disk-Aufteilung von Hand. Wer weniger geübt ist, kann natürlich auch das Default-Set verwenden. In fdisk kann man mit „a“ eine Partition erstellen, mit „d“ löschen und mit „q“ speichert man und verlässt den Editor.

Gerne kann man natürlich etwa meine Aufteilung verwenden.

a 2g /
b 2g swap
d 1g /tmp
e 6g /usr
f 7g /var
g 2g /home

Bei den Paketen installiere ich die Games und den XServer nicht. Die X Libraries installiere ich mit, da diese ab und zu hilfreich sind. z.B. wenn man PHP mit GD installieren will.

openbsd_packages1

– SSH Ausführen
– root Login zulassen

1. Teil fertig. Man kann den Server mit reboot neu starten. Die CD (iso File) wird nicht mehr benötigt.

************

OpenBSD anpassen

In diesem kleinen Zwischenschritt machen wir OpenBSD etwas bedienerfreundlich und setzen einige wichtige Einstellungen.
Dazu benutze ich eine andere Shell. TCSH

Diese installiere ich als vorgefertigtes Paket. Alle Pakete kann man auf dem Switch Mirror downloaden:

http://mirror.switch.ch/ftp/pub/OpenBSD/5.9/packages/amd64/

Installation:
# pkg_add http://mirror.switch.ch/ftp/pub/OpenBSD/5.9/packages/amd64/tcsh-6.19.00.tgz
tcsh-6.19.00: ok

Update der „locate“ Datenbank:
/usr/libexec/locate.updatedb

TCSH als Standard-Shell:
#chpass
openbsd_chpass1

Und hier die Shell anpassen.

cd
vi .cshrc

Automatisches vervollständigen:
set autolist

Prompt anpassen:
if ($?prompt) then
set prompt="`hostname -s` %B%n%b %~#"
endif

openbsd_cshrc1

Folgende Dateien bitte etwas überarbeiten:
/etc/ntpd.conf (NTP Servers hinzufügen)
/etc/resolv.conf (weitere Nameserver hinzufügen)

NTP sollte danach etwa so aussehen:
#ntpctl -s all
3/4 peers valid, 1/1 sensors valid, constraint offset 1s, clock synced, stratum 3

peer
wt tl st next poll offset delay jitter
81.94.123.17 from pool pool.ntp.org
1 10 2 11s 34s -0.098ms 2.253ms 0.090ms
94.230.211.37 from pool pool.ntp.org
1 10 2 15s 30s 3.444ms 1.447ms 0.038ms
77.245.18.26 from pool pool.ntp.org
* 1 10 2 16s 34s 0.024ms 2.187ms 0.115ms

************

Icecast Server installieren

Als erstes wieder das Paket von Switch Mirror installieren:
openbsd_icecast1

Danach muss man das File /var/icecast/icecast.xml editieren. (WICHTIG: Die Passwörter ändern.)

Ein kurze Anleitung findet man auf der Icast Webseite: http://icecast.org/docs/icecast-2.4.1/basic-setup.html

Server starten, stoppen, restart:
#/etc/rc.d/icecast start

usage: /etc/rc.d/icecast [-df] start|stop|restart|reload|check

Den Server automatisch beim booten starten:
#rcctl enable icecast

FERTIG

Print Friendly, PDF & Email

L2TP VPN mit pfsense 2.3

Mit der pfsense Version 2.3 wurde das anfällige PPTP VPN angeschafft. Deshalb erkläre ich hier kurz wie man ein neues VPN, welches mit Windows ohne Clientinstallation funktioniert, einrichten kann.

Im Menu VPN auswählen und dann L2TP.

l2tp_1

Hier kann man die verschiedenen Adressen für die Verbindung eintragen. Am Besten verwendet man für die VPN Verbindung nicht verwendete Netze. (Hier im Beispiel haben wir ein internes LAN mit 192.168.60.0/24)

Im Menu Users sollten dann auch noch die User erfasst werden.

l2tp_2

Damit der L2TP Server von aussen angesprochen werden kann, werden noch Firewall Regeln benötigt. Diese Rules sollten die Ports 500 und 1701 UDP öffnen.

l2tp_3

Fertig ist die Konfiguration auf der pfSense.

Unter Windows sollte man folgende Einstellungen berücksichtigen:
l2tp_win

Print Friendly, PDF & Email

SSH, Telnet Befehle mit ESC Sequenz beenden

Auf vielen Geräten (z.B. Cisco Routern) können Befehle nicht einfach mit CRTL-C abgebrochen werden.

Häufig wird noch die Meldung „Type escape sequence to abort“ angezeigt. Doch was muss ich drücken damit die ESC Befehle nicht an meinem PC ausgeführt werden?

In den meisten SSH Clients (z.B: Putty, SecureCRT) kann man diese ESC Sequenz mit der Tastenkombination CTRL – SHIFT – 6 senden.

traceroute-esc

 

CTRL – SHIFT – 6     = ESC Sequenz

Print Friendly, PDF & Email

SONOS Netzwerk optimieren

SMA. Ein typisches Sonos Netzwerk umfasst einige Player (z.B. Play:1, Play:3 und/oder Play:5) dazu evtl. noch einen Connect oder eine Bridge. Sonos plant sich sein Netzwerk selber und kommuniziert unter den einzelnen Geräten auf einem WLAN Kanal. Dieses WLAN ist aber nicht sichtbar auf einem Computer/Notebook.

Meistens funktioniert diese automatische Netzwerkkonfiguration sehr gut. Aber leider nicht immer.

Wenn man häufige Unterbrüche hört oder das System langsam reagiert, sollte man sich die Konfiguration etwas genauer ansehen.

Auf allen Sonos Komponenten läuft ein Webserver, welcher man unter der URL
http://:1400/support/review erreicht. Um sich einen guten Überblick über sein System machen zu können empfehle ich die Verwendung des Links „Network Matrix“.

Das sieht dann etwa so aus. (Dieses Bild ist ein optimiertes Netz. Meistens gibt es orange oder sogar rote Felder.

Bild 1

  • Grün bedeutet sehr gut.
  • Gelb ist noch gut.
  • Orange ist knapp genügend.
  • Rot ist schlecht.

 

Hat man nun viele rote oder orange Felder kann man dies evtl. optimieren.

Als erstes sollte man probieren ob ein Wechsel des WLAN Kanals eine Verbesserung bringt

 

WLAN

Hier hilft am Besten das Programm inSSIDer. Das Programm zum Download findet man z.B. bei CHIP.

Auf diesem Bild empfiehlt sich z.B. den Kanal 11 zu verwenden. Aber sonst können sie die drei Varianten (1, 6, 11) auch probieren. Die Einstellung nehmen sie am Besten auf dem Client vor. Hier z.B. mit Windows:

SonosKanal

 

Eine weitere Option ist die Wahl der Root Bridge. Dies sollte die zentralste Sonos Komponente sein und am Besten noch per Ethernet-Kabel angeschlossen sein. Sollte Sonos nicht automatisch die Beste Auswahl treffen, können sie etwas nachhelfen:

Rufen sie diese Seite auf (auf dem Player, welchen sie zur Root Bridge machen wollen)

http://192.168.xxx.xxx:1400/advconfig.htm

und stellen sie FirstZP und Priority auf „enabled“.

sonosroot

Danach müssen sie den Sonos Player/Connect neu starten. Dies kann natürlich auch direkt im Browser erledigt werden:

http://192.168.xxx.xxx:1400/reboot

 

weitere Möglichkeiten des Web GUIs:

  • http://192.168.xxx.xxx:1400/region.htm  – setzt die WLAN Region   (bei uns EU – Europa)
  • http://192.168.xxx.xxx:1400/tools.htm – Netzwerk Tools (Ping, Traceroute, nslookup)
  • http://192.168.xxx.xxx:1400/status – etwas unübersichtliche aber ausführliche Statusseite
  • http://192.168.xxx.xxx::1400/wifictrl?wifi=off – Stellt das WIFI bis zum nächsten Reboot ab
  • http://192.168.xxx.xxx::1400/wifictrl?wifi=persist-off – Stellt das WIFI Interface komplett ab – Wenn man nur über Kabel arbeiten möchte

 

Weitere Infos findet man auch hier:

Print Friendly, PDF & Email

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

    Print Friendly, PDF & Email

    Exchange 2013 IPv6 Probleme

    Ausgehende Mails ab Exchange 2013 werden abgeleht.

    Wer mit einem Microsoft Exchange 2013 Server Mails an GMX oder gMail sendet kennt evtl. diese Meldungen:
    – Sender address rejected: Please see http://www.openspf.org/Why?….

    – The sender does not meet basic guidelines ipv6 sending of authentication and RDNs resolution of sending ip. Please review https://support.google.com/mail/answer/81126for more information. – gsmtp
    Your message was not delivered due to permission problems or safety. She may have been rejected by a moderator, the address only accepts mail from certain senders, or another restriction prevented delivery.

    Obwohl der Server eine fixe IP Adresse hat (IPv4 und IPv6) benutzt Exchange eine dynamische IPv6 Adresse zum Versenden von Mails. Das Problem existiert bei IPv4 nicht, da es dort keine stateless address autoconfiguration, Link-local oder Site-local Adressen gibt.

    Mails werden über die statische IPV6 Adresse empfangen (wie es im DNS erfasst ist).
    Die Mails werden aber nicht über die selbe Adresse wieder versendet (SMTP outgoing). Sondern für ausgehende Verbindungen wird die dynamische IPv6 (stateless address autoconfiguration) verwendet. Diese IPv6 Konfiguration macht an einem PC Sinn, da so die ausgehende Adresse immer wieder ändert und so das Tracking von Informationen eingeschränkt wird.

    Beim Versenden von e-Mails macht das allerdings wenig Sinn, da genau hier der Absender eindeutig identifizierbar sein sollte.

    Mittels der Exchange Shell kann man die abgehende Adresse aber festlegen:
    Beim „Send-Connector“ gibt es die Variable „SourceIPAddress“.

    Achten sie wie bei IPv4 darauf, dass die Adresse einen korrekten DNS Reverse Eintrag hat und, falls vorhanden, beim SPF Record korrekt erfasst ist.

    Weitere Infos auf der Microsoft Technet Seite:
    http://technet.microsoft.com/de-de/library/gg144561%28v=exchg.150%29.aspx

    Print Friendly, PDF & Email