I am learning about networks and I have reached the topic of tunnels. At the same time, I have a need to set up a GRE (Generic Routing Encapsulation) tunnel between a remote server (to route addresses from it) and a workstation.
First, I am simulating the situation in Packet Tracer to understand how it works.
The setup is simple, the router at the top of this pyramid simulates the service provider network. A GRE tunnel is established between the other two routers. The routers have routes configured through this tunnel, as expected.
When the tunnel is established on both sides, it works. And it works like this:
- The computer sends a packet.
- The router, thanks to the static route, recognizes that the desired network is behind the tunnel.
- The router adds a GRE header.
- The router adds an IP header according to the tunnel configuration.
- The router sends the packet.
- The packet reaches the receiving router.
- It removes the outer IP header.
- It sees the GRE header and removes it.
- It continues to route the packet as usual.
However, if the tunnel is only established on one side, the receiving router does not remove the GRE header. At least in Packet Tracer.
Question: Why does this happen? And is it possible to make it work in such a scenario?
Correct me if I misunderstand gre logic