i have a zerosheell box set up as router.
One internet connection is pppoe (eth01), everything works just fine.
The lan is on eth00.
Soon i will get another line from another ISP, i will receive a static external IP address for it, i will plug the cable into eth02.
Problem is i’m not very sure what to set up and how to do it to make one machine (webserver) inside the lan to use that new connection for outgoing and incoming connections.
The listening part should be simple, i just add the ports and ips in the router -> virtual server section, but how do i make it use the new connection when i download something on the server for example ?
Another thing is that the pppoe is the default route, so i’m thinking that when i plug the line into eth02 things will get a bit ugly… or won’t they ?
If someone has the time and knows more about this stuff then i do, some hints would be greatly appreciated.. Thanks in advance
You would need to create two seprate table for that , one for each isp . This is basically equal cost multipath routing or a case of multiple default routes.
Idea is to use the correct source address and interface for each pkt.
You will need to mark the packets for both incoming and outgoing depending upon your requirements.
Inside the main table the default route will something like this
ip ro add default nexthop via x.x.x.x dev ppp0 nexthop via y.y.y.y dev eth2
You can also have single default route via ppp0 and for webserver you route all outgoing pkts to use eth2 src ip address.
Mine suggestion will be to first try out in a local linux machine and experiment there, once you are sure then you can move it to zeroshell , there also i guess you have to use console to configure it .
Here are few resources , where you can find more info. lartc.org and netfilter list its a must read if you want to try this out otherwise you will struggle.
if you do try make sure you have IP_ROUTE_MULTIPATH_CACHED disabled in the kernel.
good luck. 🙂