daniel-niewerth
Goto Top

IPv6 über Cisco IPv4 IPsec Tunnel

Hallo zusammen,

ich habe zwischen zwei meiner Cisco Router einen IPsec / IKEv2 Tunnel über IPv4.
Der Tunnel funktioniert auch hervorragend. Nun möchte ich darüber auch noch IPv6 machen.

Ich habe an beiden Enden eine entsprechende IPv6 Adresse auf das Tunnel Interface gelegt.
So einfach funktioniert es aber wohl nicht. Ich kann die Gegenseite nicht anpingen.

Ich dachte es liegt an mtu und tcp adjust-mss.
Ich habe stundenlang erfolglos damit herum probiert.

mtu ist ein Thema weil einer der Router per DSL angebunden ist.

Hat jemand eine Idee zu dem Problem?
Wird das so überhaupt von Cisco unterstützt?

Meine Konfiguration sieht momentan folgendermaßen aus:

interface Tunnel1
 description IPsec to rtr1-obe0
 bandwidth 95000
 bandwidth receive 45000
 ip address 192.168.66.1 255.255.255.252
 ip mtu 1422
 ip nat inside
 ip ospf 1 area 0.0.0.0
 ip ospf cost 10
 ipv6 address 2001:****:0:301::1/64
 ipv6 enable
 ospfv3 1 cost 10
 tunnel source **.**.**.**
 tunnel mode ipsec ipv4
 tunnel destination **.**.**.**
 tunnel protection ipsec profile IPSEC_PROFILE
end


Vielen Dank

Gruß
Daniel

Content-Key: 630607

Url: https://administrator.de/contentid/630607

Printed on: April 25, 2024 at 20:04 o'clock

Member: NordicMike
NordicMike Dec 11, 2020 at 11:06:15 (UTC)
Goto Top
Ich habe keinen Tip für dich zum Thema IPv6, aber zum Thema MTU, da ich es bei DSL Hybrid Leitungen besonders merke.

Dort ist die MTI auch zu groß, wenn du dann noch eine Kombination von zwei Tunnel hast, könnte das Paket viel zu groß sein.

Für weitere Tests kannst du die MTU ruhig übertrieben auf 1100 lassen, mehr als ein bisschen bremsen tut es nicht. Sobald alles funktioniert, kannst du damit wieder hoch gehen.
Member: aqui
aqui Dec 11, 2020 updated at 11:35:19 (UTC)
Goto Top
Das Problem ist das du NAT machst im Tunnel. Warum ist das so ? Normal macht man auf internen VPN Tunneln niemals NAT denn das verhindert transparentes Routing.
Sind die v6 Adressen öffentliche, also solche die dir per Prefix Delegation vom Provider übermittelt wurden oder hast du ein statisches Kontingent ?
Bei Cisco gibts ein entspr. Tutorial zu dem Thema:
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipv6/configuration/15- ...
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/interface/configuratio ...
Member: Daniel-Niewerth
Daniel-Niewerth Dec 11, 2020 at 15:18:28 (UTC)
Goto Top
Das NAT ist auf dem Tunnel Interface, damit die Hosts die sich hinter dem entfernten Router befinden, über den Core Router ins Internet kommen.
Aufgrund dessen das ich BGP Routing auf dem Core Router habe, habe ich kein Outside Interface worauf ich das NAT machen kann.
Vielleicht ist es totaler Unsinn, ich hatte aber keine bessere Idee. Ich habe das ganze Cisco Zeugs leider nie richtig gelernt. Ist alles learning by doing.

Die IPv6 Adressen sind aus meinem eigenen /48, bzw. aus einem Prefix das mir von einem netten Menschen zur Verfügung gestellt wurde.

Mit den beiden Links hast du mich auf zwei gute Ideen gebracht.

Ich bin beim Herumprobieren mit der MTU die ganze Zeit davon ausgegangen, dass der IP Header mit IPv6 nun 20 byte größer wird.
Die erste Grafik unter dem ersten Link hat mich nun zu der Vermutung gebracht, das ich nun IPv4 und IPv6 Header gleichzeitig im Paket habe.
Das werde ich mal ausprobieren.

Ich hab Beispiele für Dual Stack auf GRE Tunneln gesehen, jedoch keine Beispiele für Dual Stack mit IPsec.

