Перейти к содержанию

Настройка MikroTik hAP ax2 с помощью OpenAI GPT 5.6 Sol Pro

Материал из MikroTik Wiki

Описание эксперимента

Цель эксперимента: проверить сможет ли самая продвинутая версия ИИ от OpenAI GPT 5.6 Sol Pro настроить маршрутизатор MikroTik hAP ax2 с RouterOS 7.23.2 по техническому заданию (ТЗ) по которому обучающиеся на курсе «Администрирование сетевых устройств MikroTik» выполняют настройку в конце обучения.

Некоторые факты об использованном ИИ GPT 5.6 Sol Pro:

  • самая продвинутая версия ИИ от OpenAI,
  • стоимость аренды составляет 200$ в месяц.

Условия эксперимента:

  • прямой доступ к GPT 5.6 Sol Pro с помощью диалога через сайт https://chatgpt.com/ без использования каких-либо промежуточных сервисов,
  • пользовательский профиль не заполнен,
  • использование истории диалогов отключено,
  • одна и таже задача ставилась 10 раз в разных диалогах,
  • в каждом диалоге выполнялась только одна попытка,
  • во всех диалогах ставилась одна и таже задача.

Результат эксперимента

Во всех десяти попытках 5.6 Sol Pro допустил множество грубых ошибок, нарушавших условиях ТЗ. В настоящий момент настройка устройств MikroTik с помощью 5.6 Sol Pro не имеет смысла даже для таких простых задач, так как время на поиск ошибок значительно превышает время на самостоятельную настройку с нуля.

Предоставленные конфигурации выглядят правдоподобно, но ключевое тут «выглядят».

Все описанные далее попытки приведены в том порядке в котором задачи отправлялись чату.

Раздел, созданный специально для скептиков

При обсуждении эксперимента часто возникали возражения, которые приведены далее вместе с комментариями на них:

Возражение: я уже полгода настраиваю MikroTik'и с помощью ИИ и до сих пор не было ни одной жалобы.

Ответ: (1) мы сочувствуем вашему работодателю. (2) «не было жалоб» и «настроено корректно» это не одно и то же». Также рекомендуем изучить разборы настроек, которые приведены ниже.

Возражение: есть другая модель ИИ, которая лучше работает с конфигурациями MikroTik и она сможет настроить без ошибок.

Ответ: ТЗ приведено выше, возьмите и проверьте. Только при проверке ответа ориентируйтесь на на то, что конфигурация «выглядит» правдоподобной, а на результат ее реальной проверки.

Возражение: надо написать «правильный» запрос и тогда настройка будет сделана без ошибок.

Ответ: ТЗ приведено выше, возьмите и напишите тот самый «правильный» запрос. Только при проверке ответа ориентируйтесь на на то, что конфигурация «выглядит» правдоподобной, а на результат ее реальной проверки. GPT 5.6 Sol Pro стоит 200 $ в месяц не просто так. Это ИИ принципиально другого уровня относительно более простых моделей. С помощью нее можно искать ответы в тексте IEEE 802.11-2024, а это почти 6000 страниц текста. Он зачастую уже после первого запроса выдает корректные ответы. И ответы корректные не потому, что они "похожи на достоверные", а потому, что выполнялась проверка достоверности ответов по документу. Также следует учитывать, что понятие «правильный запрос» у каждой модели свое. Для запросов к GPT 5.6 Sol Pro следует использовать официальные рекомендации от разработчика, созданные специально для этой модели.

Возражение: после получения первого ответа надо еще пообщаться с чатом и тогда можно будет получить полностью корректный ответ.

Ответ: (1) для того, чтобы пообщаться дальше надо быть в состоянии найти все ошибки и указать на них ИИ. Для этого надо самому быть в состоянии настроить MikroTik по такому ТЗ. (2) Квалификация настройки и квалификация поиска чужих ошибок это не одно и тоже. Человек может уметь настраивать, но не уметь искать ошибки. Если вы ставите под сомнение этот пункт, то возьмите любой из ответов чата, которые приведены далее, попробуйте найти ошибки самостоятельно и потом сравните свой ответ с ответом предоставленным автором статьи. (3) Даже если оба первых пункта выполнены и гипотетически допустить вероятность того, что ИИ в итоге настроит устройство полностью корректно, то время затраченное на такую настройку с помощью ИИ превысит время на настройку с нуля. А оно надо человеку у которого уже есть такая квалификация?

Возражение: результат эксперимента подстроен.

Ответ: ТЗ приведено выше, возьмите и проверьте. Только при проверке ответа ориентируйтесь на на то, что конфигурация «выглядит» правдоподобной, а на результат ее реальной проверки.

Запрос к GPT 5.6 Sol Pro

Тебе надо с нуля настроить маршрутизатор MikroTik hAP ax2 с RouterOS 7.23.2 по техническому заданию (ТЗ), находящемуся в прикрепленном файле. В ответе тебе надо предоставить конфигурацию, которую я смогу сохранить в файле с расширением rsc и импортировать с помощью команды import. При настройке исходи из того, что на маршрутизаторе были сброшены настройки с помощью команды "/system reset-configuration no-defaults=yes".

Ты не можешь настроить индивидуальный скин для WebFig и поэтому не надо пытаться его настраивать, но надо настроить все что с ним связано из того, что может быть импортировано с помощью команды import.

Ответ предоставь в виде конфигурации, размещенной в блоке кода.

Прикрепленный файл

Категории оценивания

Все ошибки разделены на две категории:

  • Грубая ошибка – ошибка, которая приводит к существенном искажению выполнения ТЗ. К грубым ошибкам также отнесены настройки, которых не должно быть по ТЗ, но они были сделаны.
  • Некритичная ошибка – ошибка, которая не приводит к существенному искажению выполнения ТЗ.

Попытка 1

Результат проверки

Количество грубых ошибок: 13.

Количество некритичных ошибок: 6.

Интерфейсы и IP-адресация

Настройки, добавляющие IP-адрес на WAN-интерфейс в /ip address, приведены отдельно от настроек, добавляющих IP-адрес на внутренний интерфейс в /ip address. Некритичная ошибка.

Списки интерфейсов и адресов

Ошибок нет.

Безопасность

  1. В NAT добавлены лишние правила (Грубая ошибка):
    • add chain=srcnat action=accept src-address=192.168.100.0/24 dst-address=192.168.200.0/24
    • add chain=srcnat action=accept src-address=192.168.200.0/24 dst-address=192.168.100.0/24
  2. Неверно выбран тип NAT для 1-го Интернет-канала, использован masquerade вместо src-nat (Некритичная ошибка):
    add chain=srcnat action=masquerade out-interface-list=WAN
  3. В настройках заданы минимальные требования к паролю пользователя, что не требовалось в ТЗ (Грубая ошибка):
    /user settings set minimum-password-length=12 minimum-categories=4
  4. Пользователь первой линии техподдержки не сможет пользоваться терминалом в Webfig (Грубая ошибка):
    add name=support-line1 policy=reboot,read,test,web
  5. Доступ к системным службам ограничен через /ip service а не /ip firewall filter (Некритичная ошибка)

Объединение офисов с помощью VPN

С одной учетной записи разрешено иметь только одну сессию, что не требовалось в ТЗ (Грубая ошибка).

Приоритизация трафика

  1. В QoS добавлено лишнее правило (Грубая ошибка):
    add name="Q-VPN-BYPASS" target=192.168.100.0/24 dst=192.168.200.0/24 max-limit=0/0.
  2. Значение параметра max-limit для разных Интернет-каналов должно быть реализовано с помощью двух разных правил, а в конфигурации оно изменяется с помощью скрипта, который запускается с определенной периодичностью за счет /tool netwatch. Грубая ошибка.
  3. Задано значение параметра limit-at, что не требовалось в ТЗ (Грубая ошибка):
    add name="Q-MANGO" parent="Q-INTERNET" target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default.
  4. Для некоторых видов трафика использованы очереди типа pсq-upload-default и pcq-download-default, что не требовалось в ТЗ (Грубая ошибка):
    • add name="Q-STAFF-LOW" parent="Q-INTERNET" target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default,
    • add name="Q-OTHER" parent="Q-INTERNET" target=192.168.100.0/24 max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default.

Беспроводная сеть

  1. Использование deskip-dfs-channels=disabled не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).
  2. Настройки, включающие беспроводные интерфейсы в /interface wifi, приведены отдельно от основной массы беспроводных настроек в /interface wifi (Некритичная ошибка).

Прочее

  1. Добавлен мониторинг через /tool graphing, что не было задано в ТЗ (Грубая ошибка).
  2. Использование /ip firewall connection tracking set enabled=yes не имеет смысла, т.к. по умолчанию используется auto (Некритичная ошибка).
  3. В настройке bridge-интерфейса используется protocol-mode=rstp, что не имеет смысла, так как является конфигурацией по умолчанию (Некритичная ошибка).
  4. Добавлены настройки в /ip service webserver, что не было задано в ТЗ (Грубая ошибка).
  5. Изменены настройки /ip cloud, что не было задано в ТЗ (Грубая ошибка). Значение параметра no для ddns-enabled не существует. Грубая ошибка
  6. Скин для первой линии техподдержки не задан (Грубая ошибка).

Конфигурация

/system identity
set name=GW

/system clock
set time-zone-autodetect=no time-zone-name=Europe/Moscow

/ip cloud
set ddns-enabled=no update-time=no

/interface ethernet
set [find where default-name=ether1] name=ether1-wan1
set [find where default-name=ether2] name=ether2-wan2

/interface wifi
set [find where default-name=wifi1] name=wlan-5GHz disabled=yes configuration.mode=ap configuration.ssid=GW-5 configuration.country=Superchannel configuration.tx-power=18 channel.band=5ghz-ax channel.frequency=5180-5240:20,5260-5320:20,5660-5720:20,5745-5825:20 channel.width=20/40mhz channel.skip-dfs-channels=disabled channel.reselect-interval=02:00:00..04:00:00 security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable
set [find where default-name=wifi2] name=wlan-2GHz disabled=yes configuration.mode=ap configuration.ssid=GW-2 configuration.country=Superchannel configuration.tx-power=16 channel.band=2ghz-ax channel.frequency=2412-2472:5 channel.width=20mhz channel.reselect-interval=02:00:00..04:00:00 security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable

/interface wifi access-list
add action=accept mac-address=3C:7C:3F:F5:7F:6E
add action=accept mac-address=60:32:B1:B9:65:B7
add action=reject

/interface bridge
add name=bridge-lan protocol-mode=rstp

/interface bridge port
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=wlan-2GHz
add bridge=bridge-lan interface=wlan-5GHz

/ppp profile
add name=profile-l2tp-branch local-address=172.31.10.1 remote-address=172.31.10.2 use-encryption=required only-one=yes change-tcp-mss=yes

/ppp secret
add name=branch-l2tp password="GW-Branch-L2TP-2026!" service=l2tp profile=profile-l2tp-branch

/interface l2tp-server
add name=l2tp-branch user=branch-l2tp

/interface list
add name=LAN
add name=WAN

/interface list member
add interface=bridge-lan list=LAN
add interface=l2tp-branch list=LAN
add interface=ether1-wan1 list=WAN
add interface=ether2-wan2 list=WAN

/ip address
add address=192.168.100.1/24 interface=bridge-lan

/ip pool
add name=pool-lan ranges=192.168.100.101-192.168.100.150

/ip dhcp-server
add name=dhcp-lan interface=bridge-lan address-pool=pool-lan lease-time=1d authoritative=yes disabled=no

/ip dhcp-server network
add address=192.168.100.0/24 gateway=192.168.100.1 dns-server=192.168.100.1 domain=int

/ip dhcp-server lease
add address=192.168.100.101 mac-address=3C:7C:3F:F5:7F:6E server=dhcp-lan
add address=192.168.100.102 mac-address=60:32:B1:B9:65:B7 server=dhcp-lan

/ip dns
set servers=77.88.8.1,77.88.8.8 allow-remote-requests=yes

/ip firewall connection tracking
set enabled=yes

/ip firewall address-list
add list=white-list address=203.0.113.10
add list=white-list address=203.0.113.26
add list=white-list address=198.51.100.19
add list=staff-no-social address=192.168.100.101
add list=staff-no-social address=192.168.100.102
add list=social-networks address=ok.ru
add list=social-networks address=www.ok.ru
add list=social-networks address=vk.com
add list=social-networks address=www.vk.com

/ip firewall nat
add chain=dstnat action=redirect in-interface-list=LAN protocol=udp dst-port=53 to-ports=53
add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=443 to-addresses=192.168.100.11 to-ports=443
add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=600 to-addresses=192.168.100.12 to-ports=443
add chain=srcnat action=accept src-address=192.168.100.0/24 dst-address=192.168.200.0/24
add chain=srcnat action=accept src-address=192.168.200.0/24 dst-address=192.168.100.0/24
add chain=srcnat action=masquerade out-interface-list=WAN

/ip firewall filter
add chain=input action=accept connection-state=established,related
add chain=input action=drop connection-state=invalid
add chain=input action=accept protocol=icmp
add chain=input action=accept in-interface-list=LAN
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=500,4500
add chain=input action=accept in-interface-list=WAN protocol=ipsec-esp
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=1701 ipsec-policy=in,ipsec
add chain=input action=accept in-interface-list=WAN protocol=tcp dst-port=22,8291 src-address-list=white-list
add chain=input action=drop in-interface-list=WAN
add chain=input action=drop
add chain=forward action=drop src-address-list=staff-no-social dst-address-list=social-networks time=09:00:00-18:00:00,mon,tue,wed,thu,fri
add chain=forward action=accept connection-state=established,related
add chain=forward action=drop connection-state=invalid
add chain=forward action=accept in-interface-list=LAN
add chain=forward action=accept in-interface-list=WAN connection-nat-state=dstnat
add chain=forward action=drop

/ip service
set [find where name=telnet] disabled=yes
set [find where name=ftp] disabled=yes
set [find where name=api] disabled=yes
set [find where name=api-ssl] disabled=yes
set [find where name=www] disabled=no address=192.168.100.0/24,192.168.200.0/24,172.31.10.2/32
set [find where name=www-ssl] disabled=yes
set [find where name=ssh] disabled=no address=192.168.100.0/24,192.168.200.0/24,172.31.10.2/32,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32
set [find where name=winbox] disabled=no address=192.168.100.0/24,192.168.200.0/24,172.31.10.2/32,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32

/ip service webserver
set index-plain=yes webfig-plain=yes graphs-plain=yes rest-plain=no rest-secure=no

/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

/user group
add name=support-line1 policy=reboot,read,test,web
add name=support-line2 policy=local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,api,rest-api,romon
add name=support-line3 policy=local,telnet,ssh,reboot,read,write,test,winbox,password,web,sniff,sensitive,api,rest-api,romon

/user
set [find where name=admin] group=full password="GW-Admin-7p23-Ax2!"
add name=support1 group=support-line1 password="GW-L1-WebFig-2026!"
add name=support2 group=support-line2 password="GW-L2-Readonly-2026!"
add name=support3 group=support-line3 password="GW-L3-Config-2026!"

/user settings
set minimum-password-length=12 minimum-categories=4

/queue simple
add name="Q-VPN-BYPASS" target=192.168.100.0/24 dst=192.168.200.0/24 max-limit=0/0
add name="Q-INTERNET" target=192.168.100.0/24 max-limit=25M/25M
add name="Q-MANGO" parent="Q-INTERNET" target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
add name="Q-STAFF-LOW" parent="Q-INTERNET" target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name="Q-OTHER" parent="Q-INTERNET" target=192.168.100.0/24 max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default

/tool graphing
set store-every=5min

/tool graphing queue
add simple-queue=all allow-address=192.168.100.0/24 allow-target=no store-on-disk=no

/ip address
add address=10.0.1.2/24 interface=ether1-wan1

/ip route
add dst-address=0.0.0.0/0 gateway=10.0.1.1 distance=1 check-gateway=ping
add dst-address=192.168.200.0/24 gateway=l2tp-branch distance=1

/ip dhcp-client
add interface=ether2-wan2 disabled=no add-default-route=yes default-route-distance=2 check-gateway=ping use-peer-dns=no use-peer-ntp=no

/interface l2tp-server server
set enabled=yes authentication=mschap2 default-profile=profile-l2tp-branch use-ipsec=required ipsec-secret="GW-Branch-IPsec-2026!" allow-fast-path=no one-session-per-host=yes

