/etc/network/interfaces declarations

Isaac Dunham ibid.ag at gmail.com
Mon Apr 4 23:07:41 UTC 2016


Replying to this email and your other email.

Clarifying plugins:
ifup runs *all* scripts in /etc/network/if-*.d, with the time depending
on the directory.
Plugins are simply scripts dropped into the right directories, that use
the environment variables set by ifup.
As a result, the line
	dns-nameservers 8.8.8.8 4.4.4.4

would result in every script in /etc/network/if-*.d/ getting the variable:
IF_DNS_NAMESERVERS="8.8.8.8 4.4.4.4"

So it doesn't matter what the name of the script is. (It could be
'nameservers', 'resolvconf', or even 'foobar'.)

On a computer with a working /etc/network/interfaces configuration, you
can switch to busybox ifup and it should continue working.

On a system with just busybox ifup/ifdown, you would need to install
resolvconf and wpa_supplicant, making sure that there are scripts in
/etc/network/if-*.d/.

On Mon, Apr 04, 2016 at 04:03:55PM -0400, David Henderson wrote:
> >> And I just wanted to make sure that I could use something like:
> >>
> >> ifup -i /etc/network/interfaces eth0
> >>
> >> will process that file as is defined (like the example provided
> >> below).  There isn't anythink like this with just ifconfig correct?
> > No, ifconfig doesn't do all that.
> >
> >
> > The 'example provided' is only a list of options.
> >
> > If I'm understanding correctly, you're probably thinking of something
> > more like this:
> > ===
> > # eth0 here is manually configured ethernet, brought up by hand
> > iface eth0 inet static
> > 	address 192.168.0.10
> > 	netmask 255.255.255.0
> > 	gateway 192.168.0.1
> > 	dns-nameservers 1.1.1.1 1.1.1.2 1.1.1.3
> > 	dns-search newdomain.local olddomain.local outside.com
> >
> > # wlan0 is wireless auto-configured by dhcp, brought up automatically
> > auto wlan0
> > iface wlan0 inet dhcp
> > 	wpa-conf /etc/wpa_supplicant.conf
> > ===
> 
> Yeah, sorry about that, but you are correct in your assumption.
> 
> 
> > Assuming you have resolvconf and wpa-supplicant installed, it should work.
> > But unless you use wireless in a stationary PC, you would do better to
> > use 'wpa-roam':
> > ===
> > # 'default' should not be marked 'auto'; IT IS MAGIC!! ;)
> > # the wpa_supplicant plugin will bring up the logical interface specified
> > # by 'id_str' in wpa_supplicant.conf, or 'default' if id_str is not
> > # configured.
> > # The physical interface you run wpa_supplicant on will be used for
> > # any logical interfaces.
> >
> > iface default inet dhcp
> >
> > auto wlan0
> > iface wlan0 inet manual
> > 	wpa-roam /etc/wpa_supplicant.conf
> > ===
> >
> > "-i CONFIGFILE" is optional; it defaults to /etc/network/interfaces.
> 
> What's the advantage to using 'wpa-roam' vs 'wpa-conf'?

'wpa-conf' will run wpa_supplicant, then assume that there's a connection
and continue, starting the DHCP client or running the manual config.

'wpa-roam' will run wpa_supplicant, listen until wpa_supplicant reports a
connection, and then apply the appropriate configuration for the network.

As a result, wpa-conf has a tendency to cause hangs in the boot process,
while wpa-roam yields faster starts and works better with switching
networks.
(In some cases, buggy out-of-tree drivers can panic the kernel with
wpa-conf; several years ago I noticed that madwifi liked to panic if the
dhcp client started before the connection was complete.)

HTH,
Isaac Dunham


More information about the busybox mailing list