Микротик

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку

Включение/выключение доступа в интернет

На Микротик включаем NAT и разрешаем натить только те ip, которые будут в списке goodboys

/ip service enable api
/ip firewall nat add action=masquerade chain=srcnat disabled=no out-interface=ether2 src-address=10.1.0.0/16 src-address-list=goodboys

Здесь:

  • ether2 - интерфейс, который смотрит в интернет
  • 10.1.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 = '10.1.0.11';
$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=!10.1.0.1 dst-port=80 fragment=no protocol=tcp src-address-list=!goodboys to-addresses=10.1.0.1 to-ports=8080

Здесь 10.1.0.1 - 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 10.1.0.11 to any 1812,1813 in
${f} add 500 deny ip from any to any in

${f} add 600 fwd 10.1.0.11 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

Здесь 10.1.0.11 - ip Микротика.

Если сервер с админкой NoDeny не выполняет функции DNS - удалите правила 400 и 650.