/tool netwatch
add name=wan1-queue-rate host=10.0.1.1 type=simple src-address=10.0.1.2 interval=10s timeout=2s startup-delay=10s up-script="/queue simple set [find where name=\"Q-INTERNET\"] max-limit=50M/50M; /queue simple set [find where name=\"Q-STAFF-LOW\"] max-limit=50M/50M; /queue simple set [find where name=\"Q-OTHER\"] max-limit=50M/50M" down-script="/queue simple set [find where name=\"Q-INTERNET\"] max-limit=25M/25M; /queue simple set [find where name=\"Q-STAFF-LOW\"] max-limit=25M/25M; /queue simple set [find where name=\"Q-OTHER\"] max-limit=25M/25M"

/system ntp client
set enabled=yes mode=unicast servers=ru.pool.ntp.org

/interface wifi
set wlan-2GHz disabled=no
set wlan-5GHz disabled=no

Попытка 2

Результат проверки

Количество грубых ошибок: 13.

Количество некритичных ошибок: 7.

Интерфейсы и IP-адресация

Ошибок нет.

Списки интерфейсов и адресов

Ошибок нет.

Безопасность

  1. Неверно выбран тип NAT для 1-го Интернет-канала, использован masquerade вместо src-nat (Некритичная ошибка):
    add chain=srcnat action=masquerade out-interface-list=WAN
  2. Пользователь первой линии техподдержки не сможет пользоваться терминалом в Webfig (Грубая ошибка):
    add name=support-line1 policy=reboot,read,test,web
  3. Доступ к системным службам ограничен через /ip service а не /ip firewall filter (Некритичная ошибка)
  4. Изменены настройки set strong-crypto=yes в /ip ssh, что не указано в ТЗ (Грубая ошибка)
  5. Файрвол настроен с грубыми ошибками.

Объединение офисов с помощью VPN

  1. С одной учетной записи разрешено иметь только одну сессию, что не требовалось в ТЗ (Грубая ошибка).
  2. Изменены настройки accept-proto-version=l2tpv2 и accept-pseudowire-type=ppp в /interface l2tp-server server, что не требовалось в ТЗ (Грубая ошибка).

Приоритизация трафика

  1. Задано значение параметра limit-at, что не требовалось в ТЗ (Грубая ошибка):
    • add name=WAN1-Mango parent=WAN1-total target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default.
    • add name=WAN2-Mango parent=WAN2-total target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
  2. Для некоторых видов трафика использованы очереди типа pсq-upload-default и pcq-download-default, что не требовалось в ТЗ (Грубая ошибка):
    • add name=WAN1-Mango parent=WAN1-total target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
    • add name=WAN1-low parent=WAN1-total target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default
    • add name=WAN1-other parent=WAN1-total target=192.168.100.0/24 max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default
    • add name=WAN2-Mango parent=WAN2-total target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
    • add name=WAN2-low parent=WAN2-total target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default
    • add name=WAN2-other parent=WAN2-total target=192.168.100.0/24 max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default

Беспроводная сеть

  1. Настройки, включающие беспроводные интерфейсы в /interface wifi, приведены отдельно от основной массы беспроводных настроек в /interface wifi (Некритичная ошибка).

Прочее

  1. Добавлен мониторинг через /tool graphing, что не было задано в ТЗ Грубая ошибка).
  2. В настройке bridge-интерфейса используется protocol-mode=rstp, что не имеет смысла, так как является конфигурацией по умолчанию (Некритичная ошибка).
  3. Добавлены настройки в /ip service webserver, что не было задано в ТЗ (Грубая ошибка).
  4. use-doh-server="" является параметром по умолчанию в /ip dns (Некритичная ошибка).
  5. Настройки включающие DHCP-сервер расположены отдельно от настроек, настраивающие DHCP-сервер (Некритичная ошибка).
  6. Изменены настройки /ip cloud, что не было задано в ТЗ (Грубая ошибка). Значение параметра no для ddns-enabled не существует. Грубая ошибка
  7. Задано значение настройки в /system ntp client servers iburst=yes, которое используется по умолчанию (Некритичная ошибка).
  8. Скин для первой линии техподдержки не задан (Грубая ошибка).
  9. Настроена рекурсивная маршрутизация, что не было задано в ТЗ (Грубая ошибка):
/ip route
add dst-address=1.1.1.1/32 gateway=10.0.1.1 scope=10
add dst-address=0.0.0.0/0 gateway=1.1.1.1 check-gateway=ping distance=1 target-scope=11

Конфигурация

/system identity
set name=GW

/system clock
set time-zone-autodetect=no time-zone-name=Europe/Moscow

/user group
add name=support-1 policy=reboot,read,test,web
add name=support-2 policy=local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,api,rest-api,romon
add name=support-3 policy=local,telnet,ssh,reboot,read,write,test,winbox,password,web,sniff,sensitive,api,rest-api,romon

/user
set [find name=admin] group=full password="GWadmin_7v23_K9m4"
add name=tp1 group=support-1 password="TP1web_7v23_P4n8"
add name=tp2 group=support-2 password="TP2read_7v23_R6k3"
add name=tp3 group=support-3 password="TP3write_7v23_W8q5"

/interface ethernet
set [find default-name=ether1] name=ether1-wan1
set [find default-name=ether2] name=ether2-wan2

/interface wifi
set [find default-name=wifi1] name=wlan-5GHz disabled=yes
set [find name=wlan-5GHz] configuration.mode=ap configuration.ssid=GW-5 configuration.country=Superchannel configuration.tx-power=18
set [find name=wlan-5GHz] channel.band=5ghz-ax channel.frequency=5180-5240:20,5260-5320:20,5660-5720:20,5745-5825:20 channel.width=20/40mhz channel.reselect-interval=02:00..04:00
set [find name=wlan-5GHz] security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable
set [find default-name=wifi2] name=wlan-2GHz disabled=yes
set [find name=wlan-2GHz] configuration.mode=ap configuration.ssid=GW-2 configuration.country=Superchannel configuration.tx-power=16
set [find name=wlan-2GHz] channel.band=2ghz-ax channel.frequency=2412-2472:5 channel.width=20mhz channel.reselect-interval=02:00..04:00
set [find name=wlan-2GHz] security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable

/interface bridge
add name=bridge-lan protocol-mode=rstp

/interface bridge port
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=wlan-2GHz
add bridge=bridge-lan interface=wlan-5GHz

/interface list
add name=LAN
add name=WAN

/interface list member
add list=LAN interface=bridge-lan
add list=WAN interface=ether1-wan1
add list=WAN interface=ether2-wan2

/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

/ip service
set [find name=telnet] disabled=yes
set [find name=ftp] disabled=yes
set [find name=api] disabled=yes
set [find name=api-ssl] disabled=yes
set [find name=www-ssl] disabled=yes
set [find name=www] disabled=no address=192.168.100.0/24
set [find name=ssh] disabled=no port=22 address=192.168.100.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32
set [find name=winbox] disabled=no port=8291 address=192.168.100.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32

/ip service webserver
set index-plain=yes webfig-plain=yes graphs-plain=yes rest-plain=no

/ip ssh
set strong-crypto=yes forwarding-enabled=no

/ip address
add address=10.0.1.2/24 interface=ether1-wan1
add address=192.168.100.1/24 interface=bridge-lan

/ip dns
set allow-remote-requests=yes servers=77.88.8.1,77.88.8.8 use-doh-server=""

/ip pool
add name=pool-lan ranges=192.168.100.103-192.168.100.150

/ip dhcp-server
add name=dhcp-lan interface=bridge-lan address-pool=pool-lan lease-time=1d authoritative=yes disabled=yes

/ip dhcp-server network
add address=192.168.100.0/24 gateway=192.168.100.1 dns-server=192.168.100.1 domain=int

/ip dhcp-server lease
add address=192.168.100.101 mac-address=3C:7C:3F:F5:7F:6E server=dhcp-lan
add address=192.168.100.102 mac-address=60:32:B1:B9:65:B7 server=dhcp-lan

/ip dhcp-server
set [find name=dhcp-lan] disabled=no

/ip dhcp-client
add interface=ether2-wan2 add-default-route=yes default-route-distance=2 use-peer-dns=no use-peer-ntp=no disabled=no

/ppp profile
add name=l2tp-branch-profile local-address=172.31.10.1 remote-address=172.31.10.2 use-encryption=required only-one=yes change-tcp-mss=yes

/ppp secret
add name=branch-office password="L2TPbranch_7v23_B6n9" profile=l2tp-branch-profile service=l2tp

/interface l2tp-server
add name=l2tp-branch user=branch-office

/interface l2tp-server server
set enabled=yes authentication=mschap2 default-profile=l2tp-branch-profile use-ipsec=required ipsec-secret="IPsecGWbranch_7v23_S8m4" accept-proto-version=l2tpv2 accept-pseudowire-type=ppp

/ip route
add dst-address=1.1.1.1/32 gateway=10.0.1.1 scope=10
add dst-address=0.0.0.0/0 gateway=1.1.1.1 check-gateway=ping distance=1 target-scope=11
add dst-address=192.168.200.0/24 gateway=l2tp-branch distance=1

/ip firewall address-list
add list=white-list address=203.0.113.10
add list=white-list address=203.0.113.26
add list=white-list address=198.51.100.19
add list=staff-no-social address=192.168.100.101
add list=staff-no-social address=192.168.100.102
add list=social-networks address=ok.ru
add list=social-networks address=www.ok.ru
add list=social-networks address=vk.com
add list=social-networks address=www.vk.com

/ip firewall nat
add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=443 to-addresses=192.168.100.11 to-ports=443
add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=600 to-addresses=192.168.100.12 to-ports=443
add chain=dstnat action=redirect in-interface-list=LAN protocol=udp dst-port=53 to-ports=53
add chain=srcnat action=masquerade out-interface-list=WAN

/ip firewall filter
add chain=input action=drop in-interface-list=LAN protocol=tcp dst-port=53
add chain=input action=accept connection-state=established,related
add chain=input action=accept in-interface-list=LAN protocol=udp src-port=68 dst-port=67
add chain=input action=accept in-interface=ether2-wan2 protocol=udp src-port=67 dst-port=68
add chain=input action=drop connection-state=invalid
add chain=input action=accept in-interface-list=LAN
add chain=input action=accept protocol=icmp
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=500,4500
add chain=input action=accept in-interface-list=WAN protocol=ipsec-esp
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=1701 ipsec-policy=in,ipsec
add chain=input action=accept in-interface-list=WAN protocol=tcp dst-port=22,8291 src-address-list=white-list
add chain=input action=drop
add chain=forward action=drop src-address-list=staff-no-social dst-address-list=social-networks time=09:00:00-18:00:00,mon,tue,wed,thu,fri
add chain=forward action=drop src-address-list=social-networks dst-address-list=staff-no-social time=09:00:00-18:00:00,mon,tue,wed,thu,fri
add chain=forward action=drop in-interface-list=LAN protocol=tcp dst-port=53
add chain=forward action=drop connection-state=invalid
add chain=forward action=accept in-interface-list=LAN out-interface=l2tp-branch src-address=192.168.100.0/24 dst-address=192.168.200.0/24
add chain=forward action=drop in-interface-list=LAN src-address=192.168.100.0/24 dst-address=192.168.200.0/24
add chain=forward action=accept in-interface=l2tp-branch out-interface-list=LAN src-address=192.168.200.0/24 dst-address=192.168.100.0/24
add chain=forward action=accept connection-state=established,related
add chain=forward action=accept in-interface-list=WAN connection-nat-state=dstnat
add chain=forward action=accept in-interface-list=LAN out-interface-list=WAN
add chain=forward action=drop

/queue simple
add name=WAN1-total target=192.168.100.0/24 dst=ether1-wan1 max-limit=50M/50M queue=default-small/default-small
add name=WAN1-Mango parent=WAN1-total target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
add name=WAN1-low parent=WAN1-total target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name=WAN1-other parent=WAN1-total target=192.168.100.0/24 max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default
add name=WAN2-total target=192.168.100.0/24 dst=ether2-wan2 max-limit=25M/25M queue=default-small/default-small
add name=WAN2-Mango parent=WAN2-total target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
add name=WAN2-low parent=WAN2-total target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name=WAN2-other parent=WAN2-total target=192.168.100.0/24 max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default

/tool graphing queue
add simple-queue=all allow-address=192.168.100.0/24 allow-target=no store-on-disk=no

/ip cloud
set ddns-enabled=no update-time=no

/system ntp client
set enabled=yes mode=unicast

/system ntp client servers
add address=ru.pool.ntp.org iburst=yes

/system ntp server
set enabled=no

/interface wifi access-list
add action=accept mac-address=3C:7C:3F:F5:7F:6E
add action=accept mac-address=60:32:B1:B9:65:B7
add action=reject

/interface wifi
set [find name=wlan-2GHz] disabled=no
set [find name=wlan-5GHz] disabled=no

Попытка 3

Результат проверки

Количество грубых ошибок: 11.

Количество некритичных ошибок: 4.

Интерфейсы и IP-адресация

Ошибок нет.

Списки интерфейсов и адресов

Ошибок нет.

Безопасность

  1. Неверно выбран тип NAT для 1-го Интернет-канала, использован masquerade вместо src-nat (Некритичная ошибка):
    add chain=srcnat action=masquerade out-interface-list=WAN
  2. Пользователь первой линии техподдержки не сможет пользоваться терминалом в Webfig (Грубая ошибка):
    add name=support-line1 policy=reboot,read,test,web
  3. Доступ к системным службам ограничен через /ip service а не /ip firewall filter (Некритичная ошибка)
  4. Файрвол настроен с грубыми ошибками.

Объединение офисов с помощью VPN

  1. С одной учетной записи разрешено иметь только одну сессию, что не требовалось в ТЗ (Грубая ошибка).
  2. Изменены настройки accept-proto-version=l2tpv2 и accept-pseudowire-type=ppp в /interface l2tp-server server, что не требовалось в ТЗ (Грубая ошибка).

Приоритизация трафика

Задано значение параметра limit-at, что не требовалось в ТЗ (Грубая ошибка):

add limit-at=10M/10M max-limit=10M/10M name=WAN1-mango \
parent=WAN1-total priority=1/1 target=192.168.100.0/24 \
dst=81.88.86.0/24
add limit-at=10M/10M max-limit=10M/10M name=WAN2-mango \
parent=WAN2-total priority=1/1 target=192.168.100.0/24 \
dst=81.88.86.0/24

Беспроводная сеть

  1. Использование deskip-dfs-channels=disabled не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).

Прочее

  1. Добавлен мониторинг через /tool graphing, что не было задано в ТЗ (Грубая ошибка).
  2. В настройке bridge-интерфейса используется protocol-mode=rstp, что не имеет смысла, так как является конфигурацией по умолчанию (Некритичная ошибка).
  3. Добавлены настройки в /ip service webserver, что не было задано в ТЗ (Грубая ошибка).
  4. Изменены настройки /ip cloud, что не было задано в ТЗ (Грубая ошибка). Значение параметра no для ddns-enabled не существует. Грубая ошибка.
  5. Созданы статические DNS-записи, что не было задано в ТЗ (Грубая ошибка).
  6. Скин для первой линии техподдержки не задан (Грубая ошибка).

Конфигурация

/system identity
set name=GW

/system clock
set time-zone-autodetect=no time-zone-name=Europe/Moscow

/ip cloud
set ddns-enabled=no update-time=no

/interface ethernet
set [find default-name=ether1] name=ether1-wan1
set [find default-name=ether2] name=ether2-wan2

/interface wifi
set [find default-name=wifi1] name=wlan-5GHz disabled=no \
    configuration.mode=ap configuration.ssid=GW-5 \
    configuration.country=Superchannel configuration.tx-power=18 \
    channel.band=5ghz-ax \
    channel.frequency=5180-5240:20,5260-5320:20,5660-5720:20,5745-5825:20 \
    channel.width=20/40mhz channel.skip-dfs-channels=disabled \
    channel.reselect-interval=2h..4h \
    security.authentication-types=wpa2-psk,wpa3-psk \
    security.passphrase="Pass66word!" security.wps=disable
set [find default-name=wifi2] name=wlan-2GHz disabled=no \
    configuration.mode=ap configuration.ssid=GW-2 \
    configuration.country=Superchannel configuration.tx-power=16 \
    channel.band=2ghz-ax channel.frequency=2412-2472:5 \
    channel.width=20mhz channel.reselect-interval=2h..4h \
    security.authentication-types=wpa2-psk,wpa3-psk \
    security.passphrase="Pass66word!" security.wps=disable

/interface bridge
add name=bridge-lan protocol-mode=rstp

