Novell Open Enterprise Server Linux
How to set up source based routing with Linux
Source based routing with Linux
On standard internet systems, when a packet is received and needs to be routed, the decision is made based on the destination of the packet. However let's deal with a situation where there are two interfaces eth0 and eth1. All the traffic not in the local subnet will be routed to the default gateway of x.x.x.x. But what if the packets originating from eth1 should be routed to y.y.y.y. The following steps will help in achieving this
- Edit /etc/iproute2/rt_tables.
- At the bottom, please type 100 SECONDPOA.
Replace SECONDPOA with any other string.
- Save the file.
- Please type ip rule add from s.s.s.s table SECONDPOA where s.s.s.s is the IP Address of the eth1.
- Please type ip route add default via y.y.y.y dev eth1 table SECONDPOA and press Enter where y.y.y.y is the IP Address of the next hop for packets originating from eth1.
- Once the above test is successful, please follow the sub steps below to make ip rule statement persistent across reboot.
- Create a file /etc/rc.d/rclocal .
- Paste the following in the file. Modify the ip rule statement accordingly.
### BEGIN INIT INFO
# Provides: rclocal
# Required-Start: $local_fs $remote_fs $network
# X-UnitedLinux-Should-Start: $ALL
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Simulates rc.local
# Description: Simulates redhat's rc.local: contains
# commands to execute after system has booted (all services are already
### END INIT INFO
case "$1" in
ip rule add from s.s.s.s table SECONDPOA
- Save the file
- Type "chmod +x rclocal" without quotes and press Enter.
- Type "chkconfig rclocal on" without quotes and press Enter.
- Once the above test is successful, please make the ip route statement persistent. Please edit /etc/sysconfig/network/routes and type
default y.y.y.y - eth1 table SECONDPOA
where y.y.y.y is the next hop that packets originating from eth1 needs to take.