CODEVOID
Distfiles Pastebin Smokeping

OpenBSD: a simple laptop network setup (with dhcp)

Note, each of the commands comes with a man page, which I encourage you to read. This post is merely to get you started.

Manuel Ethernet Device Setup

List available network devices and configuration

# ifconfig

Typical ethernet devices are em0, bge0, re0. Look at the manpage of em(4), bge(4) or any other device you might find to learn about what it is.

You can configure these devices with

# ifconfig <device> <option>

Read ifconfig(8) to learn about available options.

In a typical home network with dhcp, you would type something like this

# ifconfig em0 inet autoconf

If you want to add IPv6 connectivity do the same with “inet6”

# ifconfig em0 inet6 autoconf

As a last step, you need to activate the device

# ifconfig em0 up

Manuel Wireless Device Setup

Typical wireless devices are run0, iwx0, iwn0, iwm0. They have manpages as well look up the device name without number.

You connect a wireless device to your network without

# ifconfig iwx0 nwid MyNetworkSSID wpakey MyWifiPassword

Once this is done, the configuration can continue like with an ethernet device

# ifconfig iwx0 inet autoconf
# ifconfig iwx0 inet6 autoconf # for IPv6
# ifconfig iwx0 up

To remove the IPv6 configuration from an interface, you can do

# ifconfig iwx0 -inet6

Most confgurations can be removed this way.

Setting the configuration active without restarting

If you changed the /etc/hostname.* files, you can reconfigure the network with the netstart shell script

# sh /etc/netstart

Note that this script adds the confguration to devices as specified. If you remove a /etc/hostname.* file, netstart will not know about this device and ignore it.

Making the configuration permanent

The concept of storing the network device setup is decribed in the manpage hostname.if(5).

A typical configuration for a wireless device would look like this

# cat /etc/hostname.iwx0
join MyHomeNetworkSSID wpakey MyHomeWifiPassword
join MyWorkNetworkSSID wpakey MyWorkWifiPassword
inet autoconf
inet6 autoconf
up

You may recognise these commands from the manual configuration. The file is named hostname.<device> and it basically contains the ifconfig commands that you can also add after ifconfig <device>.

Note that I added two join commands here instead of nwid. The difference is, that nwid connects to exactly one wifi network, while join builds up a list of multiple networks that are tried in order. If you only have one network to connect to, it makes no difference if you use “nwid” or “join”.

You can clear the join list just like you can remove any other configuration from a device.

# ifconfig iwx0 -join

This /etc/hostname.<device> based configuration makes it easy to copy configuration to another device

# cp /etc/hostname.iwx0 /etc/hostname.run0

Switching between Wifi and Ethernet without interrupting the connection

You can create a trunk(4) device, which internally switches between your ethernet and your wireless device.

For this to work, we need three configurations and you should be able to understand most of it by now.

# cat /etc/hostname.em0
up

cat /etc/hostname.iwx0
join MyHomeNetworkSSID wpakey MyHomeWifiPassword
join MyWorkNetworkSSID wpakey MyWorkWifiPassword
up

# cat /etc/hostname.trunk0
trunkproto failover
trunkport em0
trunkport iwx0
inet autoconf
inet6 autoconf
up

In this setup, we add the configuration necessary for the device to become operational to the device configuration. All the network configuration moves to the new device trunk0, which we have created.

About the special tunk configurations

trunkproto failover
trunkport em0
trunkport iwx0

The fist line means that we do a failover. This means we use the fist device if we can. If the first device (master device) is down, then we use the second one.

In this concrete example it means, if a network cable is plugged in to em0, we use this device. If the network cable is pulled, we simply continue with the wireless device iwx0.


--
hacked together with vim and make