/interface bridge port
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=wlan-2GHz
add bridge=bridge-lan interface=wlan-5GHz

/interface list
add name=LAN
add name=WAN

/interface list member
add interface=bridge-lan list=LAN
add interface=ether1-wan1 list=WAN
add interface=ether2-wan2 list=WAN

/interface wifi access-list
add action=accept mac-address=3C:7C:3F:F5:7F:6E
add action=accept mac-address=60:32:B1:B9:65:B7
add action=reject

/ip address
add address=10.0.1.2/24 interface=ether1-wan1
add address=192.168.100.1/24 interface=bridge-lan

/ip dhcp-client
add add-default-route=yes check-gateway=ping default-route-distance=2 \
    disabled=no interface=ether2-wan2 use-peer-dns=no use-peer-ntp=no

/ip route
add check-gateway=ping distance=1 dst-address=0.0.0.0/0 \
    gateway=10.0.1.1

/ip dns
set allow-remote-requests=yes servers=77.88.8.1,77.88.8.8 \
    use-doh-server=""

/ip dns static
add address-list=social-networks match-subdomain=yes name=ok.ru type=FWD
add address-list=social-networks match-subdomain=yes name=vk.com type=FWD

/system ntp client
set enabled=yes mode=unicast

/system ntp client servers
add address=ru.pool.ntp.org iburst=yes

/ip pool
add name=pool-lan ranges=192.168.100.101-192.168.100.150

/ip dhcp-server
add address-pool=pool-lan disabled=no interface=bridge-lan \
    lease-time=1d name=dhcp-lan

/ip dhcp-server network
add address=192.168.100.0/24 dns-server=192.168.100.1 domain=int \
    gateway=192.168.100.1

/ip dhcp-server lease
add address=192.168.100.101 mac-address=3C:7C:3F:F5:7F:6E \
    server=dhcp-lan
add address=192.168.100.102 mac-address=60:32:B1:B9:65:B7 \
    server=dhcp-lan

/ip firewall address-list
add address=ok.ru list=social-networks
add address=www.ok.ru list=social-networks
add address=vk.com list=social-networks
add address=www.vk.com list=social-networks
add address=192.168.100.101 list=staff-no-social
add address=192.168.100.102 list=staff-no-social
add address=203.0.113.10 list=white-list
add address=203.0.113.26 list=white-list
add address=198.51.100.19 list=white-list

/ppp profile
add change-tcp-mss=yes local-address=172.31.10.1 \
    name=profile-l2tp-branch only-one=yes remote-address=172.31.10.2 \
    use-encryption=required

/ppp secret
add name=branch-office password="Branch_L2TP_7p23*" \
    profile=profile-l2tp-branch service=l2tp

/interface l2tp-server
add name=l2tp-branch user=branch-office

/interface l2tp-server server
set accept-proto-version=l2tpv2 accept-pseudowire-type=ppp \
    allow-fast-path=no authentication=mschap2 \
    default-profile=profile-l2tp-branch enabled=yes \
    ipsec-secret="Branch_IPsec_7p23*" one-session-per-host=yes \
    use-ipsec=required

/ip route
add distance=1 dst-address=192.168.200.0/24 gateway=l2tp-branch

/ip firewall nat
add action=redirect chain=dstnat dst-port=53 in-interface-list=LAN \
    protocol=udp to-ports=53
add action=dst-nat chain=dstnat dst-port=443 in-interface-list=WAN \
    protocol=tcp to-addresses=192.168.100.11 to-ports=443
add action=dst-nat chain=dstnat dst-port=600 in-interface-list=WAN \
    protocol=tcp to-addresses=192.168.100.12 to-ports=443
add action=masquerade chain=srcnat out-interface-list=WAN

/ip firewall filter
add action=accept chain=input connection-state=established,related
add action=accept chain=input dst-port=68 in-interface=ether2-wan2 \
    protocol=udp src-port=67
add action=drop chain=input connection-state=invalid
add action=accept chain=input protocol=icmp
add action=accept chain=input dst-port=500,4500 in-interface-list=WAN \
    protocol=udp
add action=accept chain=input in-interface-list=WAN protocol=ipsec-esp
add action=accept chain=input dst-port=1701 in-interface-list=WAN \
    ipsec-policy=in,ipsec protocol=udp
add action=accept chain=input dst-port=22,8291 in-interface-list=WAN \
    protocol=tcp src-address-list=white-list
add action=accept chain=input in-interface-list=LAN
add action=accept chain=input in-interface=l2tp-branch
add action=drop chain=input
add action=drop chain=forward dst-address-list=social-networks \
    out-interface-list=WAN src-address-list=staff-no-social \
    time=09:00:00-18:00:00,mon,tue,wed,thu,fri
add action=drop chain=forward dst-address-list=staff-no-social \
    in-interface-list=WAN src-address-list=social-networks \
    time=09:00:00-18:00:00,mon,tue,wed,thu,fri
add action=accept chain=forward connection-state=established,related
add action=drop chain=forward connection-state=invalid
add action=accept chain=forward in-interface-list=LAN \
    out-interface=l2tp-branch
add action=accept chain=forward in-interface=l2tp-branch \
    out-interface-list=LAN
add action=accept chain=forward connection-nat-state=dstnat \
    in-interface-list=WAN
add action=accept chain=forward in-interface-list=LAN \
    out-interface-list=WAN
add action=drop chain=forward in-interface-list=WAN
add action=drop chain=forward

/queue simple
add max-limit=50M/50M name=WAN1-total target=192.168.100.0/24 \
    dst=ether1-wan1
add limit-at=10M/10M max-limit=10M/10M name=WAN1-mango \
    parent=WAN1-total priority=1/1 target=192.168.100.0/24 \
    dst=81.88.86.0/24
add limit-at=5M/5M max-limit=50M/50M name=WAN1-low \
    parent=WAN1-total priority=8/8 \
    target=192.168.100.101/32,192.168.100.102/32
add max-limit=50M/50M name=WAN1-other parent=WAN1-total \
    priority=4/4 target=192.168.100.0/24
add max-limit=25M/25M name=WAN2-total target=192.168.100.0/24 \
    dst=ether2-wan2
add limit-at=10M/10M max-limit=10M/10M name=WAN2-mango \
    parent=WAN2-total priority=1/1 target=192.168.100.0/24 \
    dst=81.88.86.0/24
add limit-at=5M/5M max-limit=25M/25M name=WAN2-low \
    parent=WAN2-total priority=8/8 \
    target=192.168.100.101/32,192.168.100.102/32
add max-limit=25M/25M name=WAN2-other parent=WAN2-total \
    priority=4/4 target=192.168.100.0/24

/tool graphing
set page-refresh=300 store-every=5min

/tool graphing queue
add allow-address=192.168.100.0/24 allow-target=no simple-queue=all \
    store-on-disk=no

/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

/ip service webserver
set acme-plain=no crl-plain=no graphs-plain=yes index-plain=yes \
    rest-plain=no scep-plain=no webfig-plain=yes

/ip service
set telnet disabled=yes
set ftp disabled=yes
set www address=192.168.100.0/24,192.168.200.0/24 \
    disabled=no port=80
set ssh address=192.168.100.0/24,192.168.200.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32 \
    disabled=no port=22
set www-ssl disabled=yes
set api disabled=yes
set winbox address=192.168.100.0/24,192.168.200.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32 \
    disabled=no port=8291
set api-ssl disabled=yes

/user group
add name=support-line1 policy=reboot,read,test,web
add name=support-line2 policy=local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,api,rest-api,romon
add name=support-line3 policy=local,telnet,ssh,reboot,read,write,test,winbox,password,web,sniff,sensitive,api,rest-api,romon

/user
set [find name=admin] group=full password="GW_Admin_7p23*Full"
add group=support-line1 name=support1 password="TP1_Web_7p23*Reboot"
add group=support-line2 name=support2 password="TP2_Read_7p23*NoWrite"
add group=support-line3 name=support3 password="TP3_Write_7p23*NoUsers"

Попытка 4

Результат проверки

Количество грубых ошибок: 13.

Количество некритичных ошибок: 4.

Интерфейсы и IP-адресация

Ошибок нет.

Списки интерфейсов и адресов

Ошибок нет.

Безопасность

  1. Неверно выбран тип NAT для 1-го Интернет-канала, использован masquerade вместо src-nat (Некритичная ошибка):
    add chain=srcnat action=masquerade out-interface-list=WAN
  2. Пользователь первой линии техподдержки не сможет пользоваться терминалом в Webfig (Грубая ошибка):
    add name=tp-line1 policy=reboot,read,test,web
  3. Доступ к системным службам ограничен через /ip service а не /ip firewall filter (Некритичная ошибка)
  4. Файрвол настроен с грубыми ошибками. В том числе блокировка социальных сетей в рабочее время выполнена через скрипт.
  5. В настройках заданы минимальные требования к паролю пользователя, что не требовалось в ТЗ (Грубая ошибка):
    /user settings set minimum-password-length=12 minimum-categories=3

Объединение офисов с помощью VPN

  1. С одной учетной записи разрешено иметь только одну сессию, что не требовалось в ТЗ (Грубая ошибка).
  2. Изменены настройки accept-proto-version=l2tpv2 и accept-pseudowire-type=ppp в /interface l2tp-server server, что не требовалось в ТЗ (Грубая ошибка).

Приоритизация трафика

  1. Значение параметра max-limit для разных Интернет-каналов должно быть реализовано с помощью двух разных правил, а в конфигурации оно изменяется с помощью скрипта, который запускается с определенной периодичностью за счет /tool netwatch. Грубая ошибка.
  2. Есть лишние правила в QoS: add name=qos-vpn-bypass target=192.168.100.0/24 dst=192.168.200.0/24 max-limit=0/0 comment="Exclude branch traffic from Internet QoS" и add name=qos-router-bypass target=192.168.100.1/32 max-limit=0/0 comment="Exclude router services from Internet QoS" (Грубая ошибка)
  3. Для некоторых видов трафика использованы очереди типа pсq-upload-default и pcq-download-default, что не требовалось в ТЗ (Грубая ошибка):
    • add name=qos-mango parent=qos-total target=192.168.100.0/24 dst=81.88.86.0/24 max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default comment="Mango Office highest priority and 10 Mbps cap"
    • add name=qos-low parent=qos-total target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default comment="Selected devices lowest priority with 5 Mbps aggregate guarantee"
    • add name=qos-other parent=qos-total target=192.168.100.0/24 max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default comment="All other LAN traffic"

Беспроводная сеть

  1. Использование deskip-dfs-channels=disabled не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).

Прочее

  1. Добавлен мониторинг через /tool graphing, что не было задано в ТЗ (Грубая ошибка).
  2. В настройке bridge-интерфейса используется protocol-mode=rstp, что не имеет смысла, так как является конфигурацией по умолчанию (Некритичная ошибка).
  3. Добавлены настройки в /ip service webserver, что не было задано в ТЗ (Грубая ошибка).
  4. Изменены настройки /ip cloud, что не было задано в ТЗ (Грубая ошибка). Значение параметра no для ddns-enabled не существует. Грубая ошибка
  5. Скин для первой линии техподдержки не задан (Грубая ошибка).
  6. Явным образом заданы параметры по-умолчанию для DNS-клиента use-doh-server="" и verify-doh-cert=no. (Некритичная ошибка)

Конфигурация

/system identity set name=GW
/system clock set time-zone-autodetect=no time-zone-name=Europe/Moscow
/ip cloud set ddns-enabled=no update-time=no
/ipv6 settings set disable-ipv6=yes

/interface ethernet set [find default-name=ether1] name=ether1-wan1
/interface ethernet set [find default-name=ether2] name=ether2-wan2
/interface wifi set [find default-name=wifi1] name=wlan-5GHz
/interface wifi set [find default-name=wifi2] name=wlan-2GHz

/interface bridge add name=bridge-lan protocol-mode=rstp comment="LAN bridge"
/interface list add name=LAN comment="Internal interfaces"
/interface list add name=WAN comment="Internet uplinks"
/interface list member add list=LAN interface=bridge-lan comment="LAN bridge"
/interface list member add list=WAN interface=ether1-wan1 comment="Primary uplink"
/interface list member add list=WAN interface=ether2-wan2 comment="Backup uplink"

/interface wifi set wlan-2GHz disabled=no configuration.manager=local configuration.mode=ap configuration.ssid=GW-2 configuration.country=Superchannel configuration.tx-power=16 channel.band=2ghz-ax channel.frequency=2412-2472:5 channel.width=20mhz channel.reselect-interval=2h..4h security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable
/interface wifi set wlan-5GHz disabled=no configuration.manager=local configuration.mode=ap configuration.ssid=GW-5 configuration.country=Superchannel configuration.tx-power=18 channel.band=5ghz-ax channel.frequency=5180-5240:20,5260-5320:20,5660-5720:20,5745-5825:20 channel.width=20/40mhz channel.reselect-interval=2h..4h channel.skip-dfs-channels=disabled security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable

/interface wifi access-list 
add interface=wlan-2GHz mac-address=3C:7C:3F:F5:7F:6E action=accept comment="Allowed WiFi client 1 on 2.4 GHz"
/interface wifi access-list
add interface=wlan-2GHz mac-address=60:32:B1:B9:65:B7 action=accept comment="Allowed WiFi client 2 on 2.4 GHz"
/interface wifi access-list
add interface=wlan-2GHz action=reject comment="Reject all other WiFi clients on 2.4 GHz"
/interface wifi access-list
add interface=wlan-5GHz mac-address=3C:7C:3F:F5:7F:6E action=accept comment="Allowed WiFi client 1 on 5 GHz"
/interface wifi access-list
add interface=wlan-5GHz mac-address=60:32:B1:B9:65:B7 action=accept comment="Allowed WiFi client 2 on 5 GHz"
/interface wifi access-list
add interface=wlan-5GHz action=reject comment="Reject all other WiFi clients on 5 GHz"

/interface bridge port
add bridge=bridge-lan interface=ether3 comment="LAN port ether3"
/interface bridge port
add bridge=bridge-lan interface=ether4 comment="LAN port ether4"
/interface bridge port
add bridge=bridge-lan interface=ether5 comment="LAN port ether5"
/interface bridge port
add bridge=bridge-lan interface=wlan-2GHz comment="LAN WiFi 2.4 GHz"
/interface bridge port
add bridge=bridge-lan interface=wlan-5GHz comment="LAN WiFi 5 GHz"

/ip address 
add address=10.0.1.2/24 interface=ether1-wan1 network=10.0.1.0 comment="Primary WAN address"
/ip address
add address=192.168.100.1/24 interface=bridge-lan network=192.168.100.0 comment="LAN gateway"
/ip route
add dst-address=0.0.0.0/0 gateway=10.0.1.1 distance=1 check-gateway=ping comment="Primary default route"

/ip pool
add name=pool-lan ranges=192.168.100.101-192.168.100.150 comment="LAN DHCP pool"
/ip dhcp-server
add name=dhcp-lan interface=bridge-lan address-pool=pool-lan lease-time=1d disabled=no comment="LAN DHCP server"
/ip dhcp-server network
add address=192.168.100.0/24 gateway=192.168.100.1 dns-server=192.168.100.1 domain=int comment="LAN DHCP options"
/ip dhcp-server lease
add server=dhcp-lan address=192.168.100.101 mac-address=3C:7C:3F:F5:7F:6E comment="Reserved client 1"
/ip dhcp-server lease
add server=dhcp-lan address=192.168.100.102 mac-address=60:32:B1:B9:65:B7 comment="Reserved client 2"

/ip dns 
set allow-remote-requests=yes servers=77.88.8.1,77.88.8.8 use-doh-server=""

/ppp profile
add name=profile-l2tp-branch local-address=172.31.10.1 remote-address=172.31.10.2 only-one=yes change-tcp-mss=yes comment="Branch L2TP profile"
/ppp secret
add name=branch-l2tp password="Branch_L2TP_6Vn4Qp8Z" service=l2tp profile=profile-l2tp-branch comment="Branch L2TP account"
/interface l2tp-server
add name=l2tp-branch user=branch-l2tp comment="Static branch L2TP interface"
/interface l2tp-server server
set enabled=yes authentication=mschap2 default-profile=profile-l2tp-branch use-ipsec=required ipsec-secret="Branch_IPsec_9Tk3Mr7X"
/ip route
add dst-address=192.168.200.0/24 gateway=l2tp-branch distance=1 comment="Route to branch LAN"

