Микротик: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
Рядок 73: Рядок 73:
f='/sbin/ipfw'
f='/sbin/ipfw'


${f} add 50 allow tcp from any to me 22
${f} add 100 deny ip from any to not me in
${f} add 51 allow tcp from me 22 to any
${f} add 150 check-state
${f} add 200 allow ip from any to any via lo0


${f} add 110 allow ip from any to any via lo0
${f} add 300 allow icmp from any to any in
${f} add 120 skipto 1000 ip from me to any
${f} add 350 allow tcp from any to any 22,80,443,8080 in
${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${f} add 400 allow udp from any to any 53 in
${f} add 160 skipto 2000 ip from any to me
${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 300 fwd 127.0.0.1,8080 tcp from any to any dst-port 80
${f} add 600 fwd 10.1.0.11 tcp from any 8080 to any
${f} add 320 allow ip from any to any out
${f} add 650 allow udp from any 53 to any
${f} add 359 deny ip from any 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>


${f} add 1000 allow tcp from any to any setup keep-state
Здесь 10.1.0.11 - ip Микротика.
${f} add 1010 allow udp from any 53 to any
${f} add 1020 allow udp from any to any keep-state
${f} add 1100 allow ip from any to any
 
${f} add 2000 check-state
${f} add 2010 allow icmp from any to any
${f} add 2020 allow tcp from any to any 22,80,443,5006
${f} add 2060 allow udp from any to any 53
${f} add 2100 deny ip from any to any
</pre>


Если сервер с админкой NoDeny не выполняет функции DNS - удалите правила 1010 и 2060. Если на этом сервере находится mysql и никакие другие ваши сервера не обращаются к нему - в правиле 2020 удалите число 5006.
Если сервер с админкой NoDeny не выполняет функции DNS - удалите правила 400 и 650.

Версія за 06:44, 23 серпня 2015

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

На Микротик включаем 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.