Порядок работ:
апдейт RouterOS → апдейт RouterBOOT → пароль admin → identity → bridge LAN → WAN (static/DHCP/PPPoE) → LAN IP → default route → DNS → DHCP-server → NAT → Wi-Fi → firewall → hardening → NTP.
Проверка версии:
/system/resource/ print
Каналы: stable — прод (7.24.2), long-term — максимальная стабильность (7.23.4), testing/development — не для прода.
Апдейт по сети:
/system/package/update/ check-for-updates install
Апдейт офлайн — по платформе устройства (для ax2: ARM64):
routeros-7.24.2-arm64.npkwifi-qcom-7.24.2-arm64.npkDrag&drop в Files, reboot.
RouterBOOT должен соответствовать версии RouterOS:
/system/routerboard/ upgrade /system/ reboot
/system/ reset-configuration no-defaults=yes
После сброса — коннект по MAC.
/password /system/identity/ set name=GW /interface/ethernet/ set [find default-name=ether1] name=ether1-WAN1
Объединение ether2–ether5 + оба радиомодуля в один L2-домен:
/interface/bridge/ add name=bridge-LAN /interface/bridge/port/ add bridge=bridge-LAN interface=ether2 add bridge=bridge-LAN interface=ether3 add bridge=bridge-LAN interface=ether4 add bridge=bridge-LAN interface=ether5 add bridge=bridge-LAN interface=wifi1 add bridge=bridge-LAN interface=wifi2
Static:
/ip/address/ add address=100.64.111.100/24 interface=ether1-WAN1
DHCP-client:
/ip/dhcp-client/ add disabled=no interface=ether1-WAN1
PPPoE:
/interface/pppoe-client/
add add-default-route=yes disabled=no interface=ether1-WAN1 name=pppoe-WAN1 \
password=password_pppoe user=client123
DHCP/PPPoE — default route создаётся автоматически. Для static — см. ниже.
/ip/address/ add address=192.168.100.1/24 interface=bridge-LAN
/ip/route/ add dst-address=0.0.0.0/0 gateway=100.64.111.1
Клиент:
/ip/dns/ set servers=77.88.8.8,77.88.8.1
Сервер (relay для LAN):
/ip/dns/ set allow-remote-requests=yes
/ip/pool/ add name=dhcp-lan-pool ranges=192.168.100.101-192.168.100.199 /ip/dhcp-server/ add address-pool=dhcp-lan-pool interface=bridge-LAN lease-time=3d name=dhcp-lan /ip/dhcp-server/network/ add address=192.168.100.0/24 dns-server=192.168.100.1 gateway=192.168.100.1
src-nat — для статического белого IP (детерминированный внешний адрес):
/ip/firewall/nat/ add action=src-nat chain=srcnat out-interface=ether1-WAN1 to-addresses=100.64.111.100
masquerade — для динамического IP (адрес не фиксируется в правиле):
/ip/firewall/nat/ add action=masquerade chain=srcnat out-interface=ether1-WAN1
2.4 GHz:
/interface/wifi/
set [ find default-name=wifi2 ] channel.band=2ghz-ax .frequency=2412-2472 \
.reselect-interval=2h..4h .width=20mhz configuration.country=Superchannel \
.hw-protection-mode=rts-cts .mode=ap .ssid=GW-2 .tx-power=16 disabled=no name=wlan-2GHz \
security.authentication-types=wpa2-psk,wpa3-psk .passphrase=password \
.wps=disable
5 GHz:
/interface/wifi/
set [ find default-name=wifi1 ] channel.band=5ghz-ax .frequency=\
5180-5240,5260-5320,5660-5720,5745-5825 .reselect-interval=2h..4h \
.width=20/40mhz configuration.country=Superchannel .hw-protection-mode=rts-cts .mode=ap .ssid=GW-5 \
.tx-power=18 disabled=no name=wlan-5GHz \
security.authentication-types=wpa2-psk,wpa3-psk .passphrase=password .wps=disable
tx-power / channel width / frequency list — под конкретный объект и регуляторику страны (country=Superchannel— расширенный список каналов, проверять легальность в регионе).
Input (трафик на сам роутер):
/ip/firewall/filter/
add action=accept chain=input connection-state=established,related \
comment="accept established related"
add action=drop chain=input connection-state=invalid comment="drop invalid"
add action=accept chain=input protocol=icmp comment="accept ICMP"
add action=drop chain=input in-interface=!bridge-LAN \
comment="drop all from not LAN"
Forward (транзитный трафик):
/ip/firewall/filter/
add action=accept chain=forward connection-state=established,related \
comment="accept established & related"
add action=drop chain=forward connection-state=invalid comment="drop invalid"
add action=drop chain=forward connection-nat-state=!dstnat in-interface=ether1-WAN1 \
comment="drop all from WAN"
Логика: established/related — accept, invalid — drop, ICMP — accept (диагностика), management только с LAN, с WAN — только dstnat (port forwarding), остальное — drop.
L2-сервисы (discovery, MAC-Telnet/Winbox, MAC-ping) — ограничить листом LAN:
/interface/list/ add name=LAN /interface/list/member/ add interface=bridge-LAN list=LAN /ip/neighbor/discovery-settings/ set discover-interface-list=LAN /tool/mac-server/ set allowed-interface-list=LAN /tool/mac-server/mac-winbox/ set allowed-interface-list=LAN /tool/mac-server/ping/ set enabled=no
IPv6 off (если не используется):
/ipv6/settings/ set disable-ipv6=yes
Отключить неиспользуемые сервисы:
/ip/service/ set ftp disabled=yes set telnet disabled=yes set www disabled=yes set api disabled=yes set api-ssl disabled=yes
ssh/winbox оставлены активными — основные каналы управления. При необходимости — тоже ограничить поaddressв/ip/service.
/system/ntp/client/ set enabled=yes /system/ntp/client/servers/ add address=ru.pool.ntp.org /system/clock/ set time-zone-autodetect=no time-zone-name=Europe/Moscow
/user/set [find name=admin] password=password
/interface/bridge/
add name=bridge-LAN
/interface/ethernet/
set [ find default-name=ether1 ] name=ether1-WAN1
/interface/wifi/
set [ find default-name=wifi2 ] channel.band=2ghz-ax .frequency=2412-2472 \
.reselect-interval=2h..4h .width=20mhz configuration.country=Superchannel \
.hw-protection-mode=rts-cts .mode=ap .ssid=GW-2 .tx-power=16 disabled=no name=wlan-2GHz \
security.authentication-types=wpa2-psk,wpa3-psk .passphrase=password \
.wps=disable
set [ find default-name=wifi1 ] channel.band=5ghz-ax .frequency=\
5180-5240,5260-5320,5660-5720,5745-5825 .reselect-interval=2h..4h \
.width=20/40mhz configuration.country=Superchannel .hw-protection-mode=rts-cts .mode=ap .ssid=GW-5 \
.tx-power=18 disabled=no name=wlan-5GHz \
security.authentication-types=wpa2-psk,wpa3-psk .passphrase=password .wps=disable
/interface/list/
add name=LAN
/ip/pool/
add name=dhcp-lan-pool ranges=192.168.100.101-192.168.100.199
/interface/bridge/port/
add bridge=bridge-LAN interface=ether2
add bridge=bridge-LAN interface=ether3
add bridge=bridge-LAN interface=ether4
add bridge=bridge-LAN interface=ether5
add bridge=bridge-LAN interface=wlan-5GHz
add bridge=bridge-LAN interface=wlan-2GHz
/ip/neighbor/discovery-settings/
set discover-interface-list=LAN
/ipv6/settings/
set disable-ipv6=yes
/interface/list/member/
add interface=bridge-LAN list=LAN
/ip/address/
add address=192.168.100.1/24 interface=bridge-LAN network=192.168.100.0
add address=100.64.111.100/24 interface=ether1-WAN1 network=100.64.111.0
/ip/dhcp-server/
add address-pool=dhcp-lan-pool interface=bridge-LAN lease-time=3d name=\
dhcp-lan
/ip/dhcp-server/network/
add address=192.168.100.0/24 dns-server=192.168.100.1 gateway=192.168.100.1
/ip/dns/
set allow-remote-requests=yes servers=77.88.8.8,77.88.8.1
/ip/firewall/filter/
add action=accept chain=input comment="accept established related" \
connection-state=established,related
add action=drop chain=input comment="drop invalid" connection-state=invalid
add action=accept chain=input comment="accept ICMP" protocol=icmp
add action=drop chain=input comment="drop all from not LAN" in-interface=\
!bridge-LAN
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" \
connection-nat-state=!dstnat in-interface=ether1-WAN1
/ip/firewall/nat/
add action=src-nat chain=srcnat out-interface=ether1-WAN1 to-addresses=\
100.64.111.100
/ip/route/
add disabled=no dst-address=0.0.0.0/0 gateway=100.64.111.1
/ip/service/
set ftp disabled=yes
set telnet disabled=yes
set www disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system/clock/
set time-zone-autodetect=no time-zone-name=Europe/Moscow
/system/identity/
set name=GW
/system/ntp/client/
set enabled=yes
/system/ntp/client/servers/
add address=ru.pool.ntp.org
/tool/mac-server/
set allowed-interface-list=LAN
/tool/mac-server/mac-winbox/
set allowed-interface-list=LAN
/tool/mac-server/ping/
set enabled=no
passworddrop all from WANcountry=) под объект