Идеальный вариант это шлюз на отдельном железе, но как правило жадность и ограниченность бюджета заставляют выдумывать всякие несуразные вещи.
В 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 (оригинальный тоже сохранен).
Комментариев нет :
Отправить комментарий