HOTSPOT

Coova chilli

FreeRadius

raddb/dictionary

VENDOR          ChilliSpot                      14559

ATTRIBUTE       ChilliSpot-Max-Input-Octets             1       integer
ATTRIBUTE       ChilliSpot-Max-Output-Octets            2       integer
ATTRIBUTE       ChilliSpot-Max-Total-Octets             3       integer
ATTRIBUTE       ChilliSpot-Bandwidth-Max-Up             4       integer
ATTRIBUTE       ChilliSpot-Bandwidth-Max-Down           5       integer
ATTRIBUTE       ChilliSpot-Config                       6       string
ATTRIBUTE       ChilliSpot-Lang                         7       string
ATTRIBUTE       ChilliSpot-Version                      8       string
ATTRIBUTE       ChilliSpot-OriginalURL                  9       string


# Configuration management parameters (ChilliSpot Only)
ATTRIBUTE       ChilliSpot-UAM-Allowed                  100     string
ATTRIBUTE       ChilliSpot-MAC-Allowed                  101     string
ATTRIBUTE       ChilliSpot-Interval                     102     integer
# Inline with RFC 2882 use of VSE-Authorize-Only for remote config
# Note that 14559 = 0x38df is used as prefix for the VSE.
# This is recognized as the best (but bad) way of doing VSEs.
# (ChilliSpot Only - CoovaChilli uses Service-Type = Administrative-User)
VALUE   Service-Type                    ChilliSpot-Authorize-Only 0x38df0001

END-VENDOR      ChilliSpot

ABillS

/ System configuration/ NAS/

Type chillispot
Alive (sec.): Время обновления статистики. По умолчанию 300 секунд
:Manage: Управление
IP:PORT: IP адрес и Порт сервера доступа для отключения абонента (порт по умолчанию 3799)
Пароль: Пароль для отключения, тот же что и на RADIUS


Переменные конфигурации

$conf{BILLING_URL} = 'https://192.168.1.62:9443/'; Хост для покупки карточек
$conf{HOTSPOT_LOGIN_URL} = 'http://192.168.182.1:3990/prelogin' Страница возврата после покупки карточки

start.cgi стартовая страница

# ln -s /usr/abills/misc/hotspot/start.cgi /usr/abills/cgi-bin/start.cgi

wrt_configure.cgi автоматически настраивает chillispot на DD-WRT, FreeBSD, Linux, OpenWrt.

Установка

# ln -s /usr/abills/misc/hotspot/wrt_configure.cgi /usr/abills/cgi-bin/wrt_configure.cgi
# chmod +x /usr/abills/cgi-bin/wrt_configure.cgi

Для того, чтобы точка доступа получила доступ к файлу wrt_configure.cgi необходимо дать такие права в Apache:

# cp abills_hotspot.conf /usr/local/etc/apache22/Includes/
# service apache22 restart

Важно: файл конфигурации работающий для apache24 доступен в abills-0.58 и выше (коммерческая версия abills-0.72 и выше).

Настройка с помощью wrt_configure.cgi

  • зайти в биллинг / Система / Сервера доступа
  • Завести сервер доступа с типом “chillispot”
  • Повторно открыть его для проверки параметров и получения линка автоконфигурации.
    1. в разделе “Hotspot Настройки” выбирать тип сервера доступа chillispot
    2. скопируйте линк в буфер обмена
  • Открыть веб интерфейс точки доступа (или консоль в зависимости от типа сервер) и в меню выполнение команд вставляете линк автоконфигурации
    1. Если сервером Hotspot выступает Linux или FreeBSD, тогда линк автоконфигурации выполняем с правами супер пользователя (root)

OPENWRT

ABillS Hotspot Solution

Сервер доступа (WiFi маршрутизатор) с фиксированным адресом.

Ручная настройка

Настройка WiFi маршрутизатора:

1. Берём точку доступа в случае тестового стенда была использована Ubiquiti NanoStation 2

2. Прошиваем OpenWrt прошивку. Прошивка Ubiquiti

3. Подключаемся через telnet c точке по адресу 192.168.1.1.

4. Устанавливаем root пароль командой passwd.

5. Настраиваем интерфейсы.

 vi /etc/config/network

Приводим следующему виду:

 config 'interface' 'loopback'
         option 'ifname' 'lo'
         option 'proto' 'static'
         option 'ipaddr' '127.0.0.1'
         option 'netmask' '255.0.0.0'
         
 config 'interface' 'wan'
         option 'ifname' 'eth0'
         option 'proto' 'static'
         option 'netmask' '255.255.255.0'
         option 'ipaddr' '192.168.1.12'
         option 'gateway' '192.168.1.1'
         option 'dns' '192.168.1.1'
         
 config 'interface' 'lan'
         option 'ifname' 'ath0' #WiFI адаптер
         option 'proto' 'none'

