LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Networking (http://www.linuxquestions.org/questions/linux-networking-3/)
-   -   RT_Tables and VRF simulation inside host (http://www.linuxquestions.org/questions/linux-networking-3/rt_tables-and-vrf-simulation-inside-host-4175437155/)

highland7 11-14-2012 01:46 PM

RT_Tables and VRF simulation inside host
 
Hello
I use software to simulate routers, that software creates two interfaces in system for each of two interfaces of the router.
That interfaces are routed interfaces via which i can communicate with simulated router.
Lets call that interfaces:
netio0 - linux ip address 172.16.10.1, router: 172.16.10.10
netio1 - linux ip address 172.16.11.1, router: 172.16.11.10

i wanted to send packet thru that router, but normally of course when i send packet from 172.16.10.1 to 172.16.11.1 it would never be send via any of interfaces because these are locally configured interfaces (or the response problem even for static routing entries) So i used:

echo 1 VRF1 >> /etc/iproute2/rt_tables
echo 2 VRF2 >> /etc/iproute2/rt_tables
ip route add default via 172.16.10.10 dev netio0 table VRF1
ip route add default via 172.16.11.10 dev netio1 table VRF2

And created rules which for the traffic from one side to another use specific RT_Table:
ip rule add from 172.16.10.0/24 table VRF1
ip rule add from 172.16.11.0/24 table VRF2

And it works, but only partially.
Traffic from 172.16.10.1 to 172.16.11.10 (other interface of router) works fine.
Traffic from 172.16.10.1 to 172.16.11.1 is sent through router and i can sniff it on other side (netio1), but linux system never respond to that traffic.

It looks like linux kernel limitation to me: it will discard the packet from one of it's interfaces to another.
Could you confirm ?

Do you have any way to simulate VRFs on Linux ? I need independent routing tables which are really separated (like on cisco/juniper routers which are based on ...linux).

Thanks,

nini09 11-19-2012 03:29 PM

You need to use VLAN interface plus ip tool to simulate VRF.

highland7 11-20-2012 03:08 AM

As you see i am using ip tool to simulate VRF and it's working for me but with some limitations.
"VLAN interface " - do you mean 802.1q ?
adding 802.1q would not change anything, still i would need to accept and respond to packet from other logical interface (instead of physical interface) - and in fact i already use logical (not physical interfaces).

nini09 11-20-2012 02:08 PM

My point is that the traffic can send out but system doesn't respond the incoming traffic because the VLAN isn't used.

highland7 11-21-2012 12:01 AM

but why whould it respond if VLAN is used ?
It's just another interface. Right now it's also in another interface (netio interface).
And just to clarify: speaking VLAN you mean 802.1q ?

Thanks

nini09 11-26-2012 02:36 PM

Yes, VLAN is 802.1q.
For IP rule, I think you should use iff instead of from. Please execute "ip route list VRF2" and "ip rule show".

Your:
ip rule add from 172.16.10.0/24 table VRF1
ip rule add from 172.16.11.0/24 table VRF2

Should be
ip rule add iif netio0 table VRF1
ip rule add iif netio1 table VRF2


All times are GMT -5. The time now is 12:14 PM.