My HP DV7T laptop running 12.2/KDE 4.9 has both 802.11N Wireless and GigE networking interfaces.
I use Network Manager to manage them,
WiFi autoconnects to my home network (802.11N), DHCP.
When I anticipate some heavy network transfers, I’ll also connect the ethernet cable.
I have ethernet set up with a static address.
I have a Samba Server running and an NFS Share connection to my desktop system (also 12.2/KDE4.9).
On boot, wireless is typically enabled. If I connect the ethernet, both show in Network Manager as active.
If I leave Wireless active and start a big file transfer via NFS, it appears that the traffic is all wireless.
I conclude this by watching the Ethernet Switch LEDS sitting on my desk - I see activity on the uplink to the WiFi AcessPoint and the Desktop, but little on the port connected to the laptop via ethernet.
Likewise, Samba traffic seems to follow the wireless path.
In an experiment to force the traffic to the faster link, I opened Network Manager and un-selected the Enable Wireless checkbox.
I continue to have Internet access and can browse the home network from the laptop for other Samba Servers, etc,
but find that the NFS connection will no longer browse the desktop and the Laptop Samba connection is not available from the desktop.
So my conclusion is that on startup, both NFS and Samba bind exclusively to the Wireless connection and don’t auto switch to the Ethernet when wireless fails.
With wireless disabled, I am able to execute:
sudo /etc/init.d/smb restart
sudo /etc/init.d/nmb restart
sudo mount -a
And Samba and NFS now run as I want them to.
Is there a setup or configuration option that would essentially make ethernet a fail-safe alternate route without the restart of the networking services?
If you’re running KDE,
Click on the Network Manager applet on the right of your default panel which also has your application launcher button on the left end.
Network Manager should pop up, the bottom left should be two checkboxes, one will disable/enable networking entirely, the other will disable/enable wireless. BTW - these checkboxes will also reset configuration settings.
Since I haven’t setup an automatic solution for what you want, I’d have to think long and hard on that one with some investigation.
Some possible starting points…
Your request can probably be addressed by either load balancing or NIC melding. The former is usually a solution for different machines, providing services by directing client requests to the most available machine and can be used in intermittently connected scenarios (eg fault tolerance). The latter is used more typically to enable faster throughput by providing additional pathways and is “always on.”
So, am thinking that melding your wired and wireless NICs might be more appropriate so that both can be used on your network at the same time (ordinarily this would be a critical mistake). The default Linux TCP/IP stack is supposed to support this, no additional software needs to be installed. An extra complication is binding services to the proper interfaces (you’re performing as a Server and not as a client), this may or may not be an issue but probably would need to be configured.
So, although I’ve seen some Enterprise solutions that more or less do what you’re asking about, doing this with a wired and wireless connection is a bit unusual (and wouldn’t be in any Enterprise scenario). Even if you’re successful at setting this up, I’m wondering what effect the different mediums will have, obviously wireless will have latencies and possibly drops which you wouldn’t see on a wired connection.
If you’re successful at doing what you want or even if you run into issues creating this, be sure to post back so others can see what you’ve done.
It almost makes me recommend that you give up on deploying your server resourcces like SAMBA on wireless completely. Maybe run a second server virtualized (eg Xen, Virtualbox, KVM, VMware, etc) or paravirtualized (eg LXC, chroot), then configure all your Server services within the VM bound to the wired interface while you do your personal computing over the wireless (if you even have to do that).