Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

5. Настройка CoovaChilli

Портал перехвата CoovaChilli использует туннельные интерфейсы и сложную схему с генерацией конфигурационных файлов из файла-описания. Подробнее про это можно почитать здесь: https://wiki.openwrt.org/doc/howto/wireless.hotspot.coova-chilli

Для настройки необходимо отредактировать единственный конфигурационный файл /etc/config/chilli, пример которого (с комментариями) приведен ниже:

config chilli
# option disabled 1
# Your HotSpotSystem account details
option radiusnasid "openwrt"
option radiussecret "secret" # это "секретный" ключ взаимодействия роутера и FreeRADIUS-сервера
option uamsecret "" # это поле надо оставить пустым
# WISPr settings
# It is possible your provider has specific demands on these values. But for WISPr the values are
# as shown below. (cc=2-digit ISO country; idd=phone-country;ac=phone-area-code)
# example: "isocc=se,cc=46,ac=584,network=CampingTiveden"
# the <SSID> does not actually need to be the SSID, but WISPr RFC calls it SSID
# the <sub-id> is just so you know which device on your network gave the problem. Can be Alfanumeric.
option locationname "K18-VM" # необязательное имя площадки, не используется
option radiuslocationname "<SSID>,<sub-ID>"
option radiuslocationid "isocc=<cc>,cc=<idd>,ac=<ac>,network=<SSID>"
# Radius parameters (change to the one for your provider)
option radiusserver1 172.16.130.5 # IP адрес вашего RADIUS сервера, обычно это адрес сервера WNAM
option radiusserver2 172.16.130.5 # IP адрес вашего второго RADIUS сервера, обычно это адрес резервного сервера WNAM, или то же адрес что и у первого сервера
# Your device's LAN interface on which to put the hotspot
option dhcpif br-lan # Имя интерфейса, на котором будет работать хотспот
# set DNS to whatever is fastest. On slow saturated lines, best use your local router for caching.
# on fast & wide lines, use or Google or your ISP's dns, whichever is fastest
option dns1 8.8.8.8 # адрес первого сервера DNS, можете использовать адреса серверов провайдера
option dns2 8.8.4.4 # адрес второго сервера DNS, можете использовать адреса серверов провайдера
# Tunnel and Subnet 
option tundev 'tun0'
option net 192.168.180.0/22 # ВНИМАНИЕ: это будут IP адреса устройств ваших клиентов. Необходимо, чтобы эта сеть соответствовала той, что вы укажете в настройках площадки
option radiusnasipradiuslisten 192.168.182.1 # ВНИМАНИЕ: это виртуальный адрес хотспота. Необходимо, чтобы он соответствовал адресу, указанному в "сервере доступа" WNAM
option lease 86400 # 1 day
option leaseplus 600 # plus 10 minutes
# Universal access method (UAM) parameters
option uamserver "http://172.16.130.5:8080/cp/coovachilli" # ссылка на интерфейс авторизации пользователей, сервер WNAM
option uamuiport 4990 # HotSpot UAM "UI" Port (on subscriber network)
option uamanydns 1
#option uamaliasip 1.0.0.1 # default: http://1.0.0.1 will goto login page
option uamaliasname login # http://login will goto login page
#option uamlogoutip 1.0.0.0 # default: http://1.0.0.0 will logout
# # default: http://logout will logout
option nouamsuccess 1 # no success page, to original requested URL
# Hosts; services; network segments the client can access without first authenticating (walled garden)
# Hosts are evaluated every 'interval', but this does not work well on multi-homed (multi-IP'ed) hosts, use IP instead.
option uamallowed "172.16.130.5" # необходимо указать IP адрес сервера WNAM
# Domain suffixes the client can access without first authenticating (walled garden)
# Host on the domain are checked by spying on DNS requests, so this does work for multi-homed hosts too.
#option uamdomain ".paypal.com,.paypalobjects.com,.worldpay.com,.rbsworldpay.com,.adyen.com,.hotspotsystem.com"
# Various debug and optimization values
option swapoctets 1 # swap input and output octets
option interval 3600 # config file and host lookup refresh
# Add the chilli firewall rules
option ipup '/etc/chilli/up.sh'
option ipdown '/etc/chilli/down.sh'

Согласно приведенной выше конфигурации особо важными параметрами надо считать следующие:

  • option radiussecret - пароль взаимодействия с WNAM по протоколу RADIUS
  • option radiusserver1 - адрес сервера на котором работает FreeRADIUS (обычно совпадает с адресом сервера WNAM) 
  • option net - подсеть с IP адресами клиентов (площадка)
  • option radiusnasip  radiuslisten - виртуальный адрес сервера доступа
  • option uamserver - ссылка на внешний портал авторизации - сервер WNAM
  • option uamallowed - разрешенный адрес - сервер WNAM

Внимание: 

  1.  в некоторых случаях, в фаерволе необходимо дополнительно разрешить маршрутизацию между интерфейсом авторизации (br-lan в нашем случае) и интерфейсом на котором находится сервер WNAM.
  2.  поскольку вы используете частную адресацию на сетевых интерфейсах, к которым подключены абоненты, вы должны для всех своих площадок и серверов доступа выбирать уникальные IP адреса и подсети.

Запустите CoovaChilli: /etc/init.d/chilli start

Если все в порядке, то в выводе команды ps вы обнаружите:

chilli -c /var/run/chilli_cfg021cfa.conf --pidfile /var/run/chilli_cfg021cfa.pid --cmdsocket /var/run/chilli_cfg021cfa.sock --unixipc /var/run/chilli_cfg021cfa.ipc

6. Настройка softflowd

Для отслеживания посещенных абонентами ресурсов вам необходимо установить пакет softflowd, который является коллектором NetFlow данных. После установки отредактируйте его конфигурационный файл /etc/config/softflowd: 

config softflowd
option enabled '1'
option interface 'tun0'
option pcap_file ''
option timeout ''
option max_flows '8192'
option host_port '172.16.130.5:20002'
option pid_file '/var/run/softflowd.pid'
option control_socket '/var/run/softflowd.ctl'
option export_version '5'
option hoplimit ''
option tracking_level 'full'
option track_ipv6 '0'
option sampling_rate '1'

Важных параметров три: имя интерфейса, на котором проводить сбор данных (tun0), частота сэмплинга (sampling_rate=1), адрес и порт коллектора, это внешний адрес сервера WNAM и порт 20002 (172.16.130.5:20002)

Внимание: поскольку softflowd не позволяет указывать адрес интерфейса-источника трафика NetFlow, он будет выбран автоматически, и обычно это WNAM интерфейс, что создает дополнительную задачу при настройке сервера доступа (ниже).

Запустите softflowd: /etc/init.d/softflowd restart 

7. Настройка WNAM 

В административном интерфейсе WNAM необходимо добавить, как обычно, запись о сервере доступа:

...