What might I do Linux-wise to create a "system" that looked at multiple gateways and then assigned (via DHCP) the gateway that was the least congested?
Anyone have any good suggestions in this department?
(I am planning on having a temporary wireless mesh with several satellite uplinks, and I would like to forward requests to whichever uplink is the least utilized)
What might I do Linux-wise to create a "system" that looked at multiple gateways and then assigned (via DHCP) the gateway that was the least congested?
Anyone have any good suggestions in this department?
Your assumption is that the level of congestion would remain unchanged for the length of the lease? Maybe an alternative is something that hands out one gateway then decides possibly what ip to masquerade with.
jlc
Joseph L. Casale wrote:
What might I do Linux-wise to create a "system" that looked at multiple gateways and then assigned (via DHCP) the gateway that was the least congested?
Anyone have any good suggestions in this department?
Your assumption is that the level of congestion would remain unchanged for the length of the lease? Maybe an alternative is something that hands out one gateway then decides possibly what ip to masquerade with.
This is a good idea, thanks. So, I'm assuming that you mean something like this?
This is a good idea, thanks. So, I'm assuming that you mean something like this?
Yeah, I don't know how "sexy" the solution would be, but you could poll for throughput/availability with a script, then rewrite the iptables rule for example taking the new, preferred outside route as your new external IP to masq with. It would be functional, and given the external link your moving away from is likely down you probably don't have to worry about existing connections, or do you? :)
Once you rewrite the rule and refresh it, current connections getting masq'ed will be killed. If your in the middle of secure connection to something/someone or a download, it will be terminated.
There is *no* way of maintaining any connection between different paths in this situation unless you specifically have something setup with your provider that is aggregated across {n} connections, but then we wouldn't be discussing this:)
jlc