Микротик: відмінності між версіями
Sv (обговорення | внесок) Немає опису редагування |
Sv (обговорення | внесок) Немає опису редагування |
||
Рядок 20: | Рядок 20: | ||
== DHCP == | == DHCP == | ||
Настройка описана '''[[mirkotik dhcp|здесь]]''' | Настройка описана '''[[mirkotik dhcp|здесь]]''' | ||
=Включение/выключение доступа в интернет= | |||
На микротик включаем NAT и разрешаем натить только те ip, которые будут в списке goodboys | |||
<pre> | |||
/ip service enable api | |||
/ip firewall nat add action=masquerade chain=srcnat disabled=no out-interface=ether2 src-address=10.0.0.0/16 src-address-list=goodboys | |||
</pre> | |||
Здесь: | |||
* ether2 - интерфейс, который смотрит в интернет | |||
* 10.0.0.0/16 - сеть абонентов | |||
На сервере NoDeny: | |||
<source lang="bash"> | |||
cd /usr/local/nodeny/modules | |||
cat mikrotik/create.cfg.mikrotik.cfg.pm >> MyNetwork/create.mikrotik1.cfg.pm | |||
ee MyNetwork/create.mikrotik1.cfg.pm | |||
</source> | |||
В первой строке редактируемого файла добавим единичку в mikrotik.cfg.pm: | |||
<pre> | |||
#<ACTION> file=>'cfg/mikrotik1.cfg.pm',hook=>'new' | |||
</pre> | |||
А также изменим параметры подключения к Микротику: | |||
<pre> | |||
$host = '1.1.1.1'; | |||
$user = 'admin'; | |||
$pass = ''; | |||
</pre> | |||
Установим новый конфиг: | |||
<source lang="bash"> | |||
cd /usr/local/nodeny/ | |||
perl install.pl -x | |||
</source> | |||
Запустим с выводом процесса управления микротиком на консоль: | |||
<source lang="bash"> | |||
perl noserver.pl -g=_mikrotik1.cfg.pm -v | |||
</source> | |||
Тестируем. Если все ок, то в автозагрузку: | |||
<source lang="bash"> | |||
echo '/usr/bin/perl /usr/local/nodeny/noserver.pl -g=_mikrotik1.cfg.pm -d &' >> /etc/rc.local | |||
</source> | |||
<br> | |||
=Заглушка= | |||
На микротике выполним команды: | |||
<pre> | |||
/ip firewall nat | |||
add action=dst-nat chain=dstnat dst-address=!1.1.1.2 src-address=!1.1.1.2 dst-port=80 fragment=no protocol=tcp src-address-list=!goodboys to-addresses=1.1.1.2 to-ports=8080 | |||
</pre> | |||
Здесь 1.1.1.2 - ip сервера с админкой NoDeny | |||
Поскольку сервер с админкой не предоставляет доступ в интернет абонентам, необходимо изменить фаервол на следующий: | |||
<pre> | |||
#!/bin/sh - | |||
f='/sbin/ipfw' | |||
${f} add 100 deny ip from any to not me in | |||
${f} add 150 check-state | |||
${f} add 200 allow ip from any to any via lo0 | |||
${f} add 300 allow icmp from any to any in | |||
${f} add 350 allow tcp from any to any 22,80,443,8080 in | |||
${f} add 400 allow udp from any to any 53 in | |||
${f} add 450 allow udp from 1.1.1.1 to any 1812,1813 in | |||
${f} add 500 deny ip from any to any in | |||
${f} add 600 fwd 1.1.1.1 tcp from any 8080 to any | |||
${f} add 650 allow udp from any 53 to any | |||
${f} add 700 allow tcp from any to any setup keep-state | |||
${f} add 750 allow udp from any to any keep-state | |||
${f} add 800 allow ip from any to any | |||
</pre> | |||
Здесь 1.1.1.1 - ip микротика. | |||
Если сервер с админкой NoDeny не выполняет функции DNS - удаляем правила 400 и 650. | |||
Если заглушка не запущена (модуль cap), необходимо записать в автозагрузку (/etc/rc.local) и запустить с консоли: | |||
<source lang="bash"> | |||
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=cap -d & | |||
</source> | |||
<br> |
Версія за 09:14, 21 вересня 2018
Краткий обзор
Связь Микротика с NoDeny осуществляется по radius-протоколу. Вам необходимо поставить на сервер биллинга программу radius-сервер (установка описана ниже). Эта программа будет принимать запросы от Микротика, проверять пароль абонента и возвращать Микротику ip адрес этого абонента.
Микротик может предоставлять доступ в интернет по двум технологиям: посредством DHCP или PPPoE. Настройка радиус-сервера и процедур mysql отличаются у этих технологий - будте внимательны.
Далее вам необходимо определиться каким образом будет устанавливаться скорость:
- через радиус-атрибуты (в радиус ответе, кроме ip будут присутствовать данные по скорости)
- через модуль биллинга, который будет "заходить" на микротик и устанавливать скорость
Установка скорости через атрибуты более производительна, но теряется возможность динамичного изменения скорости - скорость может быть изменена только в момент, когда Микротик сделает запрос на radius-сервер. Это происходит с интервалом в 50 секунд для PPPoE и гораздо бОльшим интервалом в случае DHCP (пока не истечет время аренды ip). Таким образом, для PPPoE можно применить данный способ, а для DHCP мы бы не рекомендовали.
PPPoE
Настройка описана здесь
DHCP
Настройка описана здесь
Включение/выключение доступа в интернет
На микротик включаем NAT и разрешаем натить только те ip, которые будут в списке goodboys
/ip service enable api /ip firewall nat add action=masquerade chain=srcnat disabled=no out-interface=ether2 src-address=10.0.0.0/16 src-address-list=goodboys
Здесь:
- ether2 - интерфейс, который смотрит в интернет
- 10.0.0.0/16 - сеть абонентов
На сервере NoDeny:
cd /usr/local/nodeny/modules
cat mikrotik/create.cfg.mikrotik.cfg.pm >> MyNetwork/create.mikrotik1.cfg.pm
ee MyNetwork/create.mikrotik1.cfg.pm
В первой строке редактируемого файла добавим единичку в mikrotik.cfg.pm:
#<ACTION> file=>'cfg/mikrotik1.cfg.pm',hook=>'new'
А также изменим параметры подключения к Микротику:
$host = '1.1.1.1'; $user = 'admin'; $pass = '';
Установим новый конфиг:
cd /usr/local/nodeny/
perl install.pl -x
Запустим с выводом процесса управления микротиком на консоль:
perl noserver.pl -g=_mikrotik1.cfg.pm -v
Тестируем. Если все ок, то в автозагрузку:
echo '/usr/bin/perl /usr/local/nodeny/noserver.pl -g=_mikrotik1.cfg.pm -d &' >> /etc/rc.local
Заглушка
На микротике выполним команды:
/ip firewall nat add action=dst-nat chain=dstnat dst-address=!1.1.1.2 src-address=!1.1.1.2 dst-port=80 fragment=no protocol=tcp src-address-list=!goodboys to-addresses=1.1.1.2 to-ports=8080
Здесь 1.1.1.2 - ip сервера с админкой NoDeny
Поскольку сервер с админкой не предоставляет доступ в интернет абонентам, необходимо изменить фаервол на следующий:
#!/bin/sh - f='/sbin/ipfw' ${f} add 100 deny ip from any to not me in ${f} add 150 check-state ${f} add 200 allow ip from any to any via lo0 ${f} add 300 allow icmp from any to any in ${f} add 350 allow tcp from any to any 22,80,443,8080 in ${f} add 400 allow udp from any to any 53 in ${f} add 450 allow udp from 1.1.1.1 to any 1812,1813 in ${f} add 500 deny ip from any to any in ${f} add 600 fwd 1.1.1.1 tcp from any 8080 to any ${f} add 650 allow udp from any 53 to any ${f} add 700 allow tcp from any to any setup keep-state ${f} add 750 allow udp from any to any keep-state ${f} add 800 allow ip from any to any
Здесь 1.1.1.1 - ip микротика.
Если сервер с админкой NoDeny не выполняет функции DNS - удаляем правила 400 и 650.
Если заглушка не запущена (модуль cap), необходимо записать в автозагрузку (/etc/rc.local) и запустить с консоли:
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=cap -d &