Todos hemos tenido una interfaz wifi o de red que no para de fallar,
pero  también reconocemos que si usamos openbsd, no estaría mal
que se lanzase "sh /etc/netstart" para reconectarse en caso de caídas.
Eso puede hacerse con ifstated. Ifstated vigila nuestra interfaz de
red, y en caso de fallo de conexión, permite lanzar cualquier
comando.

Por ello, lanzamos como root:

doas rcctl enable ifstated

Editamos /etc/ifstated.conf con este contenido:

net = '( "ping -nq -c 3 -w 1 1.1.1.1  > /dev/null 2>&1" every 30 )'

state auto {
       if ! $net {
               run "sh /etc/netstart athn0"
       }
}

#fin

Ved que en mi caso uso athn0, debes cambiar athn0 por el nombre de
interfaz en el que acabe el fichero /etc/hostname.if, se hace con


ls "/etc/hostname."

Ahí saldrá inequívocamente el nombre del dispositivo de red.

Tras editar el archivo, lanzamos el servicio:

doas rcctl start ifstated


Mirando la configuración de /etc/ifstated.conf, se ve que
lanza el comando ping hacia 1.1.1.1 cada 30 segundos, se puede
cambiar el valor de every a 20 por ejemplo, y en vez de 1.1.1.1,
algo que siempre está para pruebas, como ejemplo.com.

Usando "ejemplo.com" nos detectaría incluso fallos de DNS que
al usar ping a una IP directa no detectaría.

Esto es todo.