Networking-Blog

My WordPress Blog

Unable to Browse Internet when Using a GRE Tunnel?

56a.gif


Internet Control Message Protocol (ICMP) type 3 code 4 packet

(Destination Unreachable; Fragmentation Needed and DF set).
!
This ICMP message contains the correct MTU to be used by the Web Server,
which should receive this message and adjust the packet size accordingly
.

You can view the ICMP messages sent by R2 by enabling the debug ip icmp command:

Blocked ICMP Messages

A common problem occurs when ICMP messages are blocked along the path to the Web server.
When this happens, the ICMP packet never reaches the Web server, thereby preventing data from
passing between client and server
.

Further Solutions

Use policy routing to clear and set the DF bit in the data IP packet

route-map clear-df permit 10
match ip address 101
set ip df 0

!
interface ethernet 0
ip policy route-map clear-df
!
access-list 101 permit tcp 10.1.3.0 0.0.0.255 any

This will allow the data IP packet to be fragmented before it is GRE encapsulated.
!
The receiving end host must then reassemble the data IP packets.
The end hosts now send TCP/IP packets no larger than this value
.

interface tunnel0
ip tcp adjust-mss 1436

The router on the other end of the GRE tunnel must reassemble the GRE tunnel packet
before it can remove the GRE header and forward the inner packet.
IP packet reassembly is done in process-switch mode and uses memory.
Therefore, this option can significantly reduce the packet throughput through the GRE tunnel
.

interface tunnel0
ip mtu 1500

Cisco GRE Tunnel Over Ipsec VPN

Cisco GRE Tunnel over IPSEC VPN Configuration:

 Router 1 Configuration:crypto isakmp policy 10
encryption aes 128
hash sha
autentication pre-share
group 2
!
crypto isakmp key cisco address 193.1.1.1 255.255.255.255 no-xauth
crypto ipsec transform-set ciscotransit esp-aes esp-sha-hmac
!
crypto ipsec profile VTI
set transform-set ciscotransit
exit
!
interface tunnel 0
ip address 10.10.12.1 255.255.255.0
tunnel source 192.1.1.1
tunnel destination 193.1.1.1
tunnel mode ipsec ipv4
tunnel protection ipsec VTI
!
interface G0/1
ip address 192.1.1.1 255.255.255.0
exit
!
interface G0/0
ip address 10.10.10.1 255.255.255.0
exit
!
ip route 10.10.11.0 255.255.255.0 tunnel 0
end
!

Router 2 Configuration on Remote end:

crypto isakmp policy 10
encryption aes 128
hash sha
autentication pre-share
group 2
!
crypto isakmp key cisco address 192.1.1.1 255.255.255.255 no-xauth
crypto ipsec transform-set ciscotransit esp-aes esp-sha-hmac
!
crypto ipsec profile VTI
set transform-set ciscotransit
!
interface tunnel 0
ip address 10.10.12.3 255.255.255.0
tunnel source 193.1.1.1
tunnel destination 192.1.1.1
tunnel mode ipsec ipv4
tunnel protection ipsec VTI
!
interface G0/1
ip address 193.1.1.1 255.255.255.0
!
interface G0/0
ip address 10.10.11.1 255.255.255.0
!
ip route 10.10.10.0 255.255.255.0 tunnel 0

Notes:

tunnel mode ipsec ipv4

 “Command to notify the router that this is an IPSec-based interface rather than GRE”.

 tunnel protection ipsec

 “Command to choose the type of encryption (transform-set) for the interface”.

Note:

What I did was create the tunnel interfaces on both ends

Enable EIGRP and enable the process on the tunnel ip addresses

Then I created a loopback interface and advertised that into EIGRP

Now I can track the route so if the main interface would drop the tunnel would still show up/up  but would drop its EIGRP adjacency which would drop the route.

Show Commands:

show ip interface brief
show crypto isakmp sa
sh0w crypto ipsec sa
show crypto session