Routing Without NAT – Routing Between Identical Subnets Without Using NAT

ipv4routingvlan

Recently I came across an L3 switch configuration that I thought was a bit strange.
So this question is to understand 1) whether these type of configurations are common practice, and 2) whether you see any issues with it.

I will attempt to describe the scenario from a first person narrative, though I claim no credit/blame for this.

I have two separate subnets A and B with identical IPv4 network id (say 130.10.0.0/16). Each network has one L3 switch and uses the same VLAN ID (say 3) for these subnets. For simplicity consider A and B are almost clones of each other.

These two networks must remain separate broadcast domains. There are many IP addresses that are used in both networks. I cannot change IP address of any of the existing nodes.

Now I have to route IP traffic from a newly added node with IP address 130.10.10.221 in network A to a newly added node in network B with IP address 130.10.10.222.

My L3 switches do not support NAT and replacing these switches is not an option.

The only good news so far is that for the new nodes I can chose IP addresses such that they are unique across both A and B. That is 130.10.10.221 exists only in A and 130.10.10.222 exists only in B.

I add a new VLAN 10 on both switches and assign one port on each switch to this VLAN.
Assign 10.1.20.1/24 to vlan 10 routing interface (SVI) of switch A and 10.1.20.2/24 to vlan 10 SVI of switch B.

add ip route 130.10.10.222 255.255.255.255 10.1.20.2 on switch A
add ip route 130.10.10.221 255.255.255.255 10.1.20.1 on switch B
enable proxy arp in VLAN 3 on both switches.

Connect the VLAN 10 port on switch A to the VLAN 10 port on switch B.

When 130.10.10.221 ARPs for 130.10.10.222 the router responds because it has a route configured for this destination and proxy ARP is enabled. When the packet destined for 130.10.10.222 reaches switch A, as per IP forwarding rules the static route with the 32 bit subnet mask is the most preferred route (trumping the local vlan 3 with 16 bit subnet mask), and therefore the packet gets forwarded onto switch B via VLAN 10. In switch B 130.10.0.0/16 is a "connected" (or direct) route and therefore the packet gets forwarded into B's VLAN 3. The reverse happens for traffic coming from B to A. Both VLAN 3 s remain separate and 130.10.10.221 in VLAN 3 on switch A can make a TCP connection to 130.10.10.222 in VLAN 3 on switch B. What can possibly go wrong ?

Best Answer

What can possibly go wrong ?

Lets say you have devices with ip 130.10.10.10 on both networks. Suppose 130.10.10.10 on network A sends a packet to 130.10.10.222.

The packet is delivered successfuly to 130.10.10.222 on network B which then generates a reply. But the reply is delievered to 130.10.10.10 on network B. Depending on what procotols are in use on the networks that could have "interesting" results.