/ip firewall address-list add list=white-list address=203.0.113.10 comment="Trusted management address 1"
/ip firewall address-list add list=white-list address=203.0.113.26 comment="Trusted management address 2"
/ip firewall address-list add list=white-list address=198.51.100.19 comment="Trusted management address 3"
/ip firewall address-list add list=staff-no-social address=192.168.100.101 comment="Restricted employee device 1"
/ip firewall address-list add list=staff-no-social address=192.168.100.102 comment="Restricted employee device 2"
/ip firewall address-list add list=social-networks address=ok.ru comment="Blocked social network"
/ip firewall address-list add list=social-networks address=www.ok.ru comment="Blocked social network"
/ip firewall address-list add list=social-networks address=vk.com comment="Blocked social network"
/ip firewall address-list add list=social-networks address=www.vk.com comment="Blocked social network"

/ip service set [find name=telnet] disabled=yes
/ip service set [find name=ftp] disabled=yes
/ip service set [find name=api] disabled=yes
/ip service set [find name=api-ssl] disabled=yes
/ip service set [find name=www-ssl] disabled=yes
/ip service set [find name=www] disabled=no address=192.168.100.0/24
/ip service set [find name=ssh] disabled=no address=192.168.100.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32
/ip service set [find name=winbox] disabled=no address=192.168.100.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32

/ip service webserver set index-plain=yes webfig-plain=yes graphs-plain=yes

/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

/user group add name=tp-line1 policy=reboot,read,test,web skin=default
/user group add name=tp-line2 policy=local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,api,romon,rest-api skin=default
/user group add name=tp-line3 policy=local,telnet,ssh,reboot,read,write,test,winbox,password,web,sniff,sensitive,api,romon,rest-api skin=default
/user add name=support1 group=tp-line1 password="TP1_Web_8Hm3Qw6Z"
/user add name=support2 group=tp-line2 password="TP2_Read_4Jx7Nv2L"
/user add name=support3 group=tp-line3 password="TP3_Write_9Cr5Mk8P"
/user settings set minimum-password-length=12 minimum-categories=3

/ip firewall filter add chain=input action=accept connection-state=established,related comment="Accept established and related input"
/ip firewall filter add chain=input action=accept in-interface=ether2-wan2 protocol=udp src-port=67 dst-port=68 comment="Allow backup WAN DHCP replies"
/ip firewall filter add chain=input action=drop connection-state=invalid comment="Drop invalid input"
/ip firewall filter add chain=input action=accept protocol=icmp comment="Allow ICMP input"
/ip firewall filter add chain=input action=accept in-interface-list=LAN comment="Allow input from LAN"
/ip firewall filter add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=500,4500 comment="Allow IPsec IKE and NAT-T"
/ip firewall filter add chain=input action=accept in-interface-list=WAN protocol=ipsec-esp comment="Allow IPsec ESP"
/ip firewall filter add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=1701 ipsec-policy=in,ipsec comment="Allow L2TP only inside IPsec"
/ip firewall filter add chain=input action=accept in-interface-list=WAN protocol=tcp dst-port=22,8291 src-address-list=white-list comment="Allow trusted SSH and WinBox"
/ip firewall filter add chain=input action=drop comment="Drop all other input"

/ip firewall filter add chain=forward action=drop connection-state=invalid comment="Drop invalid forwarding"
/ip firewall filter add chain=forward action=jump jump-target=social-control in-interface=bridge-lan src-address=192.168.100.0/24 comment="Check scheduled social-network restrictions"
/ip firewall filter add chain=forward action=accept connection-state=established,related comment="Accept established and related forwarding"
/ip firewall filter add chain=forward action=accept in-interface=bridge-lan out-interface=l2tp-branch src-address=192.168.100.0/24 dst-address=192.168.200.0/24 comment="Allow headquarters to branch"
/ip firewall filter add chain=forward action=accept in-interface=l2tp-branch out-interface=bridge-lan src-address=192.168.200.0/24 dst-address=192.168.100.0/24 comment="Allow branch to headquarters"
/ip firewall filter add chain=forward action=accept in-interface-list=WAN connection-nat-state=dstnat comment="Allow published web servers"
/ip firewall filter add chain=forward action=accept in-interface-list=LAN src-address=192.168.100.0/24 comment="Allow LAN initiated forwarding"
/ip firewall filter add chain=forward action=drop comment="Drop all other forwarding"
/ip firewall filter add chain=social-control action=return comment="Return from social-network control"

/ip firewall nat add chain=dstnat action=redirect in-interface-list=LAN protocol=udp dst-port=53 to-ports=53 comment="Force LAN UDP DNS through router"
/ip firewall nat add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=443 to-addresses=192.168.100.11 to-ports=443 comment="Publish web server 1"
/ip firewall nat add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=600 to-addresses=192.168.100.12 to-ports=443 comment="Publish web server 2"
/ip firewall nat add chain=srcnat action=masquerade src-address=192.168.100.0/24 out-interface-list=WAN comment="Masquerade LAN to Internet"

/system script add name=sync-social-filter policy=read,write,test source={
    :foreach ruleId in=[/ip firewall filter find where comment="Block resolved social-network address"] do={
        /ip firewall filter remove $ruleId;
    };
    :local returnRule [/ip firewall filter find where comment="Return from social-network control"];
    :foreach staffId in=[/ip firewall address-list find where list="staff-no-social"] do={
        :local staffAddress [/ip firewall address-list get $staffId address];
        :foreach socialId in=[/ip firewall address-list find where list="social-networks"] do={
            :if ([/ip firewall address-list get $socialId dynamic]) do={
                :local socialAddress [/ip firewall address-list get $socialId address];
                /ip firewall filter add chain=social-control action=drop src-address=$staffAddress dst-address=$socialAddress time=09:00:00-18:00:00,mon,tue,wed,thu,fri place-before=$returnRule comment="Block resolved social-network address";
            };
        };
    };
}
/system scheduler add name=sync-social-filter start-time=startup interval=30s on-event="/system script run sync-social-filter" policy=read,write,test comment="Refresh scheduled social-network filter"

/queue simple 
add name=qos-vpn-bypass target=192.168.100.0/24 dst=192.168.200.0/24 max-limit=0/0 comment="Exclude branch traffic from Internet QoS"
/queue simple 
add name=qos-router-bypass target=192.168.100.1/32 max-limit=0/0 comment="Exclude router services from Internet QoS"
/queue simple 
add name=qos-total target=192.168.100.0/24 max-limit=50M/50M comment="Active Internet uplink capacity"
/queue simple 
add name=qos-mango parent=qos-total target=192.168.100.0/24 dst=81.88.86.0/24 max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default comment="Mango Office highest priority and 10 Mbps cap"
/queue simple 
add name=qos-low parent=qos-total target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default comment="Selected devices lowest priority with 5 Mbps aggregate guarantee"
/queue simple 
add name=qos-other parent=qos-total target=192.168.100.0/24 max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default comment="All other LAN traffic"

/tool graphing queue add simple-queue=all allow-address=192.168.100.0/24 allow-target=no store-on-disk=no

/ip dhcp-client
add interface=ether2-wan2 disabled=no add-default-route=yes default-route-distance=2 use-peer-dns=no use-peer-ntp=no comment="Backup WAN DHCP client"

/tool netwatch
add name=wan1-qos host=10.0.1.1 src-address=10.0.1.2 type=simple interval=10s timeout=2s startup-delay=30s up-script="/queue simple set [find name=qos-total] max-limit=50M/50M; /queue simple set [find name=qos-low] max-limit=50M/50M; /queue simple set [find name=qos-other] max-limit=50M/50M" down-script="/queue simple set [find name=qos-total] max-limit=25M/25M; /queue simple set [find name=qos-low] max-limit=25M/25M; /queue simple set [find name=qos-other] max-limit=25M/25M" comment="Adjust QoS capacity to active uplink"

/system ntp client
set enabled=yes mode=unicast
/system ntp client servers
add address=ru.pool.ntp.org

/system script run sync-social-filter
/user set [find name=admin] name=gw-admin password="GW_Admin_7Kp4Nq9R2v"

Попытка 5

Результат проверки

Количество грубых ошибок: 10.

Количество некритичных ошибок: 6.

Интерфейсы и IP-адресация

Ошибок нет.

Списки интерфейсов и адресов

Ошибок нет.

Безопасность

  1. Неверно выбран тип NAT для 1-го Интернет-канала, использован masquerade вместо src-nat (Некритичная ошибка):
    add chain=srcnat action=masquerade out-interface-list=WAN
  2. Пользователь первой линии техподдержки не сможет пользоваться терминалом в Webfig (Грубая ошибка):
    add name=support-line1 policy=reboot,read,test,web
  3. Доступ к системным службам ограничен через /ip service а не /ip firewall filter (Некритичная ошибка)
  4. Файрвол настроен с грубыми ошибками.
  5. В настройках заданы минимальные требования к паролю пользователя, что не требовалось в ТЗ (Грубая ошибка):
    /user settings set minimum-password-length=12 minimum-categories=4

Объединение офисов с помощью VPN

  1. Разрешено иметь только одну активную сессию, что не требовалось в ТЗ (Грубая ошибка).
  2. Изменены настройки accept-proto-version=l2tpv2 и accept-pseudowire-type=ppp в /interface l2tp-server server, что не требовалось в ТЗ (Грубая ошибка).

Приоритизация трафика

Для некоторых видов трафика использованы очереди типа pсq-upload-default и pcq-download-default, что не требовалось в ТЗ (Грубая ошибка):

  • add dst=ether1-wan1 max-limit=50M/50M name=QoS-WAN1 queue=default/default target=192.168.100.0/24
  • add limit-at=5M/5M max-limit=50M/50M name=QoS-WAN1-Staff-Low parent=QoS-WAN1 priority=8/8 queue=pcq-upload-default/pcq-download-default target=192.168.100.101/32,192.168.100.102/32
  • add max-limit=50M/50M name=QoS-WAN1-Other parent=QoS-WAN1 priority=4/4 queue=pcq-upload-default/pcq-download-default target=192.168.100.0/24
  • add limit-at=5M/5M max-limit=25M/25M name=QoS-WAN2-Staff-Low parent=QoS-WAN2 priority=8/8 queue=pcq-upload-default/pcq-download-default target=192.168.100.101/32,192.168.100.102/32
  • add max-limit=25M/25M name=QoS-WAN2-Other parent=QoS-WAN2 priority=4/4 queue=pcq-upload-default/pcq-download-default target=192.168.100.0/24

Беспроводная сеть

  1. Использование deskip-dfs-channels=disabled не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).

Прочее

  1. Добавлен мониторинг через /tool graphing, что не было задано в ТЗ (Грубая ошибка).
  2. В настройке bridge-интерфейса используется protocol-mode=rstp, что не имеет смысла, так как является конфигурацией по умолчанию (Некритичная ошибка).
  3. Добавлены настройки в /ip service webserver, что не было задано в ТЗ (Грубая ошибка).
  4. Скин для первой линии техподдержки не задан (Грубая ошибка).
  5. Для первой линии техподдержки задано ограничение на подключение к маршрутизатору из локальной сети в /user, что не было задано в ТЗ (Грубая ошибка).
  6. DHCP-сервер в одном разделе конфигурации создается выключенным а затем включается отдельной командой. (Некритичная ошибка).
  7. Настройки DHCP-сервера задублированы address=192.168.100.0/24 и netmask=24 (Некритичная ошибка).

Конфигурация

/system identity
set name=GW

/interface ethernet
set [ find default-name=ether1 ] name=ether1-wan1
set [ find default-name=ether2 ] name=ether2-wan2

/interface wifi
set [ find default-name=wifi2 ] name=wlan-2GHz
set [ find default-name=wifi1 ] name=wlan-5GHz
set [ find where name=wlan-2GHz ] channel.band=2ghz-ax channel.frequency=2412-2472:5 channel.reselect-interval=2h..4h channel.skip-dfs-channels=disabled channel.width=20mhz configuration.country=Superchannel configuration.mode=ap configuration.ssid=GW-2 configuration.tx-power=16 disabled=yes security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable
set [ find where name=wlan-5GHz ] channel.band=5ghz-ax channel.frequency=5180-5240:20,5260-5320:20,5660-5720:20,5745-5825:20 channel.reselect-interval=2h..4h channel.skip-dfs-channels=disabled channel.width=20/40mhz configuration.country=Superchannel configuration.mode=ap configuration.ssid=GW-5 configuration.tx-power=18 disabled=yes security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable

/interface wifi access-list
add action=accept mac-address=3C:7C:3F:F5:7F:6E
add action=accept mac-address=60:32:B1:B9:65:B7
add action=reject

/interface bridge
add name=bridge-lan protocol-mode=rstp

/interface bridge port
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=wlan-2GHz
add bridge=bridge-lan interface=wlan-5GHz

/interface wifi
set [ find where name=wlan-2GHz ] disabled=no
set [ find where name=wlan-5GHz ] disabled=no

/interface list
add name=LAN
add name=WAN

/interface list member
add interface=bridge-lan list=LAN
add interface=ether1-wan1 list=WAN
add interface=ether2-wan2 list=WAN

/ip address
add address=10.0.1.2/24 interface=ether1-wan1 network=10.0.1.0
add address=192.168.100.1/24 interface=bridge-lan network=192.168.100.0

/ip dhcp-client
add add-default-route=yes check-gateway=ping default-route-distance=2 disabled=no interface=ether2-wan2 use-peer-dns=no use-peer-ntp=no

/ip route
add check-gateway=ping distance=1 dst-address=0.0.0.0/0 gateway=10.0.1.1

/ip pool
add name=pool-lan ranges=192.168.100.101-192.168.100.150

/ip dhcp-server
add address-pool=pool-lan authoritative=yes disabled=yes interface=bridge-lan lease-time=1d name=dhcp-lan

/ip dhcp-server network
add address=192.168.100.0/24 dns-server=192.168.100.1 domain=int gateway=192.168.100.1 netmask=24

/ip dhcp-server lease
add address=192.168.100.101 mac-address=3C:7C:3F:F5:7F:6E server=dhcp-lan
add address=192.168.100.102 mac-address=60:32:B1:B9:65:B7 server=dhcp-lan

/ip dhcp-server
set [ find where name=dhcp-lan ] disabled=no

/ip dns
set allow-remote-requests=yes servers=77.88.8.1,77.88.8.8 use-doh-server="" verify-doh-cert=no

/system clock
set time-zone-autodetect=no time-zone-name=Europe/Moscow

/system ntp client
set enabled=yes mode=unicast

/system ntp client servers
add address=ru.pool.ntp.org iburst=yes

/ip firewall address-list
add address=203.0.113.10 list=white-list
add address=203.0.113.26 list=white-list
add address=198.51.100.19 list=white-list
add address=192.168.100.101 list=staff-no-social
add address=192.168.100.102 list=staff-no-social
add address=ok.ru list=social-networks
add address=vk.com list=social-networks

/ppp profile
add change-tcp-mss=yes local-address=172.31.10.1 name=l2tp-branch-profile only-one=yes remote-address=172.31.10.2 use-compression=no use-encryption=required use-ipv6=no use-mpls=no use-upnp=no

/ppp secret
add name=branch-l2tp password="Branch-L2TP!2026" profile=l2tp-branch-profile service=l2tp

/interface l2tp-server
add name=l2tp-branch user=branch-l2tp

/interface l2tp-server server
set accept-proto-version=l2tpv2 accept-pseudowire-type=ppp allow-fast-path=no authentication=mschap2 default-profile=l2tp-branch-profile enabled=no ipsec-secret="Branch-IPsec!2026-PSK" max-sessions=1 one-session-per-host=yes use-ipsec=required

/ip route
add distance=1 dst-address=192.168.200.0/24 gateway=l2tp-branch

/ip firewall nat
add action=dst-nat chain=dstnat comment="Force LAN UDP DNS through router" dst-port=53 in-interface-list=LAN protocol=udp to-addresses=192.168.100.1 to-ports=53
add action=dst-nat chain=dstnat comment="Publish web server 1" dst-address-type=local dst-port=443 in-interface-list=WAN protocol=tcp to-addresses=192.168.100.11 to-ports=443
add action=dst-nat chain=dstnat comment="Publish web server 2" dst-address-type=local dst-port=600 in-interface-list=WAN protocol=tcp to-addresses=192.168.100.12 to-ports=443
add action=masquerade chain=srcnat comment="Internet source NAT" out-interface-list=WAN

