Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: HOW-TO pptpd+mppe+abills 0.40b для малого офиса или мелкого провайдера.  (Прочитано 53388 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nesmit

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Ну жесть вааще :))))
http://habrahabr.ru/blogs/ubuntu/87421/
Хотьбы разрешение спросили на копипаст с минимальными доработками.
Совесть есть? на 0,50 МОЗГА не хватило?
« Последнее редактирование: 14 Марта 2010, 23:13:27 от Nesmit »

Оффлайн satch

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1561
  • Kubuntu 15.10 amd64
    • Просмотр профиля
да... наглый копипаст, хоть бы упамянули Несмита... сочувствую :(
Наше желание помочь прямопропорционально вашему желанию решить проблему

Оффлайн obsessionsys

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
    • IT-MEHANIKA
Nesmit добавь в начало топика что копипаст и распространение с сылкой на автора и статью на forum.ubuntu.ru . А то вообще охренели на хабре, туда бы карму в -100 закинуть тому топикстартеру и написать что надо бы ссылку кидать на источник.

Хотел спросить как раз по этому поводу у Nesmit можно статью разместить на it-mehanika.ru с сылкой на данный топик?
« Последнее редактирование: 15 Марта 2010, 08:10:41 от obsessionsys »
Что бы хорошее становилось лучшим, а лучшее - совершенным!

Оффлайн Nesmit

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
можно, с ссылкой есесенно.
ток по хорошему нужно в ней исправить ляпы :)))))

Цитировать
   * Slimer
    * 14 марта 2010, 17:07
Ну вот и узнал насчет шифрования. пересобирать ядро надо для этого. Кому надо — вперед, пусть ищет инфу)) Я думаю редкие люди будут заморачиваться из за отсутствия шифрования. Так что статью дополнять не буду, исправлю так, чтобы сразу было отключено шифрование
:2funny: не смог с одной строки комментарий убрать, а читал видимо не внимательно.

PS: Чет меня так возмутило, что решил написать под 0,5 и положить копию на хабаре для инвайта. Заодно нос утереть.

Пользователь решил продолжить мысль 15 Марта 2010, 20:42:03:
Вообщем то уже все. Завтра подрихтую и выложу на всеобщее обозрение :) Все работает практически без шаманств.
Вообще то, я не увидел там ничего нового. А вот статистику по пользователю убрали кудато в ж... позицию :)
« Последнее редактирование: 15 Марта 2010, 23:00:49 от Nesmit »

Оффлайн obsessionsys

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
    • IT-MEHANIKA
Nesmit выложи свою статью Abills 0.50 + freeradius +pptpd в отдельное HowTo думаю будет хорошая популярность. На хабре ВОР исправил свою статью на ubuntu 9.10/10.04 + абиллс 0.40 + freeradius 2 исделал ссылку на твою статью как основа для его статьи. Воо как круто вывернул он. По его словам еще добавил подключение 2-х модулей для мониторинга.

