FreeBSD

Если у Вас уже установен пакет wpa_supplicant, то проделать следующие действия:

1. Создаём конфиг: /etc/wpa_supplicant.conf

ap_scan=0
network={
ssid=""
key_mgmt=IEEE8021X
eap=MD5
identity="тутлогин"
password="тутпароль"
}

2. дописать в файл /etc/rc.conf строку:

ifconfig_vr0="WPA DHCP"

Где vr0 имя интерфейса смотрящего в инет

В случае отсутствия wpa_supplicant проделываем следующее:

1. Ставим /usr/ports/net/libdnet
2. Качаем wpa_supplicant 0.5.х с http://hostap.epitest.fi/releases/
3. Распаковываем
4. Создаём в распакованном катлоге файл .config примерного содержания(файл defconfig можно взять за основу)

CONFIG_L2_PACKET=pcap
CFLAGS += -I/usr/local/include
LIBS += -L/usr/local/lib
CONFIG_DRIVER_WIRED=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_EAP_MD5=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_TLS=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_TTLS=y
CONFIG_EAP_GTC=y
CONFIG_EAP_OTP=y
CONFIG_EAP_LEAP=y
CONFIG_PKCS12=y
CONFIG_SMARTCARD=y
CONFIG_CTRL_IFACE=y
CONFIG_BACKEND=file
CONFIG_PEERKEY=y
5. Мне пришлось поправить Makefile, чтобы собрать,может не совсем правильно но сработало, я закомментировал строчку:
ifneq ($(CONFIG_L2_PACKET), freebsd)
#LIBS += -ldl
endif
откуда взять библиотеку libdl я незнал :)
6. Компилим: # gmake
7. Копируем бинарники: wpa_supplicant в /usr/local/sbin например
8. Создаём конфиг: /etc/wpa_supplicant.conf
ap_scan=0
network={
  ssid=""
  key_mgmt=IEEE8021X
  eap=MD5
  identity="тутлогин"
  password="тутпароль"
}
9. Запускаем:

# /usr/local/sbin/wpa_supplicant -D wired -c /etc/wpa_supplicant.conf -i интерфейс -d

Если всё прошло нормально то можно будет запускать вот так:

# /usr/local/sbin/wpa_supplicant -D wired -c /etc/wpa_supplicant.conf -i fxp0 -B

10. Берём адрес из DHCP пула
11. Используем сеть