From mboxrd@z Thu Jan 1 00:00:00 1970 From: Han Changzhe Date: Thu, 26 Feb 2015 06:39:03 +0000 Subject: A smart router for more than one default routes Message-Id: <54EEBF87.50109@nebulat.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lartc@vger.kernel.org Hello experts, I'm setting up a routing server on Linux with following links 1. An Ethernet link (eth0) to the 1st internet link (fast, but can't access some sites); 2. A VPN link (tun0) to provide services to local users; 3. A VPN link (tun1) to a proxy server as the 2nd internet link (slow, free). My target is: * for common internet access, routing the packets through eth0; * for the sites can't be accessed through eth0, routing them through tun1. By now, I set the routing table manually for serveral sites and it works fine. Because there are thousands of them and the sites change with time, so I want a better solution. My idea is like this: setting up more than one default routes for internet access, then dynamically change the route table (or route table cache) with some software according to the internet access results. For example, if we get a timeout from https://www.google.com through eth0, the software should try it through tun1 link and, when succeed, adding the later route to current route table. I don't know if any routing software on Linux work as I expected. I tried quagga with zebra + ospf but not successful. FYI, it's not a common case for link based fail-over/load balance. Please give me suggestions! Thanks in advance, Changzhe