Ich überlege ob ich über den IPsec Tunnel noch einen ipv6ip Tunnel drüber bauen kann.
Member: aqui
aqui Dec 11, 2020 updated at 18:17:11 (UTC)
Goto Top
Vielleicht ist es totaler Unsinn, ich hatte aber keine bessere Idee.
Ja, das ist es. Im internen Netz ist es doch generell Unsinn, ganz besonders auf einem Tunnel Interface. Wenn dann NATest du zentral alle internen IP Netze an deinen NAT Router der ins Internet geht und die öffentliche IP hält. Seine internen RFC1918 Netze zu NATen ist recht kontraproduktiv. Ganz besonders in einem dynamischen Routing Umfeld mit OSPF wie deinem. Aber nundenn...
Ich habe das ganze Cisco Zeugs leider nie richtig gelernt. Ist alles learning by doing.
Das kann man ja ändern. Guckst du hier:
Cisco 880, 890 und ISR Router Konfiguration mit xDSL, Kabel oder FTTH Anschluss plus VPN und IP-TV
aus einem Prefix das mir von einem netten Menschen zur Verfügung gestellt wurde.
Perfekt, das vereinfacht das Troubleshooting sehr.
dass der IP Header mit IPv6 nun 20 byte größer wird.
Ist natürlich Unsinn. Der bleibt bei 1500. Klassischer Default. face-wink
jedoch keine Beispiele für Dual Stack mit IPsec.
Du machst ja auch IPsec mit VTI, das ist ein himmelweiter Unterschied zu native IPsec wie du ja sicher selber weisst.
Ich überlege ob ich über den IPsec Tunnel noch einen ipv6ip Tunnel drüber bauen kann.
Das muss man nicht. Der IPv4 Tunnel überträgt auch IPv6. Das klappt aber rein nur in einem VTI bzw. GRE Umfeld. Guckst du dazu auch hier:
Cisco, Mikrotik, pfSense VPN Standort Vernetzung mit dynamischem Routing
Member: aqui
aqui Dec 13, 2020, updated at Dec 14, 2020 at 11:55:06 (UTC)
Goto Top
So sähe eine Bilderbuchlösung mit korrekter Tunnel Konfig aus ! IPv6 wird über den bestehenden IPv4 GRE Tunnel übertragen.

ipsecgre-neu

back-to-topKonfig Router 1:
!
crypto keyring CISCO-R1
pre-shared-key hostname CiscoR2 key geheim1234
!
crypto isakmp policy 5
encr aes 256
hash sha256
authentication pre-share
group 14
!
crypto isakmp profile CISCO_R2
description Dynamic VPN Tunnel Cisco R2
keyring CISCO-R1
self-identity user-fqdn CiscoR1
match identity user-fqdn CiscoR2
!
crypto ipsec transform-set R1SET esp-aes esp-sha-hmac
mode tunnel
!
crypto ipsec profile ROUTER2
set transform-set R1SET
set isakmp-profile CISCO_R2
!
!
interface Loopback1
ip address 172.27.27.1 255.255.255.255
!
interface Tunnel1
description VPN Tunnel Router-2
ip unnumbered Loopback1
ipv6 address FD77:2727:1122::1/127
ipv6 enable
ipv6 ospf 1 area 0
tunnel source Vlan99
tunnel destination 10.99.1.222
tunnel protection ipsec profile ROUTER2
tunnel path-mtu-discovery
tunnel mode gre ip
!
interface Vlan1
description Lokales LAN
ip address 172.27.1.254 255.255.255.0
ip nat inside
ipv6 address FD77:1111::1/64
ipv6 enable
ipv6 ospf 1 area 0
!
interface Vlan99
description Internet
ip nat outside
!
router ospf 1
router-id 172.27.27.1
network 172.27.1.0 0.0.0.255 area 0
network 172.27.27.1 0.0.0.0 area 0
!
ipv6 router ospf 1
!


back-to-topKonfig Router 2:
!
crypto keyring CISCO-R2
pre-shared-key hostname CiscoR1 key geheim1234
!
crypto isakmp policy 5
encr aes 256
hash sha256
authentication pre-share
group 14
!
crypto isakmp profile CISCO_R1
description IPsec Tunnel Router-1
keyring CISCO-R2
self-identity user-fqdn CiscoR2
match identity user-fqdn CiscoR1
!
crypto ipsec transform-set R2SET esp-aes esp-sha-hmac
mode tunnel
!
crypto ipsec profile ROUTER1
set transform-set R2SET
set isakmp-profile CISCO_R1
!
!
interface Loopback1
ip address 172.27.27.5 255.255.255.255
!
interface Tunnel1
description VPN Tunnel Router-1
ip unnumbered Loopback1
ipv6 address FD77:2727:1122::2/127
ipv6 enable
ipv6 ospf 1 area 0
tunnel source Vlan99
tunnel destination 10.1.1.222
tunnel protection ipsec profile ROUTER1
tunnel path-mtu-discovery
tunnel mode gre ip
!
interface Vlan1
description Lokales LAN
ip address 172.27.2.254 255.255.255.0
ip nat inside
ipv6 address FD77:2222::1/64
ipv6 enable
ipv6 ospf 1 area 0
!
interface Vlan99
description Internet
ip nat outside
!
router ospf 1
router-id 172.27.27.5
network 172.27.2.0 0.0.0.255 area 0
network 172.27.27.5 0.0.0.0 area 0
!
ipv6 router ospf 1
!