или

echo config \'interface\' \'loopback\' > /etc/config/network
echo "        option 'ifname' 'lo'" >> /etc/config/network  
echo "        option 'proto' 'static'" >> /etc/config/network
echo "        option 'ipaddr' '127.0.0.1'" >> /etc/config/network
echo "        option 'netmask' '255.0.0.0'" >> /etc/config/network
echo " " >> /etc/config/network
echo config \'interface\' \'wan\' >> /etc/config/network
echo "        option 'ifname' 'eth0'" >> /etc/config/network
echo "        option 'proto' 'static'" >> /etc/config/network
echo "        option 'netmask' '255.255.255.0'" >> /etc/config/network
echo "        option 'ipaddr' '192.168.1.12'" >> /etc/config/network
echo "        option 'gateway' '192.168.1.1'" >> /etc/config/network
echo "        option 'dns' '192.168.1.1'" >> /etc/config/network
echo " " >> /etc/config/network
echo config \'interface\' \'lan\' >> /etc/config/network
echo "        option 'ifname' 'ath0'" >> /etc/config/network
echo "        option 'proto' 'none'" >> /etc/config/network

Если нам нужен тегированный Vlan. например Vlan32. В настройках интерфейса wan.

option 'ifname' 'eth0.32'

Включаем WiFI.

sed -i 's/^.*option disabled 1/ /g' /etc/config/wireless

Перенастраиваем Firewall. ОБЯЗАТЕЛЬНО!!! А то потеряете связь с точкой.

sed -i 's/^.*input.*REJECT/        option input    ACCEPT/g' /etc/config/firewall

6. Перезагружаемся.

reboot

7. Устанавливаем Coova Chilli.

opkg update
opkg install coova-chilli

8. Создаем скрипт автостарта.

touch /etc/init.d/coova

echo "#!/bin/sh /etc/rc.common" > /etc/init.d/coova
echo "# ============================================" >> /etc/init.d/coova
echo "# == Coova Chilli Startup Script =============" >> /etc/init.d/coova
echo "# ============================================" >> /etc/init.d/coova
echo " " >> /etc/init.d/coova
echo "START=80" >> /etc/init.d/coova
echo "STOP=85" >> /etc/init.d/coova
echo " " >> /etc/init.d/coova
echo ". /etc/chilli/functions" >> /etc/init.d/coova
echo " " >> /etc/init.d/coova
echo "start() {" >> /etc/init.d/coova
echo "    echo start" >> /etc/init.d/coova
echo "    # commands to launch application" >> /etc/init.d/coova
echo "    /sbin/modprobe tun > /dev/null 2>&1" >> /etc/init.d/coova
echo "    echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/init.d/coova
echo "    writeconfig" >> /etc/init.d/coova
echo "    radiusconfig" >> /etc/init.d/coova
echo "    iptables -F POSTROUTING -t nat" >> /etc/init.d/coova
echo "    iptables -I POSTROUTING -t nat -o \$HS_WANIF -j MASQUERADE" >> /etc/init.d/coova
echo "    ifconfig \$HS_LANIF 0.0.0.0" >> /etc/init.d/coova
echo "    checkrunning" >> /etc/init.d/coova
echo "}" >> /etc/init.d/coova
echo " " >> /etc/init.d/coova
echo "stop() {" >> /etc/init.d/coova
echo "    echo stop" >> /etc/init.d/coova
echo "    killall chilli" >> /etc/init.d/coova
echo "}" >> /etc/init.d/coova
echo " " >> /etc/init.d/coova
echo "checkrunning(){" >> /etc/init.d/coova
echo "    check=\`/bin/pidof chilli\`" >> /etc/init.d/coova
echo "    if [ -z \$check ]" >> /etc/init.d/coova
echo "    then" >> /etc/init.d/coova
echo "        echo 'Chilli not running'" >> /etc/init.d/coova
echo "        chilli" >> /etc/init.d/coova
echo "    else" >> /etc/init.d/coova
echo "        echo 'Chilli runnig PID: '\$check" >> /etc/init.d/coova
echo "    fi" >> /etc/init.d/coova
echo "}" >> /etc/init.d/coova

chmod 755 /etc/init.d/coova
/etc/init.d/coova enable

9. Выключаем за ненадобностью dnsmasq.

/etc/init.d/dnsmasq disable

10. Дальше настраиваем сам Coova-Chilli