DebbyIan wrote:I'd still like a critique of this if possible
Here you are.
0) You did not post the resulting ip rules and contents of the custom routing tables.
1) Combining DHCP and static routes and rules is not consistent. At this point you should use a static IP configuration.
2) Your setup creates conflicting routes and rules. The kernel will use one and ignore the others.
Code: Select all
post-up ip rule add from 192.168.0.0/24 table wlan0_table
post-up ip rule add from 192.168.0.0/24 table wlan1_table
post-up ip rule add to 192.168.0.0/24 table wlan0_table
post-up ip rule add to 192.168.0.0/24 table wlan1_table
Same destinations, different tables.
Code: Select all
default via 192.168.0.1 dev wlan0 proto dhcp src 192.168.0.47 metric 302
default via 192.168.0.1 dev wlan1 proto dhcp src 192.168.0.45 metric 303
192.168.0.0/24 dev wlan0 proto dhcp scope link src 192.168.0.47 metric 302
192.168.0.0/24 dev wlan1 proto dhcp scope link src 192.168.0.45 metric 303
Same destinations, different interfaces.
3) The multihop default route does not specify router (formerly gateway) addresses :
Code: Select all
default
nexthop dev wlan0 weight 1
nexthop dev wlan1 weight 1
This is interpreted as "any IPv4 address is directly reachable on the link" which is of course wrong, because most destinations are actually reachable through a router. It won't work unless you set up some proxy ARP (ugly hack) for any address which is not reachable on link.
4) IIUC, this setup does load balancing only for the first outgoing packet of a connection when the source address is not defined before routing the packet and the destination is not 192.168.0.0/24, so the default multihop route is used.
It also does not do any efficient load balancing for incoming traffic. Load balancing is only a side effect of ARP resolution : by default the kernel replies to any ARP request for any local address on any interface, even though they do not match ("weak host model").
DebbyIan wrote:What I really want to accomplish is to load balance access to the gateway using multiple network interfaces/adapters. This I believe should be possible regardless of the type of ethernet facility used.
1) Wireless is not ethernet.
2) No, load balancing is not possible on any ethernet facility. As someone else wrote, a wireless access point is a shared medium. You can think of it as an ethernet hub or an ethernet coaxial wire : only one interface can talk a a given time or there would be collisions. So sending traffic through multiple interfaces connected to the same hub, coaxial wire, wireless access point or any other kind of shared medium would not increase throughput.