/ip firewall filter
add action=accept chain=input comment="Accept established and related input" connection-state=established,related
add action=accept chain=input comment="Accept DHCP client replies on WAN2" dst-port=68 in-interface=ether2-wan2 protocol=udp src-port=67
add action=drop chain=input comment="Drop invalid input" connection-state=invalid
add action=accept chain=input comment="Accept input from LAN" in-interface-list=LAN
add action=accept chain=input comment="Accept ICMP" protocol=icmp
add action=accept chain=input comment="Accept IKE and IPsec NAT-T" dst-port=500,4500 in-interface-list=WAN protocol=udp
add action=accept chain=input comment="Accept IPsec ESP" in-interface-list=WAN protocol=ipsec-esp
add action=accept chain=input comment="Accept L2TP only inside IPsec" dst-port=1701 ipsec-policy=in,ipsec protocol=udp
add action=accept chain=input comment="Accept trusted SSH and WinBox from Internet" dst-port=22,8291 in-interface-list=WAN protocol=tcp src-address-list=white-list
add action=drop chain=input comment="Drop all other input"
add action=drop chain=forward comment="Drop invalid forward" connection-state=invalid
add action=reject chain=forward comment="Block social networks for selected staff during work hours" dst-address-list=social-networks in-interface-list=LAN out-interface-list=WAN reject-with=icmp-admin-prohibited src-address-list=staff-no-social time=09:00:00-18:00:00,mon,tue,wed,thu,fri
add action=accept chain=forward comment="Accept established and related forward" connection-state=established,related
add action=accept chain=forward comment="Allow branch LAN to head office LAN" dst-address=192.168.100.0/24 in-interface=l2tp-branch out-interface-list=LAN src-address=192.168.200.0/24
add action=accept chain=forward comment="Allow connections initiated from LAN" in-interface-list=LAN
add action=accept chain=forward comment="Allow published servers from Internet" connection-nat-state=dstnat in-interface-list=WAN
add action=drop chain=forward comment="Drop all other forward"

/interface l2tp-server server
set enabled=yes

/queue simple
add dst=ether1-wan1 max-limit=50M/50M name=QoS-WAN1 queue=default/default target=192.168.100.0/24
add dst=81.88.86.0/24 max-limit=10M/10M name=QoS-WAN1-Mango parent=QoS-WAN1 priority=1/1 queue=default/default target=192.168.100.0/24
add limit-at=5M/5M max-limit=50M/50M name=QoS-WAN1-Staff-Low parent=QoS-WAN1 priority=8/8 queue=pcq-upload-default/pcq-download-default target=192.168.100.101/32,192.168.100.102/32
add max-limit=50M/50M name=QoS-WAN1-Other parent=QoS-WAN1 priority=4/4 queue=pcq-upload-default/pcq-download-default target=192.168.100.0/24
add dst=ether2-wan2 max-limit=25M/25M name=QoS-WAN2 queue=default/default target=192.168.100.0/24
add dst=81.88.86.0/24 max-limit=10M/10M name=QoS-WAN2-Mango parent=QoS-WAN2 priority=1/1 queue=default/default target=192.168.100.0/24
add limit-at=5M/5M max-limit=25M/25M name=QoS-WAN2-Staff-Low parent=QoS-WAN2 priority=8/8 queue=pcq-upload-default/pcq-download-default target=192.168.100.101/32,192.168.100.102/32
add max-limit=25M/25M name=QoS-WAN2-Other parent=QoS-WAN2 priority=4/4 queue=pcq-upload-default/pcq-download-default target=192.168.100.0/24

/tool graphing
set page-refresh=300 store-every=5min

/tool graphing queue
add allow-address=192.168.100.0/24 allow-target=no simple-queue=all store-on-disk=no

/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

/ip service
set telnet disabled=yes
set ftp disabled=yes
set www address=192.168.100.0/24 disabled=no
set ssh address=192.168.100.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32 disabled=no
set www-ssl disabled=yes
set api disabled=yes
set winbox address=192.168.100.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32 disabled=no
set api-ssl disabled=yes

/ip service webserver
set acme-plain=no crl-plain=no graphs-plain=yes graphs-secure=no index-plain=yes index-secure=no rest-plain=no rest-secure=no scep-plain=no webfig-plain=yes webfig-secure=no

/user settings
set minimum-categories=4 minimum-password-length=12

/user group
add name=support-line1 policy=reboot,read,test,web
add name=support-line2 policy=local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,api,rest-api,romon
add name=support-line3 policy=local,telnet,ssh,reboot,read,write,test,winbox,password,web,sniff,sensitive,api,rest-api,romon

/user
set [ find name=admin ] group=full password="Adm7n-GW!2026"
add address=192.168.100.0/24 group=support-line1 name=support1 password="L1-Web!2026-Run"
add group=support-line2 name=support2 password="L2-Read!2026-Sec"
add group=support-line3 name=support3 password="L3-Write!2026-Sec"

Попытка 6

Результат проверки

Количество грубых ошибок: 11.

Количество некритичных ошибок: 5.

Интерфейсы и IP-адресация

Ошибок нет.

Списки интерфейсов и адресов

Ошибок нет.

Безопасность

  1. Неверно выбран тип NAT для 1-го Интернет-канала, использован masquerade вместо src-nat (Некритичная ошибка):
    add chain=srcnat action=masquerade out-interface-list=WAN
  2. В настройках заданы минимальные требования к паролю пользователя, что не требовалось в ТЗ (Грубая ошибка):
    /user settings set minimum-password-length=12 minimum-categories=4
  3. Пользователь первой линии техподдержки не сможет пользоваться терминалом в Webfig (Грубая ошибка):
    add name=support-line1 policy=reboot,read,test,web
  4. Доступ к системным службам ограничен через /ip service а не /ip firewall filter (Некритичная ошибка)
  5. Изменены настройки set strong-crypto=yes в /ip ssh, что не указано в ТЗ (Грубая ошибка)

Объединение офисов с помощью VPN

  1. Разрешено иметь только одну активную сессию, что не требовалось в ТЗ (Грубая ошибка).
  2. Изменены настройки accept-proto-version=l2tpv2 и accept-pseudowire-type=ppp в /interface l2tp-server server, что не требовалось в ТЗ (Грубая ошибка).

Приоритизация трафика

Для некоторых видов трафика использованы очереди типа pсq-upload-default и pcq-download-default, что не требовалось в ТЗ (Грубая ошибка):

  • add name=WAN1-Mango parent=WAN1-total target=192.168.100.0/24 dst=81.88.86.0/24 max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
  • add name=WAN1-low parent=WAN1-total target=192.168.100.101/32,192.168.100.102/32 dst=ether1-wan1 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default
  • add name=WAN1-other parent=WAN1-total target=192.168.100.0/24 dst=ether1-wan1 max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default
  • add name=WAN2-Mango parent=WAN2-total target=192.168.100.0/24 dst=81.88.86.0/24 max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
  • add name=WAN2-low parent=WAN2-total target=192.168.100.101/32,192.168.100.102/32 dst=ether2-wan2 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default
  • add name=WAN2-other parent=WAN2-total target=192.168.100.0/24 dst=ether2-wan2 max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default

Беспроводная сеть

  1. Использование deskip-dfs-channels=disabled не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).
  2. Использование configuration.manager=local не имеет смысла, т.к. это поведение по умолчанию (Некритичная ошибка).

Прочее

  1. Добавлен мониторинг через /tool graphing, что не было задано в ТЗ (Грубая ошибка).
  2. В настройке bridge-интерфейса используется protocol-mode=rstp, что не имеет смысла, так как является конфигурацией по умолчанию (Некритичная ошибка).
  3. Добавлены настройки в /ip service webserver, что не было задано в ТЗ (Грубая ошибка).
  4. Изменены настройки /ip cloud, что не было задано в ТЗ (Грубая ошибка). Значение параметра no для ddns-enabled не существует. Грубая ошибка
  5. Скин для первой линии техподдержки не задан (Грубая ошибка).

Конфигурация

/system identity
set name=GW

/system clock
set time-zone-autodetect=no time-zone-name=Europe/Moscow

/ip cloud
set ddns-enabled=no update-time=no

/user settings
set minimum-password-length=12 minimum-categories=4

/user group
add name=support-line1 policy=reboot,read,test,web skin=default
add name=support-line2 policy=local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,api,romon,rest-api skin=default
add name=support-line3 policy=local,telnet,ssh,reboot,read,write,test,winbox,password,web,sniff,sensitive,api,romon,rest-api skin=default

/user
set [find where name=admin] group=full password="GW-Admin_7K4!qP2zN9"
add name=support1 group=support-line1 password="L1-WebFig_7mQ4!2vR"
add name=support2 group=support-line2 password="L2-Support_8nW5!3xS"
add name=support3 group=support-line3 password="L3-Engineer_9pE6!4yT"

/interface ethernet
set [find where default-name=ether1] name=ether1-wan1
set [find where default-name=ether2] name=ether2-wan2

/interface wifi
set [find where default-name=wifi2] name=wlan-2GHz disabled=no configuration.manager=local configuration.mode=ap configuration.country=Superchannel configuration.ssid=GW-2 configuration.tx-power=16 channel.band=2ghz-ax channel.frequency=2412-2472:5 channel.width=20mhz channel.reselect-interval=02:00:00..04:00:00 security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable
set [find where default-name=wifi1] name=wlan-5GHz disabled=no configuration.manager=local configuration.mode=ap configuration.country=Superchannel configuration.ssid=GW-5 configuration.tx-power=18 channel.band=5ghz-ax channel.frequency=5180-5240:20,5260-5320:20,5660-5720:20,5745-5825:20 channel.width=20/40mhz channel.reselect-interval=02:00:00..04:00:00 channel.skip-dfs-channels=disabled security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable

/interface wifi access-list
add action=accept mac-address=3C:7C:3F:F5:7F:6E
add action=accept mac-address=60:32:B1:B9:65:B7
add action=reject

/interface bridge
add name=bridge-lan protocol-mode=rstp

/interface bridge port
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=wlan-2GHz
add bridge=bridge-lan interface=wlan-5GHz

/interface list
add name=LAN
add name=WAN

/interface list member
add interface=bridge-lan list=LAN
add interface=ether1-wan1 list=WAN
add interface=ether2-wan2 list=WAN

/ip address
add address=10.0.1.2/24 interface=ether1-wan1
add address=192.168.100.1/24 interface=bridge-lan

/ip route
add dst-address=0.0.0.0/0 gateway=10.0.1.1 distance=1 check-gateway=ping

/ip dhcp-client
add interface=ether2-wan2 add-default-route=yes default-route-distance=2 check-gateway=ping use-peer-dns=no use-peer-ntp=no

/ip pool
add name=dhcp-lan-pool ranges=192.168.100.101-192.168.100.150

/ip dhcp-server
add name=dhcp-lan interface=bridge-lan address-pool=dhcp-lan-pool lease-time=1d authoritative=yes

/ip dhcp-server network
add address=192.168.100.0/24 gateway=192.168.100.1 dns-server=192.168.100.1 domain=int

/ip dhcp-server lease
add server=dhcp-lan address=192.168.100.101 mac-address=3C:7C:3F:F5:7F:6E
add server=dhcp-lan address=192.168.100.102 mac-address=60:32:B1:B9:65:B7

/ip dns
set servers=77.88.8.1,77.88.8.8 allow-remote-requests=yes

/system ntp client
set enabled=yes mode=unicast

/system ntp client servers
add address=ru.pool.ntp.org

/ip firewall address-list
add list=white-list address=203.0.113.10
add list=white-list address=203.0.113.26
add list=white-list address=198.51.100.19
add list=staff-no-social address=192.168.100.101
add list=staff-no-social address=192.168.100.102
add list=social-networks address=ok.ru
add list=social-networks address=vk.com

/ppp profile
add name=l2tp-branch-profile local-address=172.31.10.1 remote-address=172.31.10.2 use-ipv6=no use-mpls=no use-compression=no use-encryption=required only-one=yes change-tcp-mss=yes use-upnp=no

/ppp secret
add name=branch-office password="Branch-L2TP_7qA!4zM2" service=l2tp profile=l2tp-branch-profile

/interface l2tp-server
add name=l2tp-branch user=branch-office

/interface l2tp-server server
set enabled=yes authentication=mschap2 default-profile=l2tp-branch-profile use-ipsec=required ipsec-secret="Branch-IPsec_9wB!6kR3" max-mtu=1450 max-mru=1450 max-sessions=1 one-session-per-host=yes allow-fast-path=no accept-pseudowire-type=ppp accept-proto-version=l2tpv2

/ip route
add dst-address=192.168.200.0/24 gateway=l2tp-branch distance=1

/ip firewall nat
add chain=dstnat in-interface-list=LAN src-address=192.168.100.0/24 dst-address=!192.168.100.1 protocol=udp dst-port=53 action=dst-nat to-addresses=192.168.100.1 to-ports=53
add chain=dstnat in-interface-list=WAN dst-address-type=local protocol=tcp dst-port=443 action=dst-nat to-addresses=192.168.100.11 to-ports=443
add chain=dstnat in-interface-list=WAN dst-address-type=local protocol=tcp dst-port=600 action=dst-nat to-addresses=192.168.100.12 to-ports=443
add chain=srcnat out-interface-list=WAN action=masquerade

/ip firewall filter
add chain=input action=accept connection-state=established,related
add chain=input action=drop connection-state=invalid
add chain=input action=accept in-interface-list=LAN
add chain=input action=accept protocol=icmp
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=500,4500
add chain=input action=accept in-interface-list=WAN protocol=ipsec-esp
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=1701 ipsec-policy=in,ipsec
add chain=input action=accept in-interface-list=WAN src-address-list=white-list protocol=tcp dst-port=22,8291
add chain=input action=drop
add chain=forward action=drop connection-state=invalid
add chain=forward action=drop src-address-list=staff-no-social dst-address-list=social-networks out-interface-list=WAN time=09:00:00-18:00:00,mon,tue,wed,thu,fri
add chain=forward action=accept connection-state=established,related
add chain=forward action=accept in-interface-list=LAN
add chain=forward action=accept in-interface=l2tp-branch out-interface=bridge-lan
add chain=forward action=accept in-interface-list=WAN connection-nat-state=dstnat
add chain=forward action=drop

/queue simple
add name=WAN1-total target=192.168.100.0/24 dst=ether1-wan1 max-limit=50M/50M queue=default-small/default-small
add name=WAN1-Mango parent=WAN1-total target=192.168.100.0/24 dst=81.88.86.0/24 max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
add name=WAN1-low parent=WAN1-total target=192.168.100.101/32,192.168.100.102/32 dst=ether1-wan1 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name=WAN1-other parent=WAN1-total target=192.168.100.0/24 dst=ether1-wan1 max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default
add name=WAN2-total target=192.168.100.0/24 dst=ether2-wan2 max-limit=25M/25M queue=default-small/default-small
add name=WAN2-Mango parent=WAN2-total target=192.168.100.0/24 dst=81.88.86.0/24 max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
add name=WAN2-low parent=WAN2-total target=192.168.100.101/32,192.168.100.102/32 dst=ether2-wan2 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name=WAN2-other parent=WAN2-total target=192.168.100.0/24 dst=ether2-wan2 max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default

/tool graphing
set store-every=5min

/tool graphing queue
add simple-queue=all allow-address=192.168.100.0/24 allow-target=no store-on-disk=no

/ip service
set [find where name=telnet] disabled=yes
set [find where name=ftp] disabled=yes
set [find where name=api] disabled=yes
set [find where name=api-ssl] disabled=yes
set [find where name=www-ssl] disabled=yes
set [find where name=www] disabled=no port=80 address=192.168.100.0/24
set [find where name=ssh] disabled=no port=22 address=192.168.100.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32
set [find where name=winbox] disabled=no port=8291 address=192.168.100.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32

/ip service webserver
set index-plain=yes webfig-plain=yes graphs-plain=yes rest-plain=no

/ip ssh
set strong-crypto=yes host-key-type=ed25519 forwarding-enabled=no password-authentication=yes

/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

Попытка 7

Результат проверки

Количество грубых ошибок: 12.

Количество некритичных ошибок : 7.

Интерфейсы и IP-адресация

Ошибок нет.

Списки интерфейсов и адресов

Ошибок нет.

Безопасность

  1. Неверно выбран тип NAT для 1-го Интернет-канала, использован masquerade вместо src-nat (Некритичная ошибка):
    add chain=srcnat action=masquerade out-interface-list=WAN
  2. В настройках заданы минимальные требования к паролю пользователя, что не требовалось в ТЗ (Грубая ошибка):
    /user settings set minimum-password-length=14 minimum-categories=4
  3. Пользователь первой линии техподдержки не сможет пользоваться терминалом в Webfig (Грубая ошибка):
    add name=support-l1 policy=reboot,read,test,web
  4. Доступ к системным службам ограничен через /ip service а не /ip firewall filter (Некритичная ошибка)
  5. Изменены настройки set strong-crypto=yes в /ip ssh, что не указано в ТЗ (Грубая ошибка)

