I also have a problem with a GRE tunnel (my first one
) so I decided to post it here. Here's how things look:
networkA is 192.168.1.0/24 with routerA that has eth0 (ip a.b.c.d) and br0 (ip 192.168.1.1)
networkB is also 192.168.1.0/24 (that's the tricky part
) with routerB that has eth0 (ip e.f.g.h) and eth1 (ip 192.168.1.10).
After reading a while about it, I found out that I had to use proxy_arp to get things to work. So here's what i did:
ip tunnel add tun0 mode gre remote a.b.c.d local e.f.g.h ttl 255
ip link set tun0 up
ip addr add 192.168.1.10 dev tun0
ip route add 192.168.1.1 via 192.168.1.10 dev tun0
and, on the other router, the same thing, but mirrored (switched remote with local). Pinging from routerA to routerB gives me only icmp echo requests on both end of the tunnel (tun0 monitored with tcpdump). My guess is that the problem is with that last route I added, but I can't figure it out. ip_forward is 1, proxy_arp is 1.
P.S.: does it matter what IP do I assign to tun0? My guess is no, but I want to make sure.