I have a raspberry 2 with a wifi interface and an ethernet interface. wifi is my main connection with the ability to just plug in the ethernet as a backup method. I want to assign different static address for each interface.
What I want is to be able :
- to boot with only the USB wifi connected on the first address
- to boot with only the ethernet connected on the second address
- to boot with both wifi and ethernet and be able to use both addresses
- to boot with only the wifi; then hotplug the ethernet and be able to use both addresses.
- when both wifi and Ethernet are connected, to be able to keep the other connection when one of them is down for a reason or anothe.
I couldn't manage to do this. If someone could help me I would be very thankful.
Here's my /etc/network/interfaces file :
auto lo
iface lo inet loopback
auto wlan0
#allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
wpa-ssid my-network
wpa-bssid XX:XX:XX:XX:XX:XX
wpa-psk xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1
Best Answer
I would use device bonding, meaning you are creating a new virtual device for which you assign the network settings (e.g. IP address, mask, etc.) and then you enslave both the ethernet and wifi interfaces to that interface.
Something like:
This has the advantage of covering all your scenarios from 1 to 5 with one exception: you have only 1 IP address. If that would be a problem, then you could always create an "alias" (e.g. bond0:0) and give a different IP address for that one. Then you would always have both IP addresses reachable even if only 1 interface is active.
More details can be found online. E.g.: http://www.codekoala.com/posts/bonding-eth0-and-wlan0-arch-linux/