""""" Добавил в секцию moduless файла radiusd.conf две новых модуля, которые вообще не были описаны в how-to от forum.ubuntu.ru

abills_auth
exec abills_auth {
program = "/usr/abills/libexec/rauth.pl"
wait = yes
input_pairs = request
shell_escape = yes
output = no
output_pairs = reply
}

abills_acc
exec abills_acc {
program = "/usr/abills/libexec/racct.pl"
wait = yes
input_pairs = request
shell_escape = yes
output = no
output_pairs = reply
}
. Затем объвил одну из них в секции preact файла /etc/freeradius/sites-enabled/default.
один модуль добавленный понадобился. а предназначение второго мне неизвестно =) Самое главное мониторинг работает =)
""""""""""""
« Последнее редактирование: 16 Марта 2010, 11:08:42 от obsessionsys »
Что бы хорошее становилось лучшим, а лучшее - совершенным!

Оффлайн Nesmit

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
ну не совсем уж вор то :) Меня больше убивает то, чел тупо скопировал и преподнес как свое вымученное. А к фрирадиус2 конфы лежат на сайте разраба. Причем все завел без понимания как оно работает!!!
Вот моя статья, отправленная в песочницу:
HOW-TO Ubuntu9.10+abills0.5 для малого офиса или мелкого провайдера.

На днях, читая хабр наткнулся на <a href="http://habrahabr.ru/blogs/ubuntu/87421/">глупый копипаст</a> моего материала опубликованного год назад на форуме https://forum.ubuntu.ru. Причем со всеми ошибками неточностями. Почему глупый? Потому что сам не понимает что скопировал, это видно по комментариям и нелепым фразам добавленными в тексте.
Далее хочу исправить эту ситуацию опубликовав оригинал со всеми исправлениями. Заодно рассказать про новую версию abills 0.5!

ubuntu 9.10, с целью обновиться до 10.04, ничего не трогая.
pptpd 1.3.4-2
freeradius2.1.0
abills 0.5
dictionary.microsoft

Разработчик биллинга находится здесь: http://abills.net.ua
Хотелось бы выразить большую благодарность разработчикам данного биллинга!

Цели:
1.Обеспечить интернетом локальную сеть, числом до 100. (ограничение pptpd)
2.Учет трафика
3.Учет финансов
4.Создание тарифных планов.
5.Ограничение по скорости
6.Шифрование 128bit, причин много.
7.Без шифрования, но используя mschapv2.
8.Шифрование личного кабинета (apache SSL)
9.Возможность модернизации:  интеграция почтового сервера с биллингом и т.д. Есть много модулей платных и нет.

Список литературы :

Мною найдено 2 полезные статьи по установки abills.
http://habrahabr.ru/blogs/linux/23650/ - наша основа
http://silverghost.org.ua/2008/10/13/ustanovka-billinga-abills-na-ubuntu-804-lts-server-mikrotik-router-os-v-kachestve-servera-dostupa/ - наша основа №2
еще:
http://www.opennet.ru/base/net/abills_server.txt.html — не менее полезная, но microtik'а у нас нет.
http://www.xakep.ru/magazine/xa/112/136/1.asp — pppoe
Описание параметров в pptpd
http://www.compress.ru/article.aspx?id=18183&iid=842
В принципе, эта установка ничем не отличается от использования PPPoE или  microtik в качестве NAS. Последнее выгоднее, если клиентов станет больше 100 и без головной боли.

Информацию будем брать из первых 2х статей, они ближе всего к нашей теме. Получится переработанная 1я статья с добавлением некоторых деталей из 2й + мои дороботки.

ВНИМАНИЕ! Перед тем как начать ставить систему. Определитесь, какие сетевые карты вы используете. Рекомендую использовать карты intel или 3com. PPTP на реалтеках глючит и срываются туннели без видимых причин.

1. Устанавливаем систему:
Мой выбор пал на дистрибутив Ubuntu 9.10,  это уже проверенная система в которой отработан набор пакетов.  Обновиться до 10.04, которой осталось 1,5 месяца проблем не составит.  Хороший Админ — ленивый Админ. Зачем нам головная боль?  Первый сервер на LTS 8.04 простоял 1,5 года пока не накрылся жесткий диск. За это время биллинг никто не трогал.

После установки обновляемся, ставим все самое последнее:
#apt-get update
#apt-get dist-upgrade
И ребут.

заходим под рутом.
$ sudo -s -H
2. Устанавливаем необходимые пакеты одной строчкой:
#apt-get install mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt libdbi-perl libdbd-mysql-perl libdigest-md4-perl libdigest-sha1-perl libcrypt-des-perl freeradius radiusclient1 radiusclient1 pptpd
Во время установки MySQL сервер 2 раза спрашивает пароль root для mysql server, скоро понадобится!

Запускаем установленные модули для апача:
#a2enmod ssl
#a2enmod rewrite
#a2enmod suexec
#a2enmod include
Перезапускаем apache:
#/etc/init.d/apache2 restart
#a2enmod rewrite - ОБЯЗАТЕЛЕН, иначе получите ошибку при входе в админку!
 
3. Скачиваем abills 0.50, с сайта http://abills.net.ua распаковываем в /usr/abills или воспользуемся cvs и скачаем стабильный релиз.
Ссылка на файлы: http://sourceforge.net/projects/abills/files/

4. Создаем недостающие каталоги и меняем права:
# mkdir /usr/abills/backup
# chown -R www-data:www-data /usr/abills/backup
# mkdir /usr/abills/cgi-bin/admin/nets
# chown -R www-data:www-data /usr/abills/cgi-bin/
# mkdir /usr/abills/var
# mkdir /usr/abills/var/log
# chown -R freerad:freerad /usr/abills/var

Далее редактируем /etc/sudoers добавляем строку. По этой команде убиваются vpn туннели.
Цитировать
www-data  ALL=NOPASSWD: /usr/abills/misc/pppd_kill

5. Настраиваем freeradius, информация с сервера разработчика с правками под наш дистрибутив:
в /etc/freeradius/radiusd.conf в секции modules описываем секции:

Цитировать
#abills_preauth
exec abills_preauth {
  program = "/usr/abills/libexec/rauth.pl pre_auth"
  wait = yes
  input_pairs = request
  shell_escape = yes
  #output = no
  output_pairs = config
}

#abills_postauth
exec abills_postauth {
  program = "/usr/abills/libexec/rauth.pl post_auth"
  wait = yes
  input_pairs = request
  shell_escape = yes
  #output = no
  output_pairs = config
}

#abills_auth
exec abills_auth {
  program = "/usr/abills/libexec/rauth.pl"
  wait = yes
  input_pairs = request
  shell_escape = yes
  output = no
  output_pairs = reply
 }

#abills_acc
  exec abills_acc {
  program = "/usr/abills/libexec/racct.pl"
  wait = yes
  input_pairs = request
  shell_escape = yes
  output = no
  output_pairs = reply
}
в секции exec, фаил /etc/freeradius/modules/exec приведем к следующему виду:

exec {                                                       
   wait = yes                                           
   input_pairs = request                                 
   shell_escape = yes                                   
   output = none                                         
   output_pairs = reply                                 
}
Файл /etc/freeradius/sites-enabled/default - правим секции authorize, preacct, post-auth. Остальное в этих секциях комментируем или удалим.
authorize {
  preprocess
  abills_preauth
  mschap
  files
  abills_auth
 }
 
preacct {
  preprocess
  abills_acc
 }

post-auth {
  Post-Auth-Type REJECT {
     abills_postauth
   }
}

в /etc/freeradius/users
Цитировать
DEFAULT Auth-Type = Accept

Редактируем /etc/freeradius/clients.conf коментируем все, в конец добавляем (клиент/сервер на локальной машине, если будут на разных кодовое слово лучше поменять)
Цитировать
client localhost {
ipaddr = 127.0.0.1
secret = radsecret
shortname = shortname
}

Переходим к редактированию файла /etc/freeradius/dictionary, добавляем в конец
Цитировать
# Limit session traffic
ATTRIBUTE       Session-Octets-Limit            227     integer
# What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out)
ATTRIBUTE       Octets-Direction                228     integer
# Connection Speed Limit
ATTRIBUTE       PPPD-Upstream-Speed-Limit       230     integer
ATTRIBUTE       PPPD-Downstream-Speed-Limit     231     integer
ATTRIBUTE       PPPD-Upstream-Speed-Limit-1     232     integer
ATTRIBUTE       PPPD-Downstream-Speed-Limit-1   233     integer
ATTRIBUTE       PPPD-Upstream-Speed-Limit-2     234     integer
ATTRIBUTE       PPPD-Downstream-Speed-Limit-2   235     integer
ATTRIBUTE       PPPD-Upstream-Speed-Limit-3     236     integer
ATTRIBUTE       PPPD-Downstream-Speed-Limit-3   237     integer
ATTRIBUTE Acct-Interim-Interval 85 integer

После этого перезапускаем радиус:
#/etc/init.d/freeradius restartЕсли пишет ошибку, то команда freeradius -X выдает лог и служит для поиска онных.

6. Настраиваем radiusclient.
Редактируем /etc/radiusclient/servers
Цитировать
127.0.0.1 radsecret

dictionary.microsoft кладем в /etc/radiusclient/
эти файлы отвечают за поддержку mschap v2 и mppe
взять фаил можно с http://cakebilling.googlecode.com/files/etc.tar.bz2 без него mschap2 и mppe работать отказывается.
в фаил dictionary добавляем строки:
Цитировать
INCLUDE /etc/radiusclient/dictionary.microsoft

# Limit session traffic
ATTRIBUTE       Session-Octets-Limit            227     integer
# What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out)
ATTRIBUTE       Octets-Direction                228     integer
# Connection Speed Limit
ATTRIBUTE       PPPD-Upstream-Speed-Limit       230     integer
ATTRIBUTE       PPPD-Downstream-Speed-Limit     231     integer
ATTRIBUTE       PPPD-Upstream-Speed-Limit-1     232     integer
ATTRIBUTE       PPPD-Downstream-Speed-Limit-1   233     integer
ATTRIBUTE       PPPD-Upstream-Speed-Limit-2     234     integer
ATTRIBUTE       PPPD-Downstream-Speed-Limit-2   235     integer
ATTRIBUTE       PPPD-Upstream-Speed-Limit-3     236     integer
ATTRIBUTE       PPPD-Downstream-Speed-Limit-3   237     integer
ATTRIBUTE       Acct-Interim-Interval            85     integer

правим фаил /etc/hosts
Цитировать
127.0.0.1   localhost vpn-server
127.0.1.1   localhost vpn-server
vpn-server - это имя ВАШЕГО сервера, меняете на ваше усмотрение. Иначе радиус клиент не сможет соединиться с радиус-сервером.

7. Далее необходимо создать БД для AbillS
#mysql -u root -p
Цитировать
GRANT ALL ON abills.* TO abills@localhost IDENTIFIED BY "yourpassword";
 CREATE DATABASE abills;
Вариант2: Можно поступить проще, установить пакет phpmyadmin и сделать все за 1 минуту включая генерирование стойкого пароля.
sudo apt-get install phpmyadmin
далее
http://ip-адрес-вашего-сервера/phpmyadmin/
вводим логин root и пароль, для управления сервером и
закладка «Привилегии» –> «Добавить нового пользователя»
Имя пользователя: abills
Хост: localhost
Пароль:нажать кнопку сгенерировать, пароль запомнить или записать.
Поставить галку: Создать базу данных с именем пользователя в названии и предоставить на нее полные привилегии.
Жмем Ок, база создана.

После импорта файла abills.sql, может возникнуть проблема с кодировкой базы, по этому желательно поправить добавив в него принудительно указанную кодировку. Например:

CREATE TABLE `nas_ippools` (
  `pool_id` int(10) unsigned NOT NULL default 0,
  `nas_id` smallint(5) unsigned NOT NULL default '0',
  UNIQUE KEY `nas` (`nas_id`,`pool_id`)
) DEFAULT CHARSET=cp1251  ;
Заодно можно поправить секретный код, который шифрует пароли.
Цитировать
INSERT INTO admins (id, name, regdate, password, gid, aid, disable, phone, web_options) VALUES ('abills','abills','2005-06-16', ENCODE('abills', 'abills345678901234567890'), 0, 1,0,'', '');
Цитировать
INSERT INTO admins (id, name, regdate, password, gid, aid, disable, phone, web_options) VALUES ('system','System user','2005-07-07', ENCODE('test', 'abills345678901234567890'), 0, 2, 0,'', '');

Теперь дамп БД из каталога с abills нужно занести в БД
#mysql -u root -p abills < abills.sql 
Настраиваем конфигурационный фаил Abills
В папке /usr/abills/libexec выполняем
#cd /usr/abills/libexec
#cp config.pl.default config.pl , затем его редактируем.

Указываем верные реквизиты доступа к БД, также меняем некоторые параметры:
$conf{dbhost}='localhost';
$conf{dbname}='abills';
$conf{dbuser}='abills';
$conf{dbpasswd}='SxTcBAx7dYfR7cG7';
$conf{dbcharset}='cp1251';
$conf{default_language}='russian';
$conf{periodic_check}='yes';
$conf{ERROR_ALIVE_COUNT} = 10;
$conf{secretkey}="abills345678901234567890";
$conf{RADIUS2}=1;
Отключаем лишние модули:
@MODULES = ('Dv',
#            'Voip',
#            'Docs',
#            'Mail',
            'Sqlcmd');

8.Правим конф /usr/abills/Abills/defs.conf
меняем только приведенные ниже строки
$SNMPWALK = '/usr/bin/snmpwalk';
$SNMPSET = '/usr/bin/snmpset';
$GZIP = '/bin/gzip';
$TAR='/bin/tar';
$MYSQLDUMP = '/usr/bin/mysqldump';
$IFCONFIG='/sbin/ifconfig';
Теперь будет работать backup, изначально конфиг заточен под freeBSD.

8. Создаем сертификат для Apache
#mkdir /etc/apache2/sslотвечаем на вопросы следующей команды:
#make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
#a2enmod ssl

 Заменяем текст из  /etc/apache2/sites-available/default-ssl на приведенный.
<VirtualHost *:443> 
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
   DocumentRoot /usr/abills/cgi-bin/
    Alias /abills "/usr/abills/cgi-bin/"
    <Directory "/usr/abills/cgi-bin"> 
  <IfModule mod_rewrite.c> 
      RewriteEngine on   
        RewriteCond %{HTTP:Authorization} ^(.*)
       RewriteRule ^(.*) - [E=HTTP_CGI_AUTHORIZATION:%1] 
      Options Indexes ExecCGI SymLinksIfOwnerMatch   
     </IfModule>   
    AddHandler cgi-script .cgi   
    Options Indexes ExecCGI FollowSymLinks   
    AllowOverride none   
    DirectoryIndex index.cgi   
    #Options ExecCGI       
   <Files ~ ".(db|log)$">     
     Order allow,deny       
    Deny from all     
  </Files> 
 </Directory>     
#Admin interface   
 <Directory "/usr/abills/cgi-bin/admin"> 
  AddHandler cgi-script .cgi   
   Options Indexes ExecCGI FollowSymLinks   
    AllowOverride none 
  DirectoryIndex index.cgi 
  order deny,allow 
  allow from all   
 </Directory> 
ErrorLog /var/log/apache2/error-abills.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access-abills.log combined
 </virtualhost>
Меняем кодироку на cp1251 здесь /etc/apache2/conf.d/charset
Цитировать
AddDefaultCharset cp1251

Создаем симлинк:
#ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/default-ssl
Перезапускаем apache
#/etc/init.d/apache2 restartПроверяем работу сервера, заходим по адресу:
https://ip-адрес-вашего-сервера/admin/
Если все завершилось успешно, гут. Если нет, читаем логи. В них вся сила!

9. Настройка pptpd:
Редактируем /etc/pptpd.conf
ppp /usr/sbin/pppd
option /etc/ppp/pptpd-options
localip 192.168.160.1
Редактируем /etc/ppp/options, добавляем строку
Цитировать
+mschap-v2

Редактируем /etc/ppp/pptpd-options, добавляем строки:

ms-dns 192.168.160.1 # или любой удобный для вас днс сервер
asyncmap 0
lcp-echo-failure 30
lcp-echo-interval 5
ipcp-accept-local
ipcp-accept-remote

plugin radius.so
plugin radattr.so

По умолчанию конф настроен на mschap-v2+mppe.

Пишем скрипт шейпера и даем права запуска.
#touch /etc/ppp/ip-up.d/shaper
#chmod 744 /etc/ppp/ip-up.d/shaper
#nano /etc/ppp/ip-up.d/shaper

#!/bin/sh
if [ -f /var/run/radattr.$1 ]
   then
   DOWNSPEED=`/usr/bin/awk  '/PPPD-Downstream-Speed-Limit/ {print $2}'  /var/run/radattr.$1`
   UPSPEED=`/usr/bin/awk  '/PPPD-Upstream-Speed-Limit/ {print $2}'  /var/run/radattr.$1`
   
# echo $DOWNSPEED
# echo $UPSPEED >
 
    /sbin/tc qdisc del dev $1 root    > /dev/null
    /sbin/tc qdisc del dev $1 ingress > /dev/null
 ##### speed server->client
   if [ "$UPSPEED" != "0" ] ;
   then
     /sbin/tc qdisc add dev $1 root handle 1: htb default 20
       /sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit
     /sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate ${UPSPEED}kbit prio 1
     /sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate ${UPSPEED}kbit  prio 2
     /sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1500
     /sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1500
     /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10
     /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10
     /sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10
   fi
 ##### speed client->server
   if [ "$DOWNSPEED" != "0" ] ;
   then
     /sbin/tc qdisc add dev $1 handle ffff: ingress
     /sbin/tc filter add dev $1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNSPEED}kbit burst 12k drop flowid :1
   fi
 fi
Есть еще один способ шейпить. Через модуль IPN. Об этом способе можно почитать на форуме разработчика.

10. По желанию, устанавливаем squid, делаем его прозрачным.
#apt-get install squidменяем строки в файле /etc/squid/squid.conf
с
Цитировать
http_port 3128
на
Цитировать
http_port 3128 transparent
По умолчанию, в конфиге прописаны все возможные сети, убираем комментарий :
Цитировать
http_access allow localnet
перезапускаем сервис
# /etc/init.d/squid restart

11. Включаем нат и прописываем следущие строчки в фаил  rc.local
 правила фаервола:
ip адрес 192.168.1.10, смотрит в сторону adsl роутера.

# Сбросить правила и удалить цепочки.
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

#Правила для NAT
iptables -t nat -A POSTROUTING -s 192.168.160.0/255.255.255.0 -j SNAT --to-source 192.168.1.10

#Правило для прозрачного прокси, если таковой имеется.
iptables -t nat -A PREROUTING -p tcp -s 192.168.160.0/24 --dport 80 -j REDIRECT --to-port 3128

#Закрываем важные порты на Интерфейсах
iptables -A INPUT -p TCP -i eth0 --dport 3128 -j DROP #Порты proxy
iptables -A INPUT -p TCP -i eth1 --dport 3128 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 3306 -j DROP #mysql
iptables -A INPUT -p TCP -i eth1 --dport 3306 -j DROP


#Открываем Фовардинг
echo "1" > /proc/sys/net/ipv4/ip_forward

exit 0
Скрипт примитивный, но для начала хватит.

12. В /etc/crontab заносим следующее.
*/5 *  *  *  *   root    /usr/abills/libexec/billd -all
1    0  *  *  *   root    /usr/abills/libexec/periodic daily
1    0  1  *  *   root    /usr/abills/libexec/periodic monthly
#backup
1    3  *  *  *   root     /usr/abills/libexec/periodic backup

13. Настрока Abills
Открываем web-интерфейс админки по адресу https://ip-адрес-вашего-сервера/admin/
Логин/пароль abills/abills их можно будет потом сменить.

По умолчанию. NAS, пользователь и тариф уже создан. Мы изменим под свои условия.
Идем Система->Сервер доступа
Ip пишем 127.0.0.1
Выбираем тип pppd:pppd + Radius
Alive (sec.): 120
RADIUS Parameters (,): Acct-Interim-Interval=60
Теперь добавляем IP POOLs:
ставим 192.168.160.2-192.168.160.254

 Заводим группы тарифов:
/ Система/ Internet/ Тарифные планы/ Группы/
добавил: безлимит, GID: 0
Идем в/ Система/ Internet/ Тарифные планы/
#: 1
Название: «безлимит»
Группа: «1:безлимит»
Дневная а/п: 10
добавить

Определяем скорости:
/ Система/ Internet/ Тарифные планы/
жмем на, выбранный тариф «Интервалы»
жмем кнопку добавить, затем Трафик
вписываем скорости, добавить.


Теперь заводим пользователя:
/ Клиенты/ Логины/ Internet/ Пользователи Добавить/
создаем клиента: пароль, логин, ФИО, кредит. И сразу можно положить деньги на счет.

Тут главное сначала создать группы тарифов, а потом сами тарифы. Кроме этого читайте на WiKi подробно про все опции. Обычно начинают орать раньше чем поймут что опции означают.

По данной инструкции мной было поднято 4 сервера и успешно работают.
Уже не актуально, абиллс радует своей стабильностью и гибкостью, остальное в ваших руках.

 Если нужно убрать шифрование, делаем так:
Убираем строчку "require-mppe-128" в файле /etc/ppp/pptpd-options  Это даст бОльшую стабильность VPN туннелей и разгрузит ЦПУ. Копипастер глубоко ошибался в том что нельзя без патча ядра запустить mppe, в доказательство приведу скриншот.
В следующей серии, расскажу как пропатчить pptpd для поддержки большего количества туннелей. Если конечно заработаю на инвайт. ;)
Скриншоты результата:


http://img405.ЗАПРЕЩЁННЫЙ РЕСУРС/img405/1904/statistic1.png

Все, удачи.

Ubuntu 9.10, Ubuntu 10.04, abills, freeradius2, pptp, mppe, mschap-v2



Пользователь решил продолжить мысль 16 Марта 2010, 05:51:01:
На хабаре рекомендовали заняться модулем rlm_perl:ru, это разгрузит процц.
http://abills.net.ua/wiki/doku.php/abills:docs:rlm_perl:ru
И хотелось бы добавить, 0.5 почти не отличается от 0.4. Только чуть симпатичнее.Вечерком займусь переносом базы из 0.4 в 0.5. Как получиться, опишу процесс.

Вопрос тут возник, новый HOWTO сделать как отдельный топик? он как то не вписывается в этот.

Пользователь решил продолжить мысль 16 Марта 2010, 09:36:14:
habrahabr mailer
 кому: мне   
Показать подробные сведения 13:18 (17 мин. назад)   
Увы, твой топик в "Песочнице" http://habrahabr.ru/sandbox/ не был одобрен НЛО и не попал в общую ленту. Попробуй опубликовать что-то другое.
С уважением, Хабрахабр
 :2funny:
« Последнее редактирование: 17 Марта 2010, 09:20:06 от Nesmit »

Оффлайн satch

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1561
  • Kubuntu 15.10 amd64
    • Просмотр профиля
Сделай отдельное хауту, так правильнее будет.
Наше желание помочь прямопропорционально вашему желанию решить проблему

Оффлайн Slimer

  • Любитель
  • *
  • Сообщений: 62
    • Просмотр профиля
товарищи, вы не правы. Я сделал ссылку на эту How-to, конечно, я должен был поблагодарить Nesmit'а. С самого начала задумки статьи хотел добавить, что благодарю его за проделанную работу, но пока писал статью забыл. Может и с ошибками, но что плохого, что я взял за основу этот How-to? Я не видел нормально хав-ту для 2-го радиуса, приходилось все собирать по кусочкам из интернета. И вот чтобы люди не мучались как я, написал ту статью. И я не орал, что я статью всю, от начала и до конца, сделал кровью и пОтом. Так что вы преувеличиваете. А делал я эту статью по памяти, сначала сделал по вашей, а потом уже вспоминал, что я делал для того чтобы заработало на 2-ом радиусе.
« Последнее редактирование: 16 Марта 2010, 18:15:47 от Slimer »

Оффлайн exploit

  • Участник
  • *
  • Сообщений: 144
  • Ubuntu 10.04 x86 2.6.32-24
    • Просмотр профиля
Nesmit, спасибо за подробное описание, хотелось бы поинтересоваться, пока не начал тестировать описанное и особо не включился к тему, есть пару вопросов.
1.Это все описанное должно работать на машине уже с интернетом, то есть у меня подключение к инету PPPOE, я создаю скрипт для соединения к своему прову и все, все остальное настраиваем по стать?
2.Как можно реализовать без PPPTP, нужно просто по IP выдавать интернет, но чтоб все остальное работало, это билинг, ограничение скорости и т.д.?
Лучше прожить один день, как тигр, чем всю жизнь, как осел (В. Турчинский)

Оффлайн Nesmit

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
товарищи, вы не правы. Я сделал ссылку на эту How-to, конечно, я должен был поблагодарить Nesmit'а. С самого начала задумки статьи хотел добавить, что благодарю его за проделанную работу, но пока писал статью забыл. Может и с ошибками, но что плохого, что я взял за основу этот How-to? Я не видел нормально хав-ту для 2-го радиуса, приходилось все собирать по кусочкам из интернета. И вот чтобы люди не мучались как я, написал ту статью. И я не орал, что я статью всю, от начала и до конца, сделал кровью и пОтом. Так что вы преувеличиваете. А делал я эту статью по памяти, сначала сделал по вашей, а потом уже вспоминал, что я делал для того чтобы заработало на 2-ом радиусе.

Зато я прекрасно видел :) и ссылку давал. Не внимательно читаете сударь. Вся ваша работа копипаст, даже мои глупые ошибки там же :))))) exppp и прочее. Причем зачемто отлючили во фрирадиусе mppe и хотите что бы он заработал! Я в афиге.
А то что фрирадиус2 заводится даже легче чем 1й. Все что нужно написано на сайте разработчика копируется мышкой, а на форуме человек пишет что нужно поправить в конфах. Описание приложил тут на форуме. Что и было успешно скопипастено! И вообще, свой хауту я писал несколько недель, оттачивая и исправляя. Из-за этого и спутался порядок действий. А вы даже не удосужились поправить.

И вообще, без описания модулей фрирадиуса2 и заблуждений с Вашей стороны. Ничего не изменилось и не улучшилось. Вот это больше всего меня ВОЗМУТИЛО!  >:(

Зато имеем теперь вылизанный HOWTO на 0.5 версию.  :2funny:

Nesmit, спасибо за подробное описание, хотелось бы поинтересоваться, пока не начал тестировать описанное и особо не включился к тему, есть пару вопросов.
1.Это все описанное должно работать на машине уже с интернетом, то есть у меня подключение к инету PPPOE, я создаю скрипт для соединения к своему прову и все, все остальное настраиваем по стать?
2.Как можно реализовать без PPPTP, нужно просто по IP выдавать интернет, но чтоб все остальное работало, это билинг, ограничение скорости и т.д.?
1. никак не влияет на то что я описал. Кроме правил фаервола. Напишете что нить свое вместо ната, например через маскарад. тогда и ip  знать не нужно. Да и... лучше сразу привязать pppoe к нужному интерфейсу, например ppp250.
2. модуль IPN и флаг в руки.
PS: мож сеня родится описание переезда с 0.40 на 0.51.
« Последнее редактирование: 16 Марта 2010, 18:52:26 от Nesmit »

Оффлайн Slimer

  • Любитель
  • *
  • Сообщений: 62
    • Просмотр профиля
Да ладно, меня нисколько не задело. Просто хотел помочь людям. Не знаю какие у меня ошибки там были, но у меня все работает. Конечно, ваш новый хав-ту лучше, не спорю, и буду пользоваться им, кстати, уже настраиваю =)

Пользователь решил продолжить мысль 17 Марта 2010, 00:48:19:
делал по твоей инструкции на 9.10 . авториз не проходит. в логах пишет что пароль не верный. хотя тысячу раз проверил все. странно...
« Последнее редактирование: 17 Марта 2010, 00:48:19 от Slimer »

Оффлайн Nesmit

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
логи фрирадиуса нада смотреть
там только 2 случая
1. радиус клиент не конектится
2. забыл в конф добавить строку, о фрирадиусе2
PS: тему завтра закрою. Продолжать мне больше не хочется.

Оффлайн obsessionsys

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
    • IT-MEHANIKA
Мужики, вторую статью с Abills 0.50 +freeradius 2 внимательно просмотрите, там Nesmit когда публиковал ее, делал красивости, т.е. вставлял теги форума, но они не срабатывают, т.о. эти теги находяться в статье. Наверно Nesmitу надо немного исправить статью, т.е. подкорректировать ее, убрав эти теги. И огромное спасибо тебе Nesmit за такой проделанный труд. Статья отличная, ее наверно нужно было вынести в отдельную HowTo.

Пользователь решил продолжить мысль 17 Марта 2010, 09:17:32:
Я себе позволил навести красивости и вынести в pdf  :)
« Последнее редактирование: 17 Марта 2010, 09:17:44 от obsessionsys »
Что бы хорошее становилось лучшим, а лучшее - совершенным!

Оффлайн Nesmit

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Хрошо, одобрямс.
Создал новый топик и причесал его. https://forum.ubuntu.ru/index.php?topic=87597.0

Оффлайн Vashuragan

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Можно ли использовать два внешних интерфейса? Если да, то как? появился дополнительный канал, а как прикрутить его не знаю....

 

Страница сгенерирована за 0.026 секунд. Запросов: 21.