FreeBSD i VLAN (IEEE802.1x) в проводних мережах (як airbites.net.ua)
Довелось отримати досвід з підключенням FreeBSD як клієнт до мережі Airbites яка працює по протоколу V-LAN. Якщо коротко то суть тут майже така ж як і підключення до мережі WiFi (де власне і використовується VLAN для віртуального розділення простору мережі.). Так от, для FreeBSD розроблена утиліта 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 (як в мене – dhclient rl0)
Тепер ніби все, ще би вияснити ролі маршрутизатора який авторизує і сервера який видає ІР.