back-to-topIPv4 und IPv6 Routing Check Router 1:
 cisco-r1#sh ipv6 rou
IPv6 Routing Table - default - 7 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
       H - NHRP, D - EIGRP, EX - EIGRP external, ND - ND Default
       NDp - ND Prefix, DCE - Destination, NDr - Redirect, RL - RPL
       O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, la - LISP alt
       lr - LISP site-registrations, ld - LISP dyn-eid, lA - LISP away
       a - Application
C   FD77:1111::/64 [0/0]
     via Vlan1, directly connected
L   FD77:1111::1/128 [0/0]
     via Vlan1, receive
O   FD77:2222::/64 [110/1001]
     via FE80::D68C:B5FF:FE7F:3650, Tunnel1
C   FD77:2727:1122::/127 [0/0]
     via Tunnel1, directly connected
L   FD77:2727:1122::1/128 [0/0]
     via Tunnel1, receive
O   FD77:2727:1122::2/127 [110/2000]
     via FE80::D68C:B5FF:FE7F:3650, Tunnel1
L   FF00::/8 [0/0]
     via Null0, receive

cisco-r1#sh ip rou
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is 10.1.1.254 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 10.1.1.254
      10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        10.1.1.0/24 is directly connected, Vlan99
L        10.1.1.222/32 is directly connected, Vlan99
      172.27.0.0/16 is variably subnetted, 5 subnets, 2 masks
C        172.27.1.0/24 is directly connected, Vlan1
L        172.27.1.254/32 is directly connected, Vlan1
O        172.27.2.0/24 [110/1001] via 172.27.27.5, 00:31:59, Tunnel1
C        172.27.27.1/32 is directly connected, Loopback1
O        172.27.27.5/32 [110/1001] via 172.27.27.5, 00:31:59, Tunnel1 

back-to-topIPv4 und IPv6 Routing Check Router 2:
 cisco-r2#sh ipv6 rou
IPv6 Routing Table - default - 7 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
       H - NHRP, D - EIGRP, EX - EIGRP external, ND - ND Default
       NDp - ND Prefix, DCE - Destination, NDr - Redirect, O - OSPF Intra
       OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
       ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
       ld - LISP dyn-eid, lA - LISP away, a - Application
O   FD77:1111::/64 [110/1001]
     via FE80::4E00:82FF:FE32:40A4, Tunnel1
C   FD77:2222::/64 [0/0]
     via Vlan1, directly connected
L   FD77:2222::1/128 [0/0]
     via Vlan1, receive
O   FD77:2727:1122::/127 [110/2000]
     via FE80::4E00:82FF:FE32:40A4, Tunnel1
C   FD77:2727:1122::2/127 [0/0]
     via Tunnel1, directly connected
L   FD77:2727:1122::2/128 [0/0]
     via Tunnel1, receive
L   FF00::/8 [0/0]
     via Null0, receive
	 
	 cisco-r2#sh ip rou
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is 10.99.1.254 to network 0.0.0.0

S*    0.0.0.0/0 [254/0] via 10.99.1.254
      10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        10.99.1.0/24 is directly connected, Vlan99
L        10.99.1.222/32 is directly connected, Vlan99
      172.27.0.0/16 is variably subnetted, 5 subnets, 2 masks
O        172.27.1.0/24 [110/1001] via 172.27.27.1, 00:36:39, Tunnel1
C        172.27.2.0/24 is directly connected, Vlan1
L        172.27.2.254/32 is directly connected, Vlan1
O        172.27.27.1/32 [110/1001] via 172.27.27.1, 00:36:39, Tunnel1
C        172.27.27.5/32 is directly connected, Loopback1 

back-to-topIPv6 Ping Check Router 1 auf 2 (LAN):
cisco-r1#ping ipv6 FD77:2222::1 source FD77:1111::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FD77:2222::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms 

back-to-topIPv6 Ping Check Router 2 auf 1 (LAN):
cisco-r2#ping ipv6 FD77:1111::1 source  FD77:2222::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FD77:1111::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/4 ms 

Fazit:
Works as designed !! face-wink
Member: Daniel-Niewerth
Daniel-Niewerth Dec 13, 2020 at 18:47:11 (UTC)
Goto Top
Danke für die Erklärung.

Wenn ich es richtig verstanden habe ist mein Problem das ich es mit IPSec statt GRE versuche. Korrekt?
Member: aqui
Solution aqui Dec 13, 2020 at 20:35:22 (UTC)
Goto Top
das ich es mit IPSec statt GRE versuche
Ja, das ist richtig. Das geht nur mit GRE. Sprich tunnel mode ipsec ipv4 musst du einfach abändern in tunnel mode gre ip (Default und erscheint deshalb nicht in der Konfig)
Dann sollte das sofort zum Fliegen kommen.
Ansonsten hast du ja die komplette Konfig oben zum Abtippen