hostapd + openvswitch proxmox 5 (Debian 9 Stretch)

Шлюз для интернет одна из необходимых систем в офисе, я делал такие шлюзы на Centos 7, многие вещи там организованы удобно и мне понятно как это работает. Принцип очень простой: С управляемых коммутаторов кидаются Vlan c линиями от провайдеров,  на Proxmox с openvswitch поднимается виртуалка под KVM ставится Centos 7 и настраивается pppoe ppptp xl2tp forwarding iptables openvpn и оснальные полезные возможности, я например добавляю dhcp + bind

Идеальный вариант это шлюз на отдельном железе, но как правило жадность и ограниченность бюджета заставляют выдумывать всякие несуразные вещи.

В VoIP (IP телефония) обнаружилось ухудшение качества голоса через шлюз на виртуалке. VoIP вобще странная штука, наилучший результат для 10 линий многоканального доступа был получен когда провайдер предоставил прямой провод с белым IP на конце, без всяких инкапсуляций. Так же хорошо работало по темному волокну, когда весь поток сливался напрямую на транки провайдера, на моей практике токое встречал один раз, но решение было красивых, хотя и дорогим.

Долго я не мог себя заставить поднять шлюз прямо на ноде, пока не потребовался wi-fi. Подружить wi-fi с openvswitch сразу не получилось. На просторах интернета пишут нужно патчить hostapd. Даже есть версии патча. Мной был скомпилирован и успешно работал патченый hostapd под centos 7. Для Proxmox 5 пришлось компилировать заново.

Решено было собрать на тестовом стенде c Proxmox (виртуалке под KVM), что бы не тащить кучу мусора на боевые серверы.
Ставим следующие пакеты:

apt-get install build-essential pkg-config libnl-3-dev libssl-dev libcrypto++-dev libnl-genl-3-dev

далее идем сюда https://w1.fi/hostapd/ и ищем новую версию исходников. версия 2.5 на  Debian 9 никак не собиралась, сыпала кучу ошибок, (на Centos 7 собралась без проблем)

wget https://w1.fi/releases/hostapd-2.6.tar.gz
tar -zxf hostapd-2.6.tar.gz
cd hostapd-2.6

накладываем этот патч:
https://github.com/helmut-jacob/hostapd/commit/c89daaeca4ee90c8bc158e37acb.patch


работаем в папке hostapd
создаем файл конфигурации .config
CONFIG_DRIVER_HOSTAP=y
CONFIG_DRIVER_NL80211=y
CONFIG_LIBNL32=y
CONFIG_IAPP=y
CONFIG_RSN_PREAUTH=y
CONFIG_PEERKEY=y
CONFIG_IEEE80211W=y
CONFIG_EAP=y
CONFIG_ERP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_TLS=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_GTC=y
CONFIG_EAP_TTLS=y
CONFIG_PKCS12=y
CONFIG_IPV6=y
CONFIG_IEEE80211N=y
CONFIG_IEEE80211AC=y
CONFIG_ACS=y

правим  Makefile
export BINDIR ?= /usr/sbin/

make clean
make

если ошибок нет, то берем два файла и загоняем в архив
tar -czvf hostapd_2.6_bin.tar.gz hostapd hostapd_cli

Архив переносим на боевой сервер с Proxmox 5, далее работы ведем на боевом сервере

apt-get install hostapd

tar -xzf hostapd_2.6_bin.tar.gz -C /usr/sbin/

ставим пакет на блокировку обновлений

echo "hostapd hold" | sudo dpkg --set-selections

проверяем результат

dpkg --list | grep hostapd

далее настраиваем точку доступа по своему усмотрению

Для тех кто не желает собирать из исходников можно взять готовые бинарники для  Proxmox 5 c нашего сайта:
wget  rcchost.ru/downloads/proxmox/v5/hostapd/hostapd_2.6_bin.tar.gz

Пропатченные исходники отсюда:
wget  rcchost.ru/downloads/proxmox/v5/hostapd/hostapd_2.6_src.tar.gz
Изменен один файл /hap/hostapd-2.6/src/drivers/linux_ioctl.c (оригинальный тоже сохранен).

Комментариев нет :

Отправить комментарий