Объединение офисов с помощью VPN

  1. Разрешено иметь только одну активную сессию, что не требовалось в ТЗ (Грубая ошибка).
  2. Изменены настройки accept-proto-version=l2tpv2 и accept-pseudowire-type=ppp в /interface l2tp-server server, что не требовалось в ТЗ (Грубая ошибка).

Приоритизация трафика

  1. Для некоторых видов трафика использованы очереди типа pсq-upload-default и pcq-download-default (Грубая ошибка)
    • add name=QOS-WAN1-MANGO parent=QOS-WAN1 target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
    • add name=QOS-WAN1-LOW parent=QOS-WAN1 target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default
    • add name=QOS-WAN1-OTHER parent=QOS-WAN1 target=192.168.100.0/24 max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default
    • add name=QOS-WAN2-MANGO parent=QOS-WAN2 target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
    • add name=QOS-WAN2-LOW parent=QOS-WAN2 target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default
    • add name=QOS-WAN2-OTHER parent=QOS-WAN2 target=192.168.100.0/24 max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default
  2. Задан параметр limit-at=10M/10M для VOIP-трафика, что не требовалось в ТЗ. (Грубая ошибка)

Беспроводная сеть

  1. Использование deskip-dfs-channels=disabled не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).
  2. Использование configuration.manager=local не имеет смысла, т.к. это поведение по умолчанию (Некритичная ошибка).
  3. Использование security.encryption=ccmp не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).

Прочее

  1. Добавлен мониторинг через /tool graphing, что не было задано в ТЗ (Грубая ошибка).
  2. В настройке bridge-интерфейса используется protocol-mode=rstp, что не имеет смысла, так как является конфигурацией по умолчанию (Некритичная ошибка).
  3. Добавлены настройки в /ip service webserver, что не было задано в ТЗ (Грубая ошибка).
  4. Изменены настройки /ip cloud, что не было задано в ТЗ (Грубая ошибка). Значение параметра no для ddns-enabled не существует. Грубая ошибка
  5. Скин для первой линии техподдержки не задан (Грубая ошибка).
  6. Задана настройка, что выключает romon set enabled=no, что является поведением по умолчанию. (Некритичная ошибка).
  7. Настроена рекурсивная маршрутизация, что не было задано в ТЗ (Грубая ошибка):
/ip route
add dst-address=1.1.1.1/32 gateway=10.0.1.1 scope=10
add dst-address=0.0.0.0/0 gateway=1.1.1.1 check-gateway=ping distance=1 target-scope=11

Конфигурация

/system identity
set name=GW

/system clock
set time-zone-name=Europe/Moscow

/interface ethernet
set [find default-name=ether1] name=ether1-wan1
set [find default-name=ether2] name=ether2-wan2

/interface bridge
add name=bridge-lan protocol-mode=rstp

/interface wifi
set [find default-name=wifi1] name=wlan-5GHz disabled=no configuration.mode=ap configuration.ssid=GW-5 configuration.country=Superchannel configuration.tx-power=18 channel.band=5ghz-ax channel.frequency=5180-5240:20,5260-5320:20,5660-5720:20,5745-5825:20 channel.width=20/40mhz channel.reselect-interval=02:00:00..04:00:00 channel.skip-dfs-channels=disabled security.authentication-types=wpa2-psk,wpa3-psk security.encryption=ccmp security.passphrase="Pass66word!" security.wps=disable
set [find default-name=wifi2] name=wlan-2GHz disabled=no configuration.mode=ap configuration.ssid=GW-2 configuration.country=Superchannel configuration.tx-power=16 channel.band=2ghz-ax channel.frequency=2412-2472:5 channel.width=20mhz channel.reselect-interval=02:00:00..04:00:00 channel.skip-dfs-channels=disabled security.authentication-types=wpa2-psk,wpa3-psk security.encryption=ccmp security.passphrase="Pass66word!" security.wps=disable

/interface wifi access-list
add action=accept mac-address=3C:7C:3F:F5:7F:6E
add action=accept mac-address=60:32:B1:B9:65:B7
add action=reject

/interface bridge port
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=wlan-2GHz
add bridge=bridge-lan interface=wlan-5GHz

/interface list
add name=LAN
add name=WAN

/interface list member
add interface=bridge-lan list=LAN
add interface=ether1-wan1 list=WAN
add interface=ether2-wan2 list=WAN

/ip address
add address=10.0.1.2/24 interface=ether1-wan1
add address=192.168.100.1/24 interface=bridge-lan

/ip pool
add name=pool-lan ranges=192.168.100.101-192.168.100.150

/ip dhcp-server
add name=dhcp-lan interface=bridge-lan address-pool=pool-lan lease-time=1d disabled=no

/ip dhcp-server network
add address=192.168.100.0/24 gateway=192.168.100.1 dns-server=192.168.100.1 domain=int

/ip dhcp-server lease
add address=192.168.100.101 mac-address=3C:7C:3F:F5:7F:6E server=dhcp-lan
add address=192.168.100.102 mac-address=60:32:B1:B9:65:B7 server=dhcp-lan

/ip dhcp-client
add interface=ether2-wan2 add-default-route=yes default-route-distance=2 check-gateway=ping use-peer-dns=no use-peer-ntp=no disabled=no

/ip dns
set allow-remote-requests=yes servers=77.88.8.1,77.88.8.8

/ppp profile
add name=profile-l2tp-branch local-address=172.31.10.1 remote-address=172.31.10.2 only-one=yes change-tcp-mss=yes use-ipv6=no use-upnp=no

/ppp secret
add name=branch-l2tp password="Br4nch-L2TP!2026" service=l2tp profile=profile-l2tp-branch

/interface l2tp-server
add name=l2tp-branch user=branch-l2tp

/interface list member
add interface=l2tp-branch list=LAN

/interface l2tp-server server
set enabled=yes authentication=mschap2 default-profile=profile-l2tp-branch use-ipsec=required ipsec-secret="GW-Branch-IPsec!2026" allow-fast-path=no max-sessions=1

/ip route
add dst-address=1.1.1.1/32 gateway=10.0.1.1 scope=10
add dst-address=0.0.0.0/0 gateway=1.1.1.1 distance=1 target-scope=11 check-gateway=ping
add dst-address=192.168.200.0/24 gateway=l2tp-branch distance=1

/ip firewall address-list
add list=white-list address=203.0.113.10
add list=white-list address=203.0.113.26
add list=white-list address=198.51.100.19
add list=staff-no-social address=192.168.100.101
add list=staff-no-social address=192.168.100.102
add list=social-networks address=ok.ru
add list=social-networks address=www.ok.ru
add list=social-networks address=vk.com
add list=social-networks address=www.vk.com

/ip firewall connection tracking
set enabled=yes

/ip firewall filter
add chain=input action=accept connection-state=established,related
add chain=input action=drop connection-state=invalid
add chain=input action=accept protocol=icmp
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=500,4500
add chain=input action=accept in-interface-list=WAN protocol=ipsec-esp
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=1701 ipsec-policy=in,ipsec
add chain=input action=accept in-interface-list=WAN protocol=tcp dst-port=22,8291 src-address-list=white-list
add chain=input action=drop in-interface-list=LAN protocol=tcp dst-port=53
add chain=input action=accept in-interface-list=LAN
add chain=input action=drop
add chain=forward action=drop src-address-list=staff-no-social dst-address-list=social-networks time=09:00:00-18:00:00,mon,tue,wed,thu,fri
add chain=forward action=accept connection-state=established,related
add chain=forward action=drop connection-state=invalid
add chain=forward action=drop in-interface-list=LAN protocol=tcp dst-port=53
add chain=forward action=accept in-interface-list=LAN
add chain=forward action=accept in-interface-list=WAN connection-nat-state=dstnat
add chain=forward action=drop

/ip firewall nat
add chain=dstnat action=redirect in-interface-list=LAN protocol=udp dst-port=53 to-ports=53
add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=443 to-addresses=192.168.100.11 to-ports=443
add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=600 to-addresses=192.168.100.12 to-ports=443
add chain=srcnat action=masquerade out-interface-list=WAN

/queue simple
add name=QOS-WAN1 target=192.168.100.0/24 dst=ether1-wan1 max-limit=50M/50M queue=default-small/default-small
add name=QOS-WAN1-MANGO parent=QOS-WAN1 target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
add name=QOS-WAN1-LOW parent=QOS-WAN1 target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name=QOS-WAN1-OTHER parent=QOS-WAN1 target=192.168.100.0/24 max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default
add name=QOS-WAN2 target=192.168.100.0/24 dst=ether2-wan2 max-limit=25M/25M queue=default-small/default-small
add name=QOS-WAN2-MANGO parent=QOS-WAN2 target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
add name=QOS-WAN2-LOW parent=QOS-WAN2 target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name=QOS-WAN2-OTHER parent=QOS-WAN2 target=192.168.100.0/24 max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default

/tool graphing
set store-every=5min page-refresh=300

/tool graphing queue
add simple-queue=all allow-address=192.168.100.0/24 allow-target=no store-on-disk=no

/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

/ip service
set [find name=telnet] disabled=yes
set [find name=ftp] disabled=yes
set [find name=www] disabled=no address=192.168.100.0/24
set [find name=www-ssl] disabled=yes
set [find name=ssh] disabled=no address=192.168.100.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32
set [find name=winbox] disabled=no address=192.168.100.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32
set [find name=api] disabled=yes
set [find name=api-ssl] disabled=yes

/ip ssh
set strong-crypto=yes

/tool romon
set enabled=no

/ip cloud
set ddns-enabled=no update-time=no

/system ntp client
set enabled=yes mode=unicast

/system ntp client servers
add address=ru.pool.ntp.org

/user settings
set minimum-password-length=14 minimum-categories=4

/user group
add name=support-l1 policy=read,reboot,test,web skin=default
add name=support-l2 policy=local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,api,romon,rest-api skin=default
add name=support-l3 policy=local,telnet,ssh,reboot,read,write,test,winbox,password,web,sniff,sensitive,api,romon,rest-api skin=default

/user
add name=support-l1 group=support-l1 password="GW-L1-Web!2026"
add name=support-l2 group=support-l2 password="GW-L2-Read!2026"
add name=support-l3 group=support-l3 password="GW-L3-Write!2026"
set [find name=admin] name=netadmin group=full password="GW-Admin!2026-ax2"

Попытка 8

Результат проверки

Количество грубых ошибок: 12.

Количество некритичных ошибок: 9.

Интерфейсы и IP-адресация

Ошибок нет.

Списки интерфейсов и адресов

Ошибок нет.

Безопасность

  1. Неверно выбран тип NAT для 1-го Интернет-канала, использован masquerade вместо src-nat (Некритичная ошибка):
    add chain=srcnat action=masquerade out-interface-list=WAN
  2. В настройках заданы минимальные требования к паролю пользователя, что не требовалось в ТЗ (Грубая ошибка):
    /user settings set minimum-password-length=12 minimum-categories=4
  3. Пользователь первой линии техподдержки не сможет пользоваться терминалом в Webfig (Грубая ошибка):
    add name=support-l1 policy=reboot,read,test,web
  4. Доступ к системным службам ограничен через /ip service а не /ip firewall filter (Некритичная ошибка)
  5. Изменены настройки set strong-crypto=yes в /ip ssh, что не указано в ТЗ (Грубая ошибка)

Объединение офисов с помощью VPN

  1. Разрешено иметь только одну активную сессию, что не требовалось в ТЗ (Грубая ошибка).
  2. Изменены настройки accept-proto-version=l2tpv2 и accept-pseudowire-type=ppp в /interface l2tp-server server, что не требовалось в ТЗ (Грубая ошибка).

Приоритизация трафика

  1. Для некоторых видов трафика использованы очереди типа pсq-upload-default и pcq-download-default (Грубая ошибка)
    • add name=WAN1-Low parent=WAN1-QoS target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default
    • add name=WAN1-Other parent=WAN1-QoS target=192.168.100.0/24 max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default
    • add name=WAN2-Low parent=WAN2-QoS target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default
    • add name=WAN2-Other parent=WAN2-QoS target=192.168.100.0/24 max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default

Беспроводная сеть

  1. Использование deskip-dfs-channels=disabled не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).
  2. Использование security.encryption=ccmp не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).
  3. Использование security.group-encryption=ccmp не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).
  4. Использование security.management-protection=allowed не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).

Прочее

  1. Добавлен мониторинг через /tool graphing, что не было задано в ТЗ (Грубая ошибка).
  2. В настройке bridge-интерфейса используется protocol-mode=rstp, что не имеет смысла, так как является конфигурацией по умолчанию (Некритичная ошибка).
  3. Добавлены настройки в /ip service webserver, что не было задано в ТЗ (Грубая ошибка).
  4. Изменены настройки /ip cloud, что не было задано в ТЗ (Грубая ошибка). Значение параметра no для ddns-enabled не существует. Грубая ошибка
  5. Скин для первой линии техподдержки не задан (Грубая ошибка).
  6. Не существует раздел конфигурации /tool graphing queues queue (Грубая ошибка).
  7. DHCP-сервер в одном разделе конфигурации создается выключенным а затем включается отдельной командой. (Некритичная ошибка).
  8. Настроена рекурсивная маршрутизация, что не было задано в ТЗ (Грубая ошибка):
/ip route
add dst-address=1.1.1.1/32 gateway=10.0.1.1 scope=10
add dst-address=0.0.0.0/0 gateway=1.1.1.1 check-gateway=ping distance=1 target-scope=11

Конфигурация

/system identity
set name=GW

/system clock
set time-zone-autodetect=no time-zone-name=Europe/Moscow

/ip cloud
set ddns-enabled=no update-time=no

/interface ethernet
set [find where default-name=ether1] name=ether1-wan1
set [find where default-name=ether2] name=ether2-wan2

/interface wifi
set [find where default-name=wifi1] name=wlan-5GHz disabled=yes configuration.mode=ap configuration.country=Superchannel configuration.ssid=GW-5 configuration.tx-power=18 channel.band=5ghz-ax channel.frequency=5180-5240:20,5260-5320:20,5660-5720:20,5745-5825:20 channel.width=20/40mhz channel.skip-dfs-channels=disabled channel.reselect-interval=2h..4h security.authentication-types=wpa2-psk,wpa3-psk security.encryption=ccmp security.group-encryption=ccmp security.management-protection=allowed security.passphrase="Pass66word!" security.wps=disable
set [find where default-name=wifi2] name=wlan-2GHz disabled=yes configuration.mode=ap configuration.country=Superchannel configuration.ssid=GW-2 configuration.tx-power=16 channel.band=2ghz-ax channel.frequency=2412-2472:5 channel.width=20mhz channel.skip-dfs-channels=disabled channel.reselect-interval=2h..4h security.authentication-types=wpa2-psk,wpa3-psk security.encryption=ccmp security.group-encryption=ccmp security.management-protection=allowed security.passphrase="Pass66word!" security.wps=disable

/ppp profile
add name=profile-l2tp-branch use-encryption=required only-one=yes change-tcp-mss=yes use-ipv6=no

/ppp secret
add name=branch-l2tp password="L2TP-Br4nch-2026!" service=l2tp profile=profile-l2tp-branch local-address=172.31.10.1 remote-address=172.31.10.2

/interface l2tp-server
add name=l2tp-branch user=branch-l2tp

/interface l2tp-server server
set enabled=yes authentication=mschap2 default-profile=profile-l2tp-branch use-ipsec=required ipsec-secret="IPsec-Br4nch-2026!" one-session-per-host=yes max-sessions=1 allow-fast-path=no accept-proto-version=l2tpv2 accept-pseudowire-type=ppp

/interface bridge
add name=bridge-lan protocol-mode=rstp

/interface bridge port
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=wlan-2GHz
add bridge=bridge-lan interface=wlan-5GHz

/interface list
add name=LAN
add name=WAN

/interface list member
add list=LAN interface=bridge-lan
add list=LAN interface=l2tp-branch
add list=WAN interface=ether1-wan1
add list=WAN interface=ether2-wan2

/interface wifi access-list
add action=accept mac-address=3C:7C:3F:F5:7F:6E
add action=accept mac-address=60:32:B1:B9:65:B7
add action=reject

/interface wifi
set [find where name=wlan-2GHz] disabled=no
set [find where name=wlan-5GHz] disabled=no

