As mentioned in my previous post I got an
Internet gateway which is a Linux box and I have two
Internet connections connected to that server. One is a 2
Mbps Leased-Line and the other a 1
Mbps wireless connection. I want hosts from specific
subnets have their
Internet traffic directed to the wireless
Internet connection while others go through the Leased-Line link.
This is easily done with
Linux and
iproute2 suit which is installed by default on Fedora.
By default all routes are stored in a table called "main" and by issuing the following command the routes stored inside this table can be displayed:
The results are exactly that same as just running the "route" command.
Any queries
coming to this server for routing decisions will be looked up in the "main" table unless mentioned otherwise. But how is this possible?
It is also possible to define a new routing tables and have different routing entries inside the new defined table and apply rules so that traffic from specific sources are directed to this new table for route look up!
First:
we need to create a new table which easily handled by adding the name at the end of /etc/
iproute2/rt_table. It may look like this:
10 wireless-link
Second:
New routes should be added to this table:
- ip route add 192.168.120.0/24 via 192.168.10.1 table wireless-link
- ip route add default via 80.120.99.12 table wireless-link (This defines the default route for "wireless-link" routing table)
- ip route list table wireless-link (This will display routes added to wireless-link)
Third:
Route rules must define when requests must be looked up in the "wireless-link" table!
- ip rule add from 192.168.120.0/24 table wireless
- ip rule list (display ip rules)
From now on, every traffic coming from 192.168.120.0/24 will be leaded to wireless-link table so its default route will be 80.120.99.12 while traffic from other sources will be still lookup routes in the "main" table which has its own default route (Leased-Line).
To undo ip rules and routes the following syntax must be followed:
- ip rule del from 192.168.120.0/24 table wireless
- ip route del default via 80.120.99.12 table wireless-link
Labels: Firewall, Internet, Linux, Networking