Методичка: MikroTik
Общее
Имена объектов конфигурации состоят из двух частей - префикса и постфикса.
Наименование префикса отражает тип объекта/функциональности/логики
Префикс имеет нумерацию, даже если объект в своей функциональности единственный
/interface ethernet -> eth[int]
/interface wireless -> wl[int]
/interface bridge -> br[int]
/interface pppoe-client -> pppoe[int]
/ip dhcp-server -> dhcp[int]
/ip dhcp-server option -> dhcp-opt[int]
/ip pool -> pool[int]
/ip firewall address-list -> list[int]
/interface list -> intlist[int]
Наименование постфикса отражает область применения объекта (локальная сеть)
Постфикс имеет нумерацию, даже если объект в своей функциональности единственный
_wan[int] - провайдер
_localnet[int] - локальная сеть
_disable - отключенный физический объект
Также постфикс может содержать диапазон областей применения объекта (несколько локальных сетей, оперируемых одним объектом)
_localnet[int-int]
Внешние ресурсы
Примеры
Пример 1
/interface ethernet
eth0_wlan0eth1_localnet0eth2_localnet1eth3_disableeth4_disable
/interface wireless
wl0_localnet0wl1_localnet0
/interface bridge
br0_localnet0 = eth1_localnet0, wl0_localnet0, wl1_localnet0
/interface list
intlist0_localnet0-1 = br0_localnet0, eth2_localnet1
/ip address
br0_localnet0содержит две подсети: 1) основная рабочая подсеть; 2) подсеть для неизвестных и мобильнных уст-в
eth2_localnet1подсеть /30, не имеет DHCP
/ip pool
pool0_localnet0для неизвестных и мобильнных уст-в
/ip dhcp-server
dhcp0_localnet0 = pool:pool0_localnet0, interface:br0_localnet0
/ip dhcp-server option
dhcp-opt0 = code:119
/ip firewall filter
chain=input connection-state=established,related action=accept
chain=input in-interface-list=intlist0_localnet0-1 action=accept
chain=input action=drop
chain=forward connection-state=established,related action=accept
chain=forward out-interface=eth0_wan action=accept
chain=forward out-interface-list=intlist0_localnet0-1 action=jump jump-target=forward_localnet0-1
chain=forward action=reject reject-with=icmp-admin-prohibited
chain=forward_localnet0-1 out-interface=br0_localnet0 action=jump jump-target=forward_localnet0
chain=forward_localnet0-1 out-interface=eth2_localnet1 action=accept
chain=forward_localnet0 in-interface=eth0_wan dst-address=$SERVER_ADDRESS protocol=tcp dst-port=22 connection-state=new action=accept
chain=forward_localnet0 in-interface=eth0_wan dst-address=$SERVER_ADDRESS protocol=udp dst-port=1194 action=accept
Пример 2
/interface ethernet
eth0_wan0eth1_localnet0eth2_localnet0eth3_localnet0eth4_localnet0
/interface wireless
wl0_localnet1wl1_localnet1
/interface bridge
br0_localnet0 = eth1_localnet0, eth2_localnet0, eth3_localnet0, eth4_localnet0br1_localnet1 = wl0_localnet1, wl1_localnet1
/interface list
intlist0_localnet0-1 = br0_localnet0, br1_localnet1
/interface pppoe-client
pppoe0_wan0
/ip address
br0_localnet0основная рабочая сеть
br1_localnet1сеть для неизвестных и мобильнных уст-в
/ip pool
pool0_localnet0pool1_localnet1
/ip dhcp-server
dhcp0_localnet0 = pool:pool0_localnet0, interface:br0_localnet0
dhcp1_localnet1 = pool:pool1_localnet1, interface:br1_localnet1
/ip firewall filter
chain=input connection-state=established,related action=accept
chain=input in-interface-list=intlist0_localnet0-1 action=accept
chain=input action=drop
chain=forward connection-state=established,related action=accept
chain=forward out-interface=pppoe0_wan action=accept
chain=forward out-interface=br0_localnet0 action=jump jump-target=forward_localnet0
chain=forward action=reject reject-with=icmp-admin-prohibited
chain=forward_localnet0 in-interface=pppoe0_wan dst-address=$SERVER_ADDRESS protocol=tcp dst-port=22 connection-state=new action=accept
chain=forward_localnet0 dst-address=$SERVER_ADDRESS protocol=tcp dst-port=8060,8070 connection-state=new action=accept
Общее
Проброс портов
/ip firewall nat
chain=srcnat out-interface=eth0_wan action=src-nat to-addresses=$WAN_ADDRESS
chain=dstnat dst-address=$WAN_ADDRESS protocol=tcp dst-port=$TCP_PORTS action=jump jump-target=dstnat_localnet0-1_tcp
chain=dstnat dst-address=$WAN_ADDRESS protocol=udp dst-port=$UDP_PORTS action=jump jump-target=dstnat_localnet0-1_udp
chain=dstnat_localnet0-1_tcp protocol=tcp dst-port=$TCP_PORTS_LOCALNET0 action=jump jump-target=dstnat_localnet0_tcp
chain=dstnat_localnet0-1_tcp protocol=tcp dst-port=$TCP_PORTS_LOCALNET1 action=jump jump-target=dstnat_localnet1_tcp
chain=dstnat_localnet0-1_udp protocol=tcp dst-port=$UDP_PORTS_LOCALNET0 action=jump jump-target=dstnat_localnet0_udp
chain=dstnat_localnet0-1_udp protocol=tcp dst-port=$UDP_PORTS_LOCALNET1 action=jump jump-target=dstnat_localnet1_udp
chain=dstnat_localnet0_tcp to-addresses=$SERVER_ADDRESS protocol=tcp dst-port=$TCP_PORT to-ports=$TCP_PORT action=dst-nat
chain=dstnat_localnet0_udp to-addresses=$SERVER_ADDRESS protocol=udp dst-port=$UDP_PORT to-ports=$UDP_PORT action=dst-nat
chain=dstnat_localnet1_tcp to-addresses=$SERVER_ADDRESS protocol=tcp dst-port=$TCP_PORT to-ports=$TCP_PORT action=dst-nat
chain=dstnat_localnet1_udp to-addresses=$SERVER_ADDRESS protocol=udp dst-port=$UDP_PORT to-ports=$UDP_PORT action=dst-nat
Процесс проброса портов делится на этапы: 1) ответвление на две цепочки - цепочка для tcp и цепочка для udp с указанием всех пробрасываемых портов двух локальных сетей; 2) ответвление на четыре цепочки - две локальные сети, для каждой отдельная цепочка tcp и отдельная цепочка udp; 3) оконечно функциональные цепочки проброса портов, непосредственно определяемые IP адреса-назначений сетевых служб
Ограничение кол-ва подключений на порт удаленным хостом
/ip firewall mangle
chain=prerouting in-interface=eth0_wan0 protocol=tcp dst-port=3389 connection-state=new action=jump jump-target=prerouting_localnet0_connect0
chain=prerouting_localnet0_connect0 src-address-list=list1_wan0 action=add-src-to-address-list address-list=list2_wan0 address-list-timeout=1h
chain=prerouting_localnet0_connect0 src-address-list=list0_wan0 action=add-src-to-address-list address-list=list1_wan0 address-list-timeout=1m
chain=prerouting_localnet0_connect0 action=add-src-to-address-list address-list=list0_wan0 address-list-timeout=1m
Последовательность меню конфигурации
/interface ethernet
/interface wireless
/interface bridge
/interface list
/interface pppoe-client
/ip arp
/ip address
/ip route
/ip pool
/ip dhcp-server
/ip dhcp-server option
/ip dhcp-server network
/ip dhcp-server lease
/ip firewall address-list
/ip firewall filter
/ip firewall nat