Страница-заглушка для разных состояний пользователя

Нужна версия билинга не ниже 2.8.16

Система позволяет интерактивно уведомить клиентов об изменении статуса учетной записи.

1. Изменить тип NAS в билинге.

nolink |


2. Создадим пул для неизвестных абонентов и наполним его адресами


3. Заполнить настройки для разных состояний пользователя.



1. Установим nginx:

aptitude install nginx

2. скачайте архив с подготовленными файлами и распакуйте его в корень ОС.

cd /opt/
wget -O accel_pages.tar http://nekkoy.ga/wiki/lib/exe/fetch.php?media=accel_pages.tar
tar xvf accel_pages.tar
cp -R var/* /var/
cp -R etc/* /etc/
Все надписи в заглушках изменяются в /var/www/mikbill/user_pages/config.js

3. Выполните в консоли и добавьте ipset правила в rc.local

ipset -N active iphash
ipset -N nomoney iphash
ipset -N unknown iphash
ipset -N freezee iphash
ipset -N disabled iphash
ipset -N deleted iphash

4. Необходимые правила iptables

# Разрешить Google Public DNS
iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -d 8.8.8.8 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -d 8.8.4.4 -j MASQUERADE

# Разрешить ходить на ЛК
iptables -t nat -A PREROUTING -s 0.0.0.0 -d 10.0.0.2 -j ACCEPT

# Redirect NOMONEY
iptables -t nat -A PREROUTING -m set --match-set nomoney src -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1:81
# Redirect FREEZEE
iptables -t nat -A PREROUTING -m set --match-set freezee src -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1:82
# Redirect DISABLED
iptables -t nat -A PREROUTING -m set --match-set disabled src -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1:83
# Redirect DELETED
iptables -t nat -A PREROUTING -m set --match-set deleted src -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1:84
# Redirect UNKNOWN
iptables -t nat -A PREROUTING -m set --match-set unknown src -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1:85

# Allow local network
iptables -A FORWARD -m set --match-set nomoney src -d 10.0.0.0/8 -j ACCEPT
iptables -A FORWARD -m set --match-set freezee src -d 10.0.0.0/8 -j ACCEPT
iptables -A FORWARD -m set --match-set disabled src -d 10.0.0.0/8 -j ACCEPT
iptables -A FORWARD -m set --match-set deleted src -d 10.0.0.0/8 -j ACCEPT
iptables -A FORWARD -m set --match-set unknown src -d 10.0.0.0/8 -j ACCEPT

# DROP Others
iptables -A FORWARD -m set --match-set nomoney src -j DROP
iptables -A FORWARD -m set --match-set freezee src -j DROP
iptables -A FORWARD -m set --match-set disabled src -j DROP
iptables -A FORWARD -m set --match-set deleted src -j DROP
iptables -A FORWARD -m set --match-set unknown src -j DROP

# re-enable sysctl parameters 
/sbin/sysctl -p

10.0.0.0/8 Внутренняя сеть.
10.0.0.1 - Внутренний IP сервера Accel.
10.0.0.2 - Внутренний IP ЛК.

Так же можете воспользоваться генератором iptables

в /etc/accel-ppp.conf в секции [ipoe] должны быть:

attr-l4-redirect=L4-Redirect
attr-l4-redirect-ipset=L4-Redirect-ipset
l4-redirect-ipset=l4

в словарях Accel и Radius должны быть атрибуты:

ATTRIBUTE L4-Redirect            243 integer
ATTRIBUTE L4-Redirect-ipset      244 string

Теперь нужно подгрузить новые настройки: На Accel сервере:

accel-cmd reload

На Mikbill сервере:

/etc/init.d/radiusd restart
Не забываем так же подгрузить новые правила iptables
  • billing/nas_access_server/accel_users_page.txt
  • Последние изменения: 22 месяц (-ев) назад
  • — Александр Дудяк