I would like to establish a GRE Tunnel connection between a Cisco CSR1000v and an EC2 instance that runs Ubuntu 18.04.02 LTS Linux 4.15.

enter image description here

In R1 CSR1000v the configuration is the following:

interface Tunnel99
 ip address
 keepalive 2 3 
 tunnel mode gre ip
 tunnel source GigabitEthernet1
 tunnel destination
 tunnel path-mtu-discovery

The Tunnel interface description is the following

Interface          IP-Address      OK? Method Status                Protocol
GigabitEthernet1       YES DHCP   up                    up
Tunnel99       YES manual up                    down

In the EC2 instance, I got the following configuration

modprobe ip_gre
lsmod | grep gr
sudo ip tunnel add gre0 mode gre remote local ttl 255
sudo ip link set gre0 up
ip addr add dev gre0

The problem is I couldn't ping the tunnel's interface from both sides. And the GRE0 interface shows a destination address as same as the tunnel's IP address.

gre0: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 8977
        inet  netmask  destination
        inet6 fe80::200:5efe:ac00:106  prefixlen 64  scopeid 0x20<link>
        unspec AC-00-01-06-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 171  bytes 4104 (4.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7  bytes 392 (392.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • ip addr show dev gre0? Also you might want to set tunnel source [egress-ifc-private-ip] on the CSR. – Michael - sqlbot Apr 11 at 14:43
  • @Michael-sqlbot I don't get the part of setting tunnel source [egress-ifc-private-ip] – Khalil Mebarkia Apr 12 at 9:50
  • Disregard that comment, you already set tunnel source as the interface and I somehow overlooked that when I made the suggestion. – Michael - sqlbot Apr 12 at 13:55
  • @Michael-sqlbot The problem is the tunnel protocol is down in the CSR. Therefore pining the tunnel address is unsuccessful and the other side is of course unreachable. However, from Linux instance pinging the tunnel address is successful – Khalil Mebarkia Apr 12 at 14:04

It turns out that MPLS is not running the Linux kernel 4.15 in AWS. In order to install Quagga with LDP daemon that runs SR MPLS from a VM to another, the kernel must be updated or you need Linux 4.5 or latest.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.