/ip address
add address=10.0.1.2/24 interface=ether1-wan1 network=10.0.1.0
add address=192.168.100.1/24 interface=bridge-lan network=192.168.100.0

/ip dhcp-client
add interface=ether2-wan2 add-default-route=yes default-route-distance=2 check-gateway=ping use-peer-dns=no use-peer-ntp=no disabled=no

/ip route
add dst-address=0.0.0.0/0 gateway=10.0.1.1 distance=1 check-gateway=ping comment="Primary default route"
add dst-address=192.168.200.0/24 gateway=l2tp-branch distance=1 comment="Branch office route"

/ip pool
add name=pool-lan ranges=192.168.100.101-192.168.100.150

/ip dhcp-server
add name=dhcp-lan interface=bridge-lan address-pool=pool-lan lease-time=1d authoritative=yes disabled=yes

/ip dhcp-server network
add address=192.168.100.0/24 gateway=192.168.100.1 dns-server=192.168.100.1 domain=int

/ip dhcp-server lease
add server=dhcp-lan address=192.168.100.101 mac-address=3C:7C:3F:F5:7F:6E lease-time=1d
add server=dhcp-lan address=192.168.100.102 mac-address=60:32:B1:B9:65:B7 lease-time=1d

/ip dhcp-server
set [find where name=dhcp-lan] disabled=no

/ip dns
set allow-remote-requests=yes servers=77.88.8.1,77.88.8.8 use-doh-server="" verify-doh-cert=no

/ip firewall address-list
add list=white-list address=203.0.113.10
add list=white-list address=203.0.113.26
add list=white-list address=198.51.100.19
add list=staff-no-social address=192.168.100.101
add list=staff-no-social address=192.168.100.102
add list=social-networks address=ok.ru
add list=social-networks address=vk.com

/ip firewall nat
add chain=dstnat in-interface-list=LAN protocol=udp dst-port=53 action=redirect to-ports=53 comment="Force LAN UDP DNS through router"
add chain=dstnat in-interface-list=WAN protocol=tcp dst-port=443 action=dst-nat to-addresses=192.168.100.11 to-ports=443 comment="Publish web server 1"
add chain=dstnat in-interface-list=WAN protocol=tcp dst-port=600 action=dst-nat to-addresses=192.168.100.12 to-ports=443 comment="Publish web server 2"
add chain=srcnat out-interface-list=WAN action=masquerade comment="Internet source NAT"

/ip firewall filter
add chain=input connection-state=established,related,untracked action=accept comment="Accept established and related input"
add chain=input connection-state=invalid action=drop comment="Drop invalid input"
add chain=input protocol=icmp action=accept comment="Allow ICMP input"
add chain=input in-interface=ether2-wan2 protocol=udp src-port=67 dst-port=68 action=accept comment="Allow WAN2 DHCP replies"
add chain=input in-interface-list=LAN protocol=tcp dst-port=53 action=drop comment="Deny TCP DNS from internal networks"
add chain=input in-interface-list=LAN action=accept comment="Allow input from internal networks"
add chain=input in-interface-list=WAN protocol=udp dst-port=500,4500 action=accept comment="Allow IKE and IPsec NAT-T"
add chain=input in-interface-list=WAN protocol=ipsec-esp action=accept comment="Allow IPsec ESP"
add chain=input in-interface-list=WAN protocol=udp dst-port=1701 ipsec-policy=in,ipsec action=accept comment="Allow protected L2TP"
add chain=input in-interface-list=WAN protocol=tcp dst-port=22,8291 src-address-list=white-list action=accept comment="Allow trusted SSH and WinBox"
add chain=input action=drop comment="Drop other input"
add chain=forward src-address-list=staff-no-social dst-address-list=social-networks time=09:00:00-18:00:00,mon,tue,wed,thu,fri action=drop comment="Block social networks during work hours"
add chain=forward in-interface-list=LAN protocol=tcp dst-port=53 action=drop comment="Deny forwarded TCP DNS"
add chain=forward connection-state=established,related,untracked action=accept comment="Accept established and related forwarding"
add chain=forward connection-state=invalid action=drop comment="Drop invalid forwarding"
add chain=forward in-interface-list=LAN action=accept comment="Allow forwarding from internal networks"
add chain=forward in-interface-list=WAN connection-nat-state=dstnat action=accept comment="Allow published servers"
add chain=forward in-interface-list=WAN action=drop comment="Drop new forwarding from Internet"
add chain=forward action=drop comment="Drop other forwarding"

/queue simple
add name=WAN1-QoS target=192.168.100.0/24 dst=ether1-wan1 max-limit=50M/50M queue=default-small/default-small
add name=WAN1-Mango parent=WAN1-QoS target=192.168.100.0/24 dst=81.88.86.0/24 max-limit=10M/10M priority=1/1 queue=default-small/default-small
add name=WAN1-Low parent=WAN1-QoS target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name=WAN1-Other parent=WAN1-QoS target=192.168.100.0/24 max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default
add name=WAN2-QoS target=192.168.100.0/24 dst=ether2-wan2 max-limit=25M/25M queue=default-small/default-small
add name=WAN2-Mango parent=WAN2-QoS target=192.168.100.0/24 dst=81.88.86.0/24 max-limit=10M/10M priority=1/1 queue=default-small/default-small
add name=WAN2-Low parent=WAN2-QoS target=192.168.100.101/32,192.168.100.102/32 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name=WAN2-Other parent=WAN2-QoS target=192.168.100.0/24 max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default

/tool graphing
set store-every=5min page-refresh=300

/tool graphing queue
add simple-queue=all allow-address=192.168.100.0/24 allow-target=no store-on-disk=no

/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

/ip service
set [find where name=telnet] disabled=yes
set [find where name=ftp] disabled=yes
set [find where name=api] disabled=yes
set [find where name=api-ssl] disabled=yes
set [find where name=www-ssl] disabled=yes
set [find where name=www] disabled=no port=80 address=192.168.100.0/24,192.168.200.0/24
set [find where name=ssh] disabled=no port=22 address=192.168.100.0/24,192.168.200.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32
set [find where name=winbox] disabled=no port=8291 address=192.168.100.0/24,192.168.200.0/24,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32

/ip service webserver
set index-plain=yes webfig-plain=yes graphs-plain=yes rest-plain=no crl-plain=no scep-plain=no acme-plain=no index-secure=no webfig-secure=no graphs-secure=no rest-secure=no

/ip ssh
set strong-crypto=yes forwarding-enabled=no password-authentication=yes

/system ntp client
set enabled=yes mode=unicast vrf=main

/system ntp client servers
add address=ru.pool.ntp.org iburst=yes

/system ntp server
set enabled=no broadcast=no multicast=no manycast=no

/user group
add name=support-l1 policy=web,reboot,read,test
add name=support-l2 policy=local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,api,rest-api,romon
add name=support-l3 policy=local,telnet,ssh,reboot,read,write,test,winbox,password,web,sniff,sensitive,api,rest-api,romon

/user
set [find where name=admin] name=gw-admin group=full password="GW-Adm1n-2026!"
add name=support-l1 group=support-l1 password="GW-L1-Web-2026!"
add name=support-l2 group=support-l2 password="GW-L2-Read-2026!"
add name=support-l3 group=support-l3 password="GW-L3-Write-2026!"

/user settings
set minimum-password-length=12 minimum-categories=4

Попытка 9

Результат проверки

Количество грубых ошибок: 13 .

Количество некритичных ошибок 7: .

Интерфейсы и IP-адресация

Ошибок нет.

Списки интерфейсов и адресов

Ошибок нет.

Безопасность

  1. Неверно выбран тип NAT для 1-го Интернет-канала, использован masquerade вместо src-nat (Некритичная ошибка):
    add chain=srcnat action=masquerade out-interface-list=WAN
  2. В настройках заданы минимальные требования к паролю пользователя, что не требовалось в ТЗ (Грубая ошибка):
    /user settings set minimum-password-length=14 minimum-categories=4
  3. Пользователь первой линии техподдержки не сможет пользоваться терминалом в Webfig (Грубая ошибка):
    add name=support-line1 policy=reboot,read,test,web
  4. Доступ к системным службам ограничен через /ip service а не /ip firewall filter (Некритичная ошибка)
  5. Изменены настройки set strong-crypto=yes в /ip ssh, что не указано в ТЗ (Грубая ошибка)

Объединение офисов с помощью VPN

  1. Разрешено иметь только одну активную сессию, что не требовалось в ТЗ (Грубая ошибка).
  2. Изменены настройки accept-proto-version=l2tpv2 и accept-pseudowire-type=ppp в /interface l2tp-server server, что не требовалось в ТЗ (Грубая ошибка).

Приоритизация трафика

  1. Для некоторых видов трафика использованы очереди типа pсq-upload-default и pcq-download-default (Грубая ошибка)
  2. Значение параметра max-limit для разных Интернет-каналов должно быть реализовано с помощью двух разных правил, а в конфигурации оно изменяется с помощью скрипта, который запускается с определенной периодичностью за счет /tool netwatch. Грубая ошибка.

Беспроводная сеть

  1. Использование deskip-dfs-channels=disabled не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).

Прочее

  1. Добавлен мониторинг через /tool graphing, что не было задано в ТЗ (Грубая ошибка).
  2. В настройке bridge-интерфейса используется protocol-mode=rstp, что не имеет смысла, так как является конфигурацией по умолчанию (Некритичная ошибка).
  3. Добавлены настройки в /ip service webserver, что не было задано в ТЗ (Грубая ошибка).
  4. Изменены настройки /ip cloud, что не было задано в ТЗ (Грубая ошибка). Значение параметра no для ddns-enabled не существует. Грубая ошибка
  5. Скин для первой линии техподдержки не задан (Грубая ошибка).
  6. Не существует раздел настроек, что относится к /tool graphing queues queue. (Грубая ошибка).
  7. DHCP-сервер в одном разделе конфигурации создается выключенным а затем включается отдельной командой. (Некритичная ошибка).
  8. DHCP-клиент в одном разделе конфигурации создается выключенным а затем включается отдельной командой. (Некритичная ошибка).
  9. L2TP-сервер в одном разделе конфигурации создается выключенным а затем включается отдельной командой. (Некритичная ошибка).

Конфигурация

/system identity
set name=GW

/system clock
set time-zone-autodetect=no time-zone-name=Europe/Moscow

/user
set [find where name=admin] name=router-admin group=full password="GW-Admin-7vQ9!xK2"

/user settings
set minimum-password-length=12 minimum-categories=4

/user group
add name=support-line1 policy=reboot,read,test,web skin=default
add name=support-line2 policy=local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,api,romon,rest-api skin=default
add name=support-line3 policy=local,telnet,ssh,reboot,read,write,test,winbox,password,web,sniff,sensitive,api,romon,rest-api skin=default

/user
add name=support1 group=support-line1 password="GW-TP1-4mZ8!pR6"
add name=support2 group=support-line2 password="GW-TP2-6nK3!sV9"
add name=support3 group=support-line3 password="GW-TP3-8qH5!dL2"

/interface ethernet
set [find where default-name=ether1] name=ether1-wan1
set [find where default-name=ether2] name=ether2-wan2

/interface wifi
set [find where default-name=wifi1] name=wlan-5GHz disabled=yes configuration.mode=ap configuration.ssid=GW-5 configuration.country=Superchannel configuration.tx-power=18 channel.band=5ghz-ax channel.frequency=5180-5240:20,5260-5320:20,5660-5720:20,5745-5825:20 channel.width=20/40mhz channel.reselect-interval=2h..4h channel.skip-dfs-channels=disabled security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable
set [find where default-name=wifi2] name=wlan-2GHz disabled=yes configuration.mode=ap configuration.ssid=GW-2 configuration.country=Superchannel configuration.tx-power=16 channel.band=2ghz-ax channel.frequency=2412-2472:5 channel.width=20mhz channel.reselect-interval=2h..4h security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable

/interface wifi access-list
add action=accept interface=any mac-address=3C:7C:3F:F5:7F:6E comment="Allowed wireless client 1"
add action=accept interface=any mac-address=60:32:B1:B9:65:B7 comment="Allowed wireless client 2"
add action=reject interface=any comment="Reject all other wireless clients"

/interface bridge
add name=bridge-lan protocol-mode=rstp comment="LAN bridge"

/interface bridge port
add bridge=bridge-lan interface=ether3 comment="LAN port ether3"
add bridge=bridge-lan interface=ether4 comment="LAN port ether4"
add bridge=bridge-lan interface=ether5 comment="LAN port ether5"
add bridge=bridge-lan interface=wlan-2GHz comment="LAN WiFi 2.4 GHz"
add bridge=bridge-lan interface=wlan-5GHz comment="LAN WiFi 5 GHz"

/interface list
add name=LAN comment="Internal interfaces"
add name=WAN comment="Internet interfaces"

/interface list member
add list=LAN interface=bridge-lan comment="LAN bridge"
add list=WAN interface=ether1-wan1 comment="Primary WAN"
add list=WAN interface=ether2-wan2 comment="Secondary WAN"

/ppp profile
add name=l2tp-branch-profile local-address=172.31.10.1 remote-address=172.31.10.2 use-encryption=required only-one=yes change-tcp-mss=yes comment="Branch L2TP profile"

/ppp secret
add name=branch-office password="L2TP-Branch-9wK4!mQ7" service=l2tp profile=l2tp-branch-profile comment="Branch L2TP account"

/interface l2tp-server
add name=l2tp-branch user=branch-office comment="Static branch L2TP interface"

/interface list member
add list=LAN interface=l2tp-branch comment="Branch VPN"

/interface l2tp-server server
set enabled=no default-profile=l2tp-branch-profile authentication=mschap2 use-ipsec=required ipsec-secret="IPsec-GW-7rN5!xT3" max-mtu=1450 max-mru=1450 max-sessions=1 one-session-per-host=yes accept-proto-version=l2tpv2 accept-pseudowire-type=ppp allow-fast-path=no

/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

/ip service
set [find where name=telnet] disabled=yes
set [find where name=ftp] disabled=yes
set [find where name=api] disabled=yes
set [find where name=api-ssl] disabled=yes
set [find where name=www-ssl] disabled=yes
set [find where name=www] disabled=no address=192.168.100.0/24,192.168.200.0/24,172.31.10.2/32
set [find where name=ssh] disabled=no address=192.168.100.0/24,192.168.200.0/24,172.31.10.2/32,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32
set [find where name=winbox] disabled=no address=192.168.100.0/24,192.168.200.0/24,172.31.10.2/32,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32

/ip service webserver
set index-plain=yes webfig-plain=yes graphs-plain=yes rest-plain=no crl-plain=no scep-plain=no acme-plain=no index-secure=no webfig-secure=no graphs-secure=no rest-secure=no

/ip ssh
set strong-crypto=yes forwarding-enabled=no

/ip dns
set servers=77.88.8.1,77.88.8.8 allow-remote-requests=yes

/ip cloud
set update-time=no

/ip firewall address-list
add list=white-list address=203.0.113.10 comment="Trusted management address 1"
add list=white-list address=203.0.113.26 comment="Trusted management address 2"
add list=white-list address=198.51.100.19 comment="Trusted management address 3"
add list=staff-no-social address=192.168.100.101 comment="Restricted staff device 1"
add list=staff-no-social address=192.168.100.102 comment="Restricted staff device 2"
add list=social-networks address=ok.ru comment="OK root domain"
add list=social-networks address=www.ok.ru comment="OK www domain"
add list=social-networks address=m.ok.ru comment="OK mobile domain"
add list=social-networks address=vk.com comment="VK root domain"
add list=social-networks address=www.vk.com comment="VK www domain"
add list=social-networks address=m.vk.com comment="VK mobile domain"

