Инфраструктура / MikroTik
DHCP
Сервер, клиент и аренды
Как устроен адрес в этой схеме
Маршрутизатор раздаёт адреса только внутрь моста. Внешний порт остаётся клиентом провайдера. Если повесить DHCP-сервер на ether1, офис начнёт отвечать на чужие Discover в сети провайдера — так делать нельзя.
/ip address add address=192.168.88.1/24 interface=bridge comment="lan gateway"
/ip pool add name=pool-lan ranges=192.168.88.10-192.168.88.254
/ip dhcp-server add name=dhcp-lan interface=bridge address-pool=pool-lan lease-time=10h disabled=no
/ip dhcp-server network add address=192.168.88.0/24 gateway=192.168.88.1 \
dns-server=192.168.88.1,1.1.1.1 domain=office.lan ntp-server=192.168.88.1
lease-time=10h достаточно для рабочего дня и ноутбуков, которые уносят домой: утром клиент спокойно продлевает аренду. Для цеха с текучкой адресов ставьте 1h–2h, иначе пул забивается «мёртвыми» арендами.
Сам маршрутизатор как DNS
Клиентам в опции DHCP указан 192.168.88.1. Значит, на RouterOS должен быть включён рекурсивный резолвер, но только для своих.
/ip dns set allow-remote-requests=yes servers=1.1.1.1,8.8.8.8
/ip firewall filter add chain=input action=accept protocol=udp dst-port=53 in-interface=bridge
/ip firewall filter add chain=input action=accept protocol=tcp dst-port=53 in-interface=bridge
/ip firewall filter add chain=input action=drop protocol=udp dst-port=53 in-interface=ether1
/ip firewall filter add chain=input action=drop protocol=tcp dst-port=53 in-interface=ether1
Порядок правил важен. Разрешение для моста должно стоять выше общего drop на input, если такой drop уже есть в конце цепочки.
Постоянные аренды
Принтеру, камере и точке на PoE адрес лучше зафиксировать по MAC, а не надеяться, что динамическая аренда «и так не изменится».
/ip dhcp-server lease add address=192.168.88.20 mac-address=AA:BB:CC:11:22:33 \
server=dhcp-lan comment="printer-floor-2"
/ip dhcp-server lease add address=192.168.88.21 mac-address=AA:BB:CC:44:55:66 \
server=dhcp-lan comment="ap-meeting"
Адрес из статической аренды не обязан лежать внутри динамического пула, но обязан попадать в 192.168.88.0/24 и не совпадать с адресом самого моста. .1 занят шлюзом, .2–.9 оставлены под такие записи.
DHCP-клиент на WAN
/ip dhcp-client add interface=ether1 add-default-route=yes use-peer-dns=no \
use-peer-ntp=yes disabled=no comment="isp"
use-peer-dns=no, потому что резолвер выше уже смотрит на 1.1.1.1 и 8.8.8.8. DNS провайдера можно принять, если канал режет сторонние резолверы — тогда уберите эту опцию и не дублируйте серверы вручную.
Проверка: /ip dhcp-client print должен показать статус bound и ненулевой адрес. Маршрут по умолчанию появляется в /ip route print where dst-address=0.0.0.0/0.
Ретранслятор
Если DHCP живёт на другом сервере, а MikroTik только мост между VLAN, сервер на самом роутере не включают. Вместо него — relay на интерфейсе, где клиенты шлют Discover.
/ip dhcp-relay add name=relay-lan interface=bridge dhcp-server=10.16.0.5 \
local-address=192.168.88.1 disabled=no
Одновременно сервер и relay на одном интерфейсе не держат: отвечают оба, клиент берёт случайный адрес.
Чего не делать
- Не включать DHCP-сервер на
ether1. - Не создавать второй сервер на
wifi1, если радио уже входит вbridge. Адрес должен выдавать один сервер — на мосту. - Не ставить
gatewayравным адресу провайдера. Для сети 192.168.88.0/24 шлюз — 192.168.88.1. - Не оставлять пул 192.168.88.1–192.168.88.254: .1 конфликтует с адресом моста.