Микротик: відмінності між версіями
Перейти до навігації
Перейти до пошуку
Sv (обговорення | внесок) Немає опису редагування |
Sv (обговорення | внесок) Немає опису редагування |
||
Рядок 1: | Рядок 1: | ||
=Включение/выключение доступа в интернет | |||
На Микротик включаем NAT и разрешаем натить только те ip, которые будут в списке goodboys | На Микротик включаем NAT и разрешаем натить только те ip, которые будут в списке goodboys | ||
Рядок 51: | Рядок 53: | ||
echo '/usr/bin/perl /usr/local/nodeny/noserver.pl -g=_mikrotik1.cfg.pm -d &' >> /etc/rc.local | echo '/usr/bin/perl /usr/local/nodeny/noserver.pl -g=_mikrotik1.cfg.pm -d &' >> /etc/rc.local | ||
</source> | </source> | ||
=Заглушка | |||
Рассмотрим ситуацию, когда сервер с админкой NoDeny находится в одной логической сети с абонентами. | |||
На микротике выполним команды: | |||
<pre> | |||
add action=mark-connection chain=input dst-address=10.1.0.1 in-interface=ether1 new-connection-mark=cap passthrough=no | |||
add action=mark-routing chain=output connection-mark=cap new-routing-mark=cap passthrough=no | |||
add action=mark-routing chain=prerouting dst-port=80 new-routing-mark=cap passthrough=no protocol=tcp src-address-list=!goodboys | |||
/ip firewall nat | |||
add action=masquerade chain=srcnat out-interface=ether1 | |||
add action=masquerade chain=srcnat out-interface=ether2 src-address=10.1.0.0/16 src-address-list=goodboys | |||
/ip route | |||
add check-gateway=arp distance=10 gateway=10.1.0.1 routing-mark=cap | |||
</pre> | |||
Здесь: | |||
* 10.1.0.1 - ip сервера с админкой NoDeny | |||
* ether1 - интерфейс, смотрящий в сеть с абонентами и админкой NoDeny | |||
* ether2 - интерфейс, смотрящий в интернет | |||
Поскольку сервер с админкой не предоставляет доступ в интернет абонентам, необходимо изменить фаервол на следующий: | |||
<pre> | |||
#!/bin/sh - | |||
f='/sbin/ipfw' | |||
${f} add 50 allow tcp from any to me 22 | |||
${f} add 51 allow tcp from me 22 to any | |||
${f} add 110 allow ip from any to any via lo0 | |||
${f} add 120 skipto 1000 ip from me to any | |||
${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17 | |||
${f} add 160 skipto 2000 ip from any to me | |||
${f} add 300 fwd 127.0.0.1,8080 tcp from any to any dst-port 80 | |||
${f} add 320 allow ip from any to any out | |||
${f} add 359 deny ip from any to any | |||
${f} add 1000 allow udp from any 53 to any | |||
${f} add 1010 allow tcp from any to any setup keep-state | |||
${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> |
Версія за 13:19, 21 серпня 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
=Заглушка
Рассмотрим ситуацию, когда сервер с админкой NoDeny находится в одной логической сети с абонентами.
На микротике выполним команды:
add action=mark-connection chain=input dst-address=10.1.0.1 in-interface=ether1 new-connection-mark=cap passthrough=no add action=mark-routing chain=output connection-mark=cap new-routing-mark=cap passthrough=no add action=mark-routing chain=prerouting dst-port=80 new-routing-mark=cap passthrough=no protocol=tcp src-address-list=!goodboys /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 add action=masquerade chain=srcnat out-interface=ether2 src-address=10.1.0.0/16 src-address-list=goodboys /ip route add check-gateway=arp distance=10 gateway=10.1.0.1 routing-mark=cap
Здесь:
- 10.1.0.1 - ip сервера с админкой NoDeny
- ether1 - интерфейс, смотрящий в сеть с абонентами и админкой NoDeny
- ether2 - интерфейс, смотрящий в интернет
Поскольку сервер с админкой не предоставляет доступ в интернет абонентам, необходимо изменить фаервол на следующий:
#!/bin/sh - f='/sbin/ipfw' ${f} add 50 allow tcp from any to me 22 ${f} add 51 allow tcp from me 22 to any ${f} add 110 allow ip from any to any via lo0 ${f} add 120 skipto 1000 ip from me to any ${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17 ${f} add 160 skipto 2000 ip from any to me ${f} add 300 fwd 127.0.0.1,8080 tcp from any to any dst-port 80 ${f} add 320 allow ip from any to any out ${f} add 359 deny ip from any to any ${f} add 1000 allow udp from any 53 to any ${f} add 1010 allow tcp from any to any setup keep-state ${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