/ip firewall filter
add chain=input action=accept connection-state=established,related comment="Accept established and related input"
add chain=input action=drop connection-state=invalid comment="Drop invalid input"
add chain=input action=accept dst-address=127.0.0.1 comment="Accept local loopback"
add chain=input action=drop in-interface-list=LAN protocol=tcp dst-port=53 comment="Block TCP DNS from internal networks"
add chain=input action=accept in-interface-list=LAN comment="Accept input from internal networks"
add chain=input action=accept in-interface-list=WAN protocol=icmp comment="Accept ICMP from Internet"
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=500,4500 comment="Accept IKE and IPsec NAT-T"
add chain=input action=accept in-interface-list=WAN protocol=ipsec-esp comment="Accept IPsec ESP"
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=1701 ipsec-policy=in,ipsec comment="Accept IPsec-protected L2TP"
add chain=input action=accept in-interface-list=WAN protocol=tcp dst-port=22,8291 src-address-list=white-list comment="Accept SSH and WinBox from trusted Internet addresses"
add chain=input action=drop comment="Drop all other input"
add chain=forward action=drop in-interface=bridge-lan out-interface-list=WAN src-address-list=staff-no-social dst-address-list=social-networks time=09:00:00-18:00:00,mon,tue,wed,thu,fri comment="Block social networks for restricted staff"
add chain=forward action=drop in-interface-list=LAN protocol=tcp dst-port=53 comment="Block forwarded TCP DNS from internal networks"
add chain=forward action=accept connection-state=established,related comment="Accept established and related forwarding"
add chain=forward action=drop connection-state=invalid comment="Drop invalid forwarding"
add chain=forward action=accept connection-nat-state=dstnat comment="Accept destination NAT forwarding"
add chain=forward action=accept in-interface-list=LAN comment="Accept forwarding from internal networks"
add chain=forward action=drop comment="Drop all other forwarding"

/ip firewall nat
add chain=dstnat action=redirect in-interface-list=LAN protocol=udp dst-port=53 to-ports=53 comment="Force internal UDP DNS through router"
add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=443 to-addresses=192.168.100.11 to-ports=443 comment="Publish web server 1"
add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=600 to-addresses=192.168.100.12 to-ports=443 comment="Publish web server 2"
add chain=srcnat action=masquerade out-interface-list=WAN comment="Internet source NAT"

/ip address
add address=10.0.1.2/24 interface=ether1-wan1 comment="Primary WAN address"
add address=192.168.100.1/24 interface=bridge-lan comment="LAN gateway address"

/ip route
add dst-address=0.0.0.0/0 gateway=10.0.1.1 distance=1 check-gateway=ping comment="Primary default route"
add dst-address=192.168.200.0/24 gateway=l2tp-branch distance=1 comment="Branch network route"

/ip dhcp-client
add interface=ether2-wan2 add-default-route=yes default-route-distance=2 check-gateway=ping use-peer-dns=no use-peer-ntp=no disabled=yes comment="Secondary WAN DHCP client"

/ip pool
add name=dhcp-pool-lan ranges=192.168.100.101-192.168.100.150 comment="LAN DHCP pool"

/ip dhcp-server
add name=dhcp-lan interface=bridge-lan address-pool=dhcp-pool-lan lease-time=1d disabled=yes comment="LAN DHCP server"

/ip dhcp-server network
add address=192.168.100.0/24 gateway=192.168.100.1 dns-server=192.168.100.1 domain=int comment="LAN DHCP options"

/ip dhcp-server lease
add server=dhcp-lan address=192.168.100.101 mac-address=3C:7C:3F:F5:7F:6E comment="Reserved address for wireless client 1"
add server=dhcp-lan address=192.168.100.102 mac-address=60:32:B1:B9:65:B7 comment="Reserved address for wireless client 2"

/system ntp client
set enabled=no mode=unicast

/system ntp client servers
add address=ru.pool.ntp.org iburst=yes

/queue simple
add name=q-vpn-bypass target=192.168.100.0/24 dst=192.168.200.0/24 max-limit=0/0 comment="Exclude branch traffic from Internet QoS"
add name=q-internet-total target=192.168.100.0/24 max-limit=50M/50M comment="Active Internet channel aggregate"
add name=q-mango-office target=192.168.100.0/24 dst=81.88.86.0/24 parent=q-internet-total limit-at=10M/10M max-limit=10M/10M priority=1/1 comment="Mango Office highest priority"
add name=q-staff-low target=192.168.100.101/32,192.168.100.102/32 parent=q-internet-total limit-at=5M/5M max-limit=50M/50M priority=8/8 comment="Restricted devices lowest priority"
add name=q-other target=192.168.100.0/24 parent=q-internet-total max-limit=50M/50M priority=4/4 comment="Other devices normal priority"

/tool graphing
set store-every=5min

/tool graphing queues queue
add simple-queue=q-internet-total allow-address=192.168.100.0/24 store-on-disk=yes allow-target=no
add simple-queue=q-mango-office allow-address=192.168.100.0/24 store-on-disk=yes allow-target=no
add simple-queue=q-staff-low allow-address=192.168.100.0/24 store-on-disk=yes allow-target=no
add simple-queue=q-other allow-address=192.168.100.0/24 store-on-disk=yes allow-target=no

/tool netwatch
add name=wan1-qos-state host=10.0.1.1 type=simple src-address=10.0.1.2 interval=10s timeout=2s start-delay=10s startup-delay=20s up-script="/queue simple set [find where name=q-internet-total] max-limit=50M/50M; /queue simple set [find where name=q-staff-low] max-limit=50M/50M; /queue simple set [find where name=q-other] max-limit=50M/50M" down-script="/queue simple set [find where name=q-internet-total] max-limit=25M/25M; /queue simple set [find where name=q-staff-low] max-limit=25M/25M; /queue simple set [find where name=q-other] max-limit=25M/25M" comment="Adjust QoS to active WAN speed"

/interface l2tp-server server
set enabled=yes

/ip dhcp-server
set [find where name=dhcp-lan] disabled=no

/ip dhcp-client
set [find where interface=ether2-wan2] disabled=no

/system ntp client
set enabled=yes

/interface wifi
set [find where name=wlan-2GHz] disabled=no
set [find where name=wlan-5GHz] disabled=no

Попытка 10

Результат проверки

Количество грубых ошибок: 9 .

Количество некритичных ошибок 7: .

Интерфейсы и IP-адресация

Ошибок нет.

Списки интерфейсов и адресов

Ошибок нет.

Безопасность

  1. Неверно выбран тип NAT для 1-го Интернет-канала, использован masquerade вместо src-nat (Некритичная ошибка):
    add chain=srcnat action=masquerade out-interface-list=WAN
  2. Пользователь первой линии техподдержки не сможет пользоваться терминалом в Webfig (Грубая ошибка):
    add name=tp-line1 policy=reboot,read,test,web
  3. Доступ к системным службам ограничен через /ip service а не /ip firewall filter (Некритичная ошибка)

Объединение офисов с помощью VPN

  1. С одной учетной записи разрешено иметь только одну сессию, что не требовалось в ТЗ (Грубая ошибка).
  2. Изменены настройки accept-proto-version=l2tpv2 и accept-pseudowire-type=ppp в /interface l2tp-server server, что не требовалось в ТЗ (Грубая ошибка).

Приоритизация трафика

  1. Для некоторых видов трафика использованы очереди типа pсq-upload-default и pcq-download-default (Грубая ошибка)

Беспроводная сеть

  1. Использование deskip-dfs-channels=disabled не имеет смысла, т.к. это значение по умолчанию (Некритичная ошибка).

Прочее

  1. Добавлен мониторинг через /tool graphing, что не было задано в ТЗ (Грубая ошибка).
  2. В настройке bridge-интерфейса используется protocol-mode=rstp, что не имеет смысла, так как является конфигурацией по умолчанию (Некритичная ошибка).
  3. Добавлены настройки в /ip service webserver, что не было задано в ТЗ (Грубая ошибка).
  4. Изменены настройки /ip cloud, что не было задано в ТЗ (Грубая ошибка). Значение параметра no для ddns-enabled не существует. Грубая ошибка
  5. Скин для первой линии техподдержки не задан (Грубая ошибка).
  6. DHCP-сервер в одном разделе конфигурации создается выключенным а затем включается отдельной командой. (Некритичная ошибка).
  7. L2TP-сервер в одном разделе конфигурации создается выключенным а затем включается отдельной командой. (Некритичная ошибка).
  8. use-doh-server="" является параметром по умолчанию в /ip dns (Некритичная ошибка).

Конфигурация

/system identity
set name=GW

/system clock
set time-zone-autodetect=no time-zone-name=Europe/Moscow

/interface ethernet
set [find default-name=ether1] name=ether1-wan1
set [find default-name=ether2] name=ether2-wan2

/interface wifi
set [find default-name=wifi1] name=wlan-5GHz disabled=yes configuration.mode=ap configuration.ssid=GW-5 configuration.country=Superchannel configuration.tx-power=18 channel.band=5ghz-ax channel.frequency=5180-5240:20,5260-5320:20,5660-5720:20,5745-5825:20 channel.width=20/40mhz channel.reselect-interval=2h..4h security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable
set [find default-name=wifi2] name=wlan-2GHz disabled=yes configuration.mode=ap configuration.ssid=GW-2 configuration.country=Superchannel configuration.tx-power=16 channel.band=2ghz-ax channel.frequency=2412-2472:5 channel.width=20mhz channel.reselect-interval=2h..4h security.authentication-types=wpa2-psk,wpa3-psk security.passphrase="Pass66word!" security.wps=disable

/interface wifi access-list
add action=accept mac-address=3C:7C:3F:F5:7F:6E
add action=accept mac-address=60:32:B1:B9:65:B7
add action=reject

/interface bridge
add name=bridge-lan protocol-mode=rstp

/interface bridge port
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=wlan-2GHz
add bridge=bridge-lan interface=wlan-5GHz

/interface list
add name=LAN
add name=WAN

/interface list member
add interface=bridge-lan list=LAN
add interface=ether1-wan1 list=WAN
add interface=ether2-wan2 list=WAN

/ppp profile
add name=profile-l2tp-branch local-address=172.31.10.1 remote-address=172.31.10.2 use-encryption=required only-one=yes change-tcp-mss=yes

/ppp secret
add name=branch password="L2TP-Branch!7nQ4vP2" service=l2tp profile=profile-l2tp-branch

/interface l2tp-server
add name=l2tp-branch user=branch

/interface list member
add interface=l2tp-branch list=LAN

/interface l2tp-server server
set enabled=no authentication=mschap2 default-profile=profile-l2tp-branch use-ipsec=required ipsec-secret="IPsec-HQ!9xT6kR3" one-session-per-host=yes allow-fast-path=no accept-pseudowire-type=ppp accept-proto-version=l2tpv2

/user group
add name=tp-line1 policy=reboot,read,test,web skin=default
add name=tp-line2 policy=local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,api,romon,rest-api skin=default
add name=tp-line3 policy=local,telnet,ssh,reboot,read,write,test,winbox,password,web,sniff,sensitive,api,romon,rest-api skin=default

/user
add name=tp1 group=tp-line1 password="TP1-Web!9mQ4zR7"
add name=tp2 group=tp-line2 password="TP2-Read!6vN8xS3"
add name=tp3 group=tp-line3 password="TP3-Write!7kP5wT9"
set [find name=admin] group=full password="Adm-GW7!K8r4Q2m"

/ip service
set [find name=telnet] disabled=yes
set [find name=ftp] disabled=yes
set [find name=api] disabled=yes
set [find name=api-ssl] disabled=yes
set [find name=www] disabled=no address=192.168.100.0/24,192.168.200.0/24,172.31.10.0/30
set [find name=www-ssl] disabled=yes
set [find name=ssh] disabled=no address=192.168.100.0/24,192.168.200.0/24,172.31.10.0/30,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32
set [find name=winbox] disabled=no address=192.168.100.0/24,192.168.200.0/24,172.31.10.0/30,203.0.113.10/32,203.0.113.26/32,198.51.100.19/32

/ip service webserver
set index-plain=yes webfig-plain=yes graphs-plain=yes rest-plain=no crl-plain=no scep-plain=no acme-plain=no index-secure=no webfig-secure=no graphs-secure=no rest-secure=no

/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

/ip dns
set servers=77.88.8.1,77.88.8.8 use-doh-server="" verify-doh-cert=no allow-remote-requests=yes

/system ntp client
set enabled=yes mode=unicast

/system ntp client servers
add address=ru.pool.ntp.org

/ip cloud
set ddns-enabled=no update-time=no

/ip firewall address-list
add list=white-list address=203.0.113.10
add list=white-list address=203.0.113.26
add list=white-list address=198.51.100.19
add list=staff-no-social address=192.168.100.101
add list=staff-no-social address=192.168.100.102
add list=social-networks address=ok.ru
add list=social-networks address=www.ok.ru
add list=social-networks address=vk.com
add list=social-networks address=www.vk.com

/ip firewall filter
add chain=input action=accept connection-state=established,related
add chain=input action=drop connection-state=invalid
add chain=input action=accept protocol=icmp
add chain=input action=accept in-interface-list=LAN
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=500,4500
add chain=input action=accept in-interface-list=WAN protocol=ipsec-esp
add chain=input action=accept in-interface-list=WAN protocol=udp dst-port=1701 ipsec-policy=in,ipsec
add chain=input action=accept in-interface-list=WAN protocol=tcp dst-port=22,8291 src-address-list=white-list
add chain=input action=drop
add chain=forward action=drop src-address-list=staff-no-social dst-address-list=social-networks time=9h-18h,mon,tue,wed,thu,fri
add chain=forward action=accept connection-state=established,related
add chain=forward action=drop connection-state=invalid
add chain=forward action=accept in-interface-list=LAN out-interface-list=LAN
add chain=forward action=accept in-interface-list=WAN connection-nat-state=dstnat
add chain=forward action=accept in-interface-list=LAN out-interface-list=WAN
add chain=forward action=drop

/ip firewall nat
add chain=dstnat action=redirect in-interface-list=LAN protocol=udp dst-port=53 to-ports=53
add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=443 to-addresses=192.168.100.11 to-ports=443
add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=600 to-addresses=192.168.100.12 to-ports=443
add chain=srcnat action=masquerade out-interface-list=WAN ipsec-policy=out,none

/queue simple
add name=q-wan1-root target=192.168.100.0/24 dst=ether1-wan1 max-limit=50M/50M
add name=q-wan1-mango parent=q-wan1-root target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
add name=q-wan1-staff-low parent=q-wan1-root target=192.168.100.101/32,192.168.100.102/32 dst=ether1-wan1 limit-at=5M/5M max-limit=50M/50M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name=q-wan1-other parent=q-wan1-root target=192.168.100.0/24 dst=ether1-wan1 limit-at=35M/35M max-limit=50M/50M priority=4/4 queue=pcq-upload-default/pcq-download-default
add name=q-wan2-root target=192.168.100.0/24 dst=ether2-wan2 max-limit=25M/25M
add name=q-wan2-mango parent=q-wan2-root target=192.168.100.0/24 dst=81.88.86.0/24 limit-at=10M/10M max-limit=10M/10M priority=1/1 queue=pcq-upload-default/pcq-download-default
add name=q-wan2-staff-low parent=q-wan2-root target=192.168.100.101/32,192.168.100.102/32 dst=ether2-wan2 limit-at=5M/5M max-limit=25M/25M priority=8/8 queue=pcq-upload-default/pcq-download-default
add name=q-wan2-other parent=q-wan2-root target=192.168.100.0/24 dst=ether2-wan2 limit-at=10M/10M max-limit=25M/25M priority=4/4 queue=pcq-upload-default/pcq-download-default

/tool graphing queue
add allow-address=192.168.100.0/24 allow-target=no simple-queue=all store-on-disk=no

/ip pool
add name=pool-lan ranges=192.168.100.101-192.168.100.150

/ip dhcp-server
add name=dhcp-lan interface=bridge-lan address-pool=pool-lan lease-time=1d authoritative=yes disabled=yes

/ip dhcp-server network
add address=192.168.100.0/24 gateway=192.168.100.1 dns-server=192.168.100.1 domain=int

/ip dhcp-server lease
add address=192.168.100.101 mac-address=3C:7C:3F:F5:7F:6E server=dhcp-lan
add address=192.168.100.102 mac-address=60:32:B1:B9:65:B7 server=dhcp-lan

/ip address
add address=10.0.1.2/24 interface=ether1-wan1
add address=192.168.100.1/24 interface=bridge-lan

/ip route
add dst-address=0.0.0.0/0 gateway=10.0.1.1 distance=1 check-gateway=ping
add dst-address=192.168.200.0/24 gateway=l2tp-branch distance=1

/ip dhcp-client
add interface=ether2-wan2 add-default-route=yes default-route-distance=2 check-gateway=ping use-peer-dns=no use-peer-ntp=no disabled=no

/ip dhcp-server
set [find name=dhcp-lan] disabled=no

/interface l2tp-server server
set enabled=yes

/interface wifi
set [find name=wlan-5GHz] disabled=no
set [find name=wlan-2GHz] disabled=no


Мы собираем файлы куки для анализа пользовательской активности и улучшения качества сайта с помощью сервиса Я.Метрика. Продолжая использовать сайт, вы с этим соглашаетесь.