Найпростіший скрипт для налаштування роутера Mikrotik

Замучився я налаштовувати мікроти через княпочки.
Тому сів і деньок поекспериментував, вивчаючи скриптову мову RouterOS. Розібрався, звісно, на рівні початківця, тому що розділ «Mangle» у файрволі я так і не встиг освоїти.
Що робить скрипт?
Налаштовує скинутий «в нуль» мікротік для роботи.
DHCP я спеціально не став піднімати. Але то не складно. Хоч руцями через меню налаштування пулу та DHCP, хоч через швидкі налаштування.
В принципі, все записано в тілі самого скрипта у вигляді коментарів.

ОБОВ’ЯЗКОВО! Після застосування цього скрипта слід встановити пароль адміністратора!

Скрипт з коментарями та мануалом

# #######################################################################################

# Перед завантаженням цього файлу на виконання перечитайте його повністю (особливо коментарі) і, якщо

# потрібно внесіть необхідні зміни

# #######################################################################################

#

# DHCP ТУТ НЕ НАЛАШТОВУЄТЬСЯ. РОБІТЬ ВРУЧНУ!

# БО Я НЕ ЗНАЮ, ЯКИЙ У ВАС БУДЕ ПУЛ АДРЕС

#

# Скинемо роутер в нульові налаштування:

#

# System / Reset configuration

# обов’язково встановіть галочку No Default Configuration

# можна встановити Do Not Backup

#

# Тиснемо Reset Configuration

#

# Роутер перезавантажиться. Заходимо знову та, відкривши термінал, копіюємо туди текст цього файлу.

#

#

# ВСЕ ІНШЕ В ТЕРМІНАЛІ ЗРОБИТЬСЯ САМЕ :) :

#

# назвем перший, вхідний роз’єм як ISP1 (Internet Service Provider 1)

/interface ethernet

set ether1 name=ISP1

#

#створимо bridge

/interface bridge

add name=bridge1 fast-forward=yes comment="bridge1"

#

#додамо порти до bridge1 (крім ISP1), кожен окремо

#

# #######################################################################################

# перед завантаженням цього файлу на виконання налаштуйте свій список портів, бо може бути не такий!

# #######################################################################################

#

/interface bridge port

add bridge=bridge1 interface=ether2

add bridge=bridge1 interface=ether3

add bridge=bridge1 interface=ether4

add bridge=bridge1 interface=ether5

add bridge=bridge1 interface=ether6

add bridge=bridge1 interface=ether7

add bridge=bridge1 interface=ether8

add bridge=bridge1 interface=sfp9

add bridge=bridge1 interface=sfp10

add bridge=bridge1 interface=sfp11

add bridge=bridge1 interface=sfp12

#

#налаштуємо IP на бриджі (якщо не влаштовує 192.168.1.1/24 - поставте свій)

/ip address

add address=192.168.1.1/24 interface=bridge1

#

#налаштуєм інтернет від провайдера

/ip dhcp-client

add interface=ISP1 default-route-distance=1 add-default-route=yes use-peer-dns=yes use-peer-ntp=yes disabled=no

/ip dns

set allow-remote-requests=yes

#

#вимкнем налаштування мікротіка за всіма службами, крім winbox та web

/ip service

disable api

disable api-ssl

disable ftp

disable ssh

disable telnet

#при цьому змінимо порт доступу до вебморди на 8083

set www port=8083

#

#налаштуємо фільтрацію у файрволі

/ip firewall filter

add action=accept chain=input comment="accept establish & related" connection-state=established,related

add action=accept chain=forward comment="accept forward establish & related" connection-state=established,related

add action=drop chain=input comment="drop invalid input" connection-state=invalid

add action=drop chain=forward comment="drop invalid forward" connection-state=invalid

add action=accept chain=input comment="accept ICMP (ping)" protocol=icmp

add action=drop chain=input comment="drop all not from lan" in-interface=!bridge1 connection-nat-state=!dstnat connection-state=new in-interface=ISP1

add action=accept chain=forward comment="accept established,related" connection-state=established,related

add action=drop chain=forward comment="drop invalid" connection-state=invalid

add action=drop chain=forward comment="drop all from WAN to LAN" connection-nat-state=!dstnat connection-state=new in-interface=ISP1

add action=accept chain=forward comment="accept http & https from LAN" dst-port=80,443 in-interface=bridge1 out-interface=ISP1 protocol=tcp

add action=accept chain=forward comment="accept dns from lan" dst-port=53 in-interface=bridge1 out-interface=ISP1 protocol=udp

add action=drop chain=forward comment="drop all from LAN to WAN" in-interface=bridge1 out-interface=ISP1

#

#прокинемо NAT для доступу користувачів у інтернет

/ip firewall nat

add chain=srcnat out-interface=ISP1 action=masquerade comment="connect to internet from LAN"

#прокинемо NAT для доступу з інтернет до вебморди мікротіка

add action=dst-nat chain=dstnat dst-port=8083 in-interface=ISP1 protocol=tcp to-ports=8083 comment="translate port 8083 dst-nat action"

#

#позбавимось dns-флуду відразу двома способами

/ip firewall filter

add chain=input protocol=udp dst-port=53 in-interface=ISP1 action=drop comment="drop dns flood"

/ip firewall raw

add action=add-src-to-address-list chain=prerouting protocol=udp dst-port=53 in-interface=ISP1 address-list=dns-flood address-list-timeout=99d comment="preroute to disable dns flood from ISP1"

#

#зразу ж заріжемо флудилку з 0.0.0.0

/ip firewall address-list

add list=dns-flood address=0.0.0.0 comment="blocking dns flood from 0.0.0.0"

#

#створимо “чорний список” для блокування вручну, щоб можна було додавати IP через IP / Firewall / Address list / +

/ip firewall raw

add chain=prerouting src-address-list=blacklist action=drop comment="drop IP from blacklist"

#

# ####################################################

# НЕ ЗАБУДЬТЕ ВСТАНОВИТИ КРЄПКИЙ ПАРОЛЬ АДМІНІСТРАТОРУ!!!

# ####################################################

#

# ВСЕ!



Той же скрипт без коментарів

/interface ethernet

set ether1 name=ISP1

/interface bridge

add name=bridge1 fast-forward=yes comment="bridge1"

# ==================================================

/interface bridge port

add bridge=bridge1 interface=ether2

add bridge=bridge1 interface=ether3

add bridge=bridge1 interface=ether4

add bridge=bridge1 interface=ether5

add bridge=bridge1 interface=ether6

add bridge=bridge1 interface=ether7

add bridge=bridge1 interface=ether8

add bridge=bridge1 interface=sfp9

add bridge=bridge1 interface=sfp10

add bridge=bridge1 interface=sfp11

add bridge=bridge1 interface=sfp12

# ==================================================

/ip address

add address=192.168.1.1/24 interface=bridge1

# ==================================================

/ip dhcp-client

add interface=ISP1 default-route-distance=1 add-default-route=yes use-peer-dns=yes use-peer-ntp=yes disabled=no

/ip dns

set allow-remote-requests=yes

#

/ip service

disable api

disable api-ssl

disable ftp

disable ssh

disable telnet

set www port=8083

#

/ip firewall filter

add action=accept chain=input comment="accept establish & related" connection-state=established,related

add action=accept chain=forward comment="accept forward establish & related" connection-state=established,related

add action=drop chain=input comment="drop invalid input" connection-state=invalid

add action=drop chain=forward comment="drop invalid forward" connection-state=invalid

add action=accept chain=input comment="accept ICMP (ping)" protocol=icmp

add action=drop chain=input comment="drop all not from lan" in-interface=!bridge1 connection-nat-state=!dstnat connection-state=new in-interface=ISP1

add action=accept chain=forward comment="accept established,related" connection-state=established,related

add action=drop chain=forward comment="drop invalid" connection-state=invalid

add action=drop chain=forward comment="drop all from WAN to LAN" connection-nat-state=!dstnat connection-state=new in-interface=ISP1

add action=accept chain=forward comment="accept http & https from LAN" dst-port=80,443 in-interface=bridge1 out-interface=ISP1 protocol=tcp

add action=accept chain=forward comment="accept dns from lan" dst-port=53 in-interface=bridge1 out-interface=ISP1 protocol=udp

add action=drop chain=forward comment="drop all from LAN to WAN" in-interface=bridge1 out-interface=ISP1

/ip firewall nat

add chain=srcnat out-interface=ISP1 action=masquerade comment="connect to internet from LAN"

add action=dst-nat chain=dstnat dst-port=8083 in-interface=ISP1 protocol=tcp to-ports=8083 comment="translate port 8083 dst-nat action"

/ip firewall filter

add chain=input protocol=udp dst-port=53 in-interface=ISP1 action=drop comment="drop dns flood"

/ip firewall raw

add action=add-src-to-address-list chain=prerouting protocol=udp dst-port=53 in-interface=ISP1 address-list=dns-flood address-list-timeout=99d comment="preroute to disable dns flood from ISP1"

/ip firewall address-list

add list=dns-flood address=0.0.0.0 comment="blocking dns flood from 0.0.0.0"

/ip firewall raw

add chain=prerouting src-address-list=blacklist action=drop comment="drop IP from blacklist"