OpenBSD Как подключиться к wifi в библиотеках БГУИР из OpenBSD


Предисловие

Здесь не будет написано о причинах использовать OpenBSD. WiFi в БГУИР предоставляется бесплатно для студентов, в рамках сервиса роуминга eduroam, однако требует аутенфикации студента через номер студенческого и пароль от ИИС. Чтобы подключиться к eduroam сети нужна поддержка не только самого протокола WPA2, но и его варианта WPA2 enterprise, который предполагает аутенфикацию не по паролю как в WPA2_PSK, а через RADIUS сервер. Для подключения к сети стандарта WPA2 enterprise нужен суппликант. Его нет в базовой системе OpenBSD, но в порты специально для таких случаев добавлен WPA supplicant, про это есть новость на undeadly. Собственно, благодаря этой новости автор статьи и смог подключиться к сети. Сам процесс подключения не сложен и глубоких знаний устройства сетей не требует.

Суппликант: Установка

Нужно сначала установить wpa_supplican, для чего к сожалению нужно быть подключенным к какой-либо другой уже имеющейся точке доступа. Благо в официальной документации OpenBSD это и так подробно описано, так что особого смысла на этом зацикливаться нет.

Установить wpa_supplicant через пакетный менеджер:

doas pkg_add wpa_supplicant

Или можно собрать из исходного кода, если уже предуставновлены порты:

cd /usr/ports/security/wpa_supplicant
make
make install

После установки вы можете прочесть документацию посвящённую специфике использования wpa_supplicant на OpenBSD, но я постарался написать эту статью так чтобы в этом не было особой нужды.

more /usr/local/share/doc/pkg_readmes/wpa_supplicant

Подключение при помощи ifconfig

Перед тем как аутенфецироваться в сети eduroam, к ней нужно подключиться. Управление сетевыми интерфейсами в OpenBSD осуществляется утилитой ifconfig. Скрипт /etc/nestart парсит файлы hostname.if вызывает ifconfig cоответсвующими аргументами. Для подключения к сети eduroam в hostname.if нужно вписать

join "eduroam" wpa wpaakms 802.1x
up
dhcp
inet6 autoconf

Аутентификация с wpa_supplicant

В файл /etc/wpa_supplicant.conf пишем

network={
	ssid="eduroam"
	key_mgmt=WPA-EAP
	eap=PEAP
	identity="номер_студенческого@bsuir.by"
	password="пароль_от_иис"
}

После этого можно добавить в автозагрузку и запустить wpa_supplicant с помощью rcctl:

rcctl enable wpa_supplicant
rcctl start wpa_supplicant

По правде говоря, мне первые несколько раз чтобы удостовериться в работе приходилось запускать вручную и смотреть вывод. От рута:

/usr/local/sbin/wpa_supplicant -c /etc/wpa_supplicant.conf -s -D openbsd -i iwm0 

Результат

После всех проведённых манипуляций у вас будет подключение к интернету через wi-fi. Можете проверить увидев в выводе ifconfig у соотвествующего сетевого интерфейса статус active или открыв страницу университета в браузере.