Сенсор и сервер WNAM QoW позволяют администратору сети проверить работоспособность веб-приложения через тестируемую Wi-Fi сеть, находясь за своим рабочим местом. Поддерживается передача HTTP и HTTPS трафика, однако сложные внутренние протоколы могут не работать.
Эта возможность обеспечивается:
- прокси-сервером на стороне сервера WNAM QoW
- прокси-сервером на стороне сенсора
В качестве прокси-сервера выступает программное обеспечение tinyproxy. Вы должны установить его на сервере, и отредактировать его конфигурационный файл.
apt install tinyproxy
Конфигурационный файл /etc/tinyproxy/tinyproxy.conf
User tinyproxy
Group tinyproxy
Port 3128
Timeout 600
DefaultErrorFile "/usr/share/tinyproxy/default.html"
StatFile "/usr/share/tinyproxy/stats.html"
LogFile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
PidFile "/run/tinyproxy/tinyproxy.pid"
Upstream http 172.16.255.31:3128
MaxClients 100
MinSpareServers 10
MaxSpareServers 50
StartServers 30
MaxRequestsPerChild 0
Allow 0.0.0.0/0
BasicAuth qow WnamProxy
ViaProxyName "tinyproxy"
ConnectPort 443
ConnectPort 563
На стороне сенсора необходимый пакет должен уже быть установлен. Конфигурационный файл /etc/config/tinyproxy
config tinyproxy
option enabled 1
option User nobody
option Group nogroup
option Port 3128
option Timeout 600
option DefaultErrorFile "/usr/share/tinyproxy/default.html"
option StatFile "/usr/share/tinyproxy/stats.html"
option LogFile "/var/log/tinyproxy.log"
option LogLevel Info
option MaxClients 100
option MinSpareServers 10
option MaxSpareServers 50
option StartServers 20
option MaxRequestsPerChild 0
list Allow 172.16.255.1
option ViaProxyName "tinyproxy"
list ConnectPort 443
list ConnectPort 563
Данная конфигурация позволяет пробрасывать запросы от сервера QoW в сторону заданного (одного) сенсора через механизм upstream.
Для того, чтобы переключать upstream на заданный сенсор необходимо установить специальный скрипт. Описанная ниже конфигурация применяется для удаленного изменения конфигурации прокси-сервера, поскольку сервера QoW и OpenVPN-разные.
Добавляем адрес/логин/пароль OpenVPN/tinyproxy сервера в application.properties сервера QoW:
netams.qos.proxy_host=host
netams.qos.proxy_username=tpswitcher
netams.qos.proxy_password=...
netams.qos.proxy_script=./switch_proxy_upstream.sh
На сервере OpenVPN/tinyproxy создаем пользователя, скрипт, даем нужные права:
useradd -m -U -s /bin/bash tpswitcher
passwd tpswitcher
chmod u+s /bin/systemctl
cp /etc/tinyproxy/tinyproxy.conf /etc/tinyproxy/tinyproxy.conf.tmp
chown tpswitcher /etc/tinyproxy/tinyproxy.*
Файл /home/tpswitcher/switch_proxy_upstream.sh :
#!/bin/bash
echo $1 >> /tmp/switch_proxy_upstream.log
cmd="Upstream http $1:3128"sed "s/Upstream.*/$cmd/" /etc/tinyproxy/tinyproxy.conf > /etc/tinyproxy/tinyproxy.conf.tmp
cp /etc/tinyproxy/tinyproxy.conf.tmp /etc/tinyproxy/tinyproxy.conf
systemctl restart tinyproxy.serviceecho $cmd
chmod +x /home/tpswitcher/switch_proxy_upstream.sh
После этого убеждаемся, что в интерфейсе сервера QoW в настройках сенсора, в его панели управление нажатие кнопки "Переключить HTTP прокси" приводит к появлению соответствующей записи upstream с туннельным адресом этого сенсора в конфигурации tinyproxy сервера OpenVPN.
Если это работает, администратор временно прописывает в своем браузере использование прокси-сервера по адресу host:3128, пробует подключение. В лог-файлах /var/log/tinyproxy/tinyproxy.log сервера и /var/log/tinyproxy.log сенсора будут видны сделанные запросы.
По окончании работы отключать проксирование на сервере не обязательно, на рабочем месте администратора - обязательно.