Дано: MikroTik RouterOS 7.21.4 model = RBD53iG-5HacD2HnD
Сбрасываем Mikrotik до заводских настроек, значения по умолчанию не сохраняем
/system reset-configuration no-defaults=yes skip-backup=yes keep-users=no caps-mode=no
На запрос нажимаем Y
Сбрасывается вся конфигурация вместе с паролем. Проверить можно командой
export. В терминал должна выгрузиться чистая конфигурация с минимумом настроек по умолчанию.
/system identity set name=Mikrotik2
Назовем исходный Mikrotik
Mikrotik1а Mikrotik на "выходе"Mikrotik2
export file=current-settings-mikrotik1-160626
Проверяем, что файл создался
/file print
Файл скрипта есть
Columns: NAME, TYPE, SIZE, LAST-MODIFIED
# NAME TYPE SIZE LAST-MODIFIED
0 current-settings-mikrotik1-160 script 11.5KiB 2026-06-19 11:35:36
626.rsc
/system backup save name=current-settings-190626 dont-encrypt=yes
Появился еще один файл:
Columns: NAME, TYPE, SIZE, LAST-MODIFIED
# NAME TYPE SIZE LAST-MODIFIED
0 current-settings-190626.backup backup 67.2KiB 2026-06-19 11:44:13
1 current-settings-mikrotik1-160626.rsc script 11.5KiB 2026-06-19 11:35:36
Скачать файлы конфигурации из раздела Files на windows машину можно через web интерфейс или winbox. Копирование файлов через ssh в рамках данной статьи рассматриваться не будет.
/system identity set name=Mikrotik1
На данном этапе у нас имеется:**
Исходный Mikrotik1 model = RB750UPr2 RouterOS 7.22
Целевой Mikrotik2 model = RBD53iG-5HacD2HnD RouterOS 7.21.4
Я использовал Notepad++
/interface bridge
add arp=proxy-arp name=bridge-vpn
Создаёт bridge-интерфейс MikroTik с именем bridge-vpn и включает на нём режим Proxy ARP
После применения
proxy-arpMikroTik начинает отвечать на ARP-запросы от имени других IP-адресов, если знает маршрут до них. Иными словами, если на Mikrotik настроено несколько сетей, то устройства в них начинают видеть друг друга без дополнительной маршрутизации.
Блок команд не привязан к имени какого-нибудь интерфейса, можно скопировать в терминал целевого Mikrotik2 и применить
Проверяем:
[admin@Mikrotik2] /interface/bridge> export
# 2026-04-20 07:45:11 by RouterOS 7.21.4
# model = RBD53iG-5HacD2HnD
/interface bridge
add arp=proxy-arp name=bridge-vpn
Мост bridge-vpn создан.
/interface ethernet
set [ find default-name=ether1 ] name=ether1-pppoe-inet
set [ find default-name=ether2 ] name=ether2-pppoe-vpn
set [ find default-name=ether3 ] name=ether3-vpn
set [ find default-name=ether4 ] arp=proxy-arp name=ether4-inet
Скрипт ищет и переименовывает интерфейсы
На ether3-vpn не включен proxy-arp т.к. он включен на бридже bridge-vpn и включать его на интерфейсе, принадлежащи мосту не обязательно
ether5 оставляем для управления Mikrotik, можно назвать его ether5-mgmt
/interface l2tp-client
add comment=tunnel connect-to=195.34.243.*** disabled=no name=l2tp-out-office \
user=l2tp_user
Cкрипт создаёт и сразу включает L2TP-клиент на MikroTik для подключения к удалённому L2TP-серверу
c комментарием tunnel
В целях безопасности скрипт создает клиента l2tp без пароля
Можно подправить команду с паролем, пример:
/interface l2tp-client add name=l2tp-out-office connect-to=195.34.243.*** user=USER password=PASSWORD disabled=no
На удаленном Mikrotik должен быть поднят L2TP сервер
Проверяем:
[admin@Mikrotik2] /interface/l2tp-client> export
# 2026-04-20 09:17:39 by RouterOS 7.21.4
# model = RBD53iG-5HacD2HnD
/interface l2tp-client
add connect-to=195.34.243.*** disabled=no name=l2tp-out-office user=USER
Все ок, интерфейс создался.
/interface pppoe-client
add comment=pppoe-zavod disabled=no interface=ether1-pppoe-inet max-mru=1492 \
max-mtu=1492 name=pppoe-out-inet user=USER
Cкрипт создаёт и сразу включает PPPoE-клиент на MikroTik для подключения к провайдеру через порт ether1-pppoe-inet
Если с паролем, то скрипт должен выглядеть так:
/interface pppoe-client add comment=pppoe-zavod disabled=no interface=ether1-pppoe-inet max-mru=1492 \ max-mtu=1492 name=pppoe-out-inet user=USER password=PASSWORD
USER и PASSWORD PPPoE выдает оператор
Перед подключением по PPPoE можно удостовериться, что на интерфейсе есть AC концентраторы командой:
[vova@Mikrotik1] > /interface pppoe-client scan interface=ether1-pppoe-inet
Ответ должен содержать имя/имена концентраторов
Columns: MAC-ADDRESS, AC-NAME
MAC-ADDRESS AC-NAME
90:17:AC:BE:9A:DC LPTZ-BRAS2
90:17:AC:BE:9A:CC LPTZ-BRAS1
-- [Q quit|D dump|C-z pause]
Если AC нет, то интерфейс PPPoE не поднимется.
/interface pppoe-client
add comment=comment disabled=no interface=ether2-pppoe-vpn name=pppoe-out-vpn user=USER password=PASS
Смотрим, что мы создали:
/interface pppoe-client print
Отлично, клиенты есть:
Flags: X - disabled, I - invalid; R - running
0 ;;; pppoe-zavod
name="pppoe-out-inet" max-mtu=1492 max-mru=1492 mrru=disabled interface=ether1-pppoe-inet user="USER" profile=default keepalive-timeout=10
service-name="" ac-name="" add-default-route=no dial-on-demand=no use-peer-dns=no allow=pap,chap,mschap1,mschap2
1 ;;; comment
name="pppoe-out-vpn" max-mtu=auto max-mru=auto mrru=disabled interface=ether2-pppoe-vpn user="USER" profile=default keepalive-timeout=10
service-name="" ac-name="" add-default-route=no dial-on-demand=no use-peer-dns=no allow=pap,chap,mschap1,mschap2
Важно: маршрутизация
по умолчаниюна клиентах должна быть отключенаadd-default-route=no
/interface eoip
add comment="tunnel to office" mac-address=02:94:32:D3:F1:B1 name=\
eoip-tun-office-40 remote-address=172.16.200.1 tunnel-id=40
add mac-address=02:79:2B:51:F7:E2 name=eoip-tunnel100 remote-address=\
172.16.0.2 tunnel-id=100
EoIP позволяет протянуть L2 Ethernet-сегмент через IP-сеть, то есть сделать так, будто удалённый порт/bridge находится в одной канальной сети с локальным MikroTik. Адрес 172.16.200.1 - это адрес сервера L2TP и появляется только после установки l2tp соединения. Таким образом, EoIP идет поверх L2TP, позволяя иметь статический IP адрес только одному, центральному офису
/interface list
add name=WAN-inet
add name=LAN
add name=VPN
add name=WAN-vpn
/ip pool
add name=dhcp-pool-inet ranges=192.168.8.10-192.168.8.250
add name=l2tp-pool-vpn ranges=10.247.117.249-10.247.117.253
add name=dhcp-pool-vpn ranges=10.247.117.242-10.247.117.248
/ip dhcp-server
add address-pool=dhcp-pool-inet interface=ether4-inet name=dhcp-inet
add address-pool=dhcp-pool-vpn interface=bridge-vpn name=dhcp-vpn
На интерфейсах еще нет IP адресов, поэтому DHCP серверы не будут работать
/ppp profile
add local-address=10.247.117.241 name=profile-l2tp-vpn remote-address=\
l2tp-pool-vpn use-ipv6=no
Настраиваемый Mikrotik является L2TP клиентом, но также он L2TP сервер, который имеет внутренний IP бриджа VPN и отдает IP адреса l2tp клиентам из пула l2tp-pool-vpn. Таким образом, l2tp клиенты получают доступ в сеть VPN и LAN (arp-proxy).
IP адресов на инетфейсах пока нет.
/interface bridge port
add bridge=bridge-vpn interface=ether3-vpn
add bridge=bridge-vpn interface=eoip-tunnel100
/interface l2tp-server server
set authentication=mschap2 enabled=yes use-ipsec=yes
/interface list member
add interface=pppoe-out-inet list=WAN-inet
add interface=ether4-inet list=LAN
add interface=ether3-vpn list=VPN
add interface=ether2-pppoe-vpn list=WAN-vpn
Иными словами распределяем интерфейcы по логическим группам:
pppoe-out-inet -> WAN-inet
ether4-inet -> LAN
ether3-vpn -> VPN
ether2-pppoe-vpn -> WAN-vpn
Списки интерфейсов нужны для удобства в firewall, NAT, mangle и других правилах
/ip address
add address=192.168.8.1/24 comment=lan-inet interface=ether4-inet network=\
192.168.8.0
add address=10.0.0.5/28 comment=tunnel interface=eoip-tun-office-40 network=\
10.0.0.0
add address=10.247.117.241/28 comment=vpn interface=bridge-vpn network=\
10.247.117.240
Проверяем
/ip address print
Адреса назначены:
Columns: ADDRESS, NETWORK, INTERFACE, VRF
# ADDRESS NETWORK INTERFACE VRF
;;; lan-inet
0 192.168.8.1/24 192.168.8.0 ether4-inet main
;;; tunnel
1 10.0.0.5/28 10.0.0.0 eoip-tun-office-40 main
;;; vpn
2 10.247.117.241/28 10.247.117.240 bridge-vpn main
/ip dhcp-server lease
add address=192.168.8.181 client-id=\
ff:ca:53:9:5a:0:2:0:0:ab:11:e3:a9:7f:33:8c:22:5c:d7 comment=comp-machine \
mac-address=9E:46:10:11:C1:12 server=dhcp-inet
add address=192.168.8.138 client-id=\
ff:f6:21:d3:b8:0:2:0:0:ab:11:d7:23:e1:12:35:a8:97:f9 comment=pjsip \
mac-address=BC:24:11:E1:54:82 server=dhcp-inet
/ip dhcp-server network
add address=10.247.117.240/28 gateway=10.247.117.241
add address=192.168.8.0/24 dns-server=192.168.1.1,8.8.8.8,8.8.4.4,1.1.1.1 \
gateway=192.168.8.1
Для примера, клиенты из dhcp-pool-inet получат:
IP: из пула 192.168.8.10-192.168.8.250
Gateway: 192.168.8.1
DNS: 192.168.1.1, 8.8.8.8, 8.8.4.4, 1.1.1.1
/ip dns
set allow-remote-requests=yes servers=8.8.8.8,8.8.4.4,1.1.1.1
Разрешение на внешние запросы к DNS нужно в том случае, если на клиентах. получивших IP, будет указан IP шлюза в качестве DNS сервера
/ip firewall nat
add action=masquerade chain=srcnat out-interface-list=WAN-inet
add action=dst-nat chain=dstnat comment=proxmox dst-port=555 in-interface=\
pppoe-out-inet protocol=tcp to-addresses=192.168.8.2 to-ports=8006
Первое правило в таблице маскирует исходящий трафик через интерфейсы из списка WAN-inet. Иными словами все IP адреса локальной сети на выходе будут иметь один внешний IP адрес (source IP меняется на внешний IP).
/ip firewall service-port
set sip disabled=yes
/ip ipsec profile
set [ find default=yes ] dpd-interval=2m dpd-maximum-failures=5
/ip route
add comment=192.168.8.0/24<-->192.168.101.0/24 disabled=no distance=1 \
dst-address=192.168.101.0/24 gateway=10.0.0.1 pref-src="" routing-table=\
main scope=30 target-scope=10
add comment=192.168.8.0/24<-->192.168.1.0/24 disabled=no distance=1 \
dst-address=192.168.1.0/24 gateway=10.0.0.1 pref-src="" routing-table=\
main scope=30 target-scope=10
add comment=192.168.8.0/24<-->192.168.100.0/24 disabled=no distance=1 \
dst-address=192.168.100.0/24 gateway=10.0.0.1 pref-src="" routing-table=\
main scope=30 target-scope=10
add comment=192.168.8.0/24<-->192.168.4.0/24 disabled=no distance=1 \
dst-address=192.168.4.0/24 gateway=10.0.0.1 pref-src="" routing-table=\
main scope=30 target-scope=10
add comment=192.168.8.0/24<-->192.168.10.0/24 disabled=no distance=1 \
dst-address=192.168.10.0/24 gateway=10.0.0.1 pref-src="" routing-table=\
main scope=30 target-scope=10
add comment="def inet" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=\
pppoe-out-inet routing-table=main scope=30 target-scope=10
add comment=192.168.8.0/24<-->192.168.7.0/24 disabled=no distance=1 \
dst-address=192.168.7.0/24 gateway=10.0.0.1 pref-src="" routing-table=\
main scope=30 target-scope=10
add comment=192.168.8.0/24<-->192.168.1.0/24 disabled=no distance=1 \
dst-address=192.168.3.0/24 gateway=10.0.0.1 pref-src="" routing-table=\
main scope=30 target-scope=10
add comment=vpn disabled=no distance=1 dst-address=10.247.0.0/16 gateway=\
pppoe-out-vpn pref-src=10.247.117.241 routing-table=main scope=30 \
target-scope=10
На примере
add comment=192.168.8.0/24<-->192.168.10.0/24 disabled=no distance=1 \ dst-address=192.168.10.0/24 gateway=10.0.0.1 pref-src="" routing-table=\ main scope=30 target-scope=10видно, что трафик до подсети удаленного офиса 192.168.10.0/24 идет через машрутный IP 10.0.0.1, который присвоен бриджу центрального маршрутизатора, объединяющего все офисы посредством L2 EoIP туннелей поверх L2TP
/ip service
set ftp disabled=yes
set telnet disabled=yes
set ssh port=77
set www disabled=yes
set winbox port=777
set api disabled=yes
set api-ssl disabled=yes
Как пример, эта команда
set ssh port=77меняет порт по умолчанию 22 на 77
/ppp secret
add name=vova profile=profile-l2tp-vpn service=l2tp
add name=gabasov profile=profile-l2tp-vpn service=l2tp
add name=vitalik-home profile=profile-l2tp-vpn service=l2tp
add local-address=172.16.0.1 name=remote-mokrot profile=default-encryption \
remote-address=172.16.0.2 service=l2tp
С паролями команда выглядит так:
add name=gabasov password=PASSWORD profile=profile-l2tp-vpn service=l2tp
Последняя команда добавляет пользователя для агрегации EoIP+L2TP туннеля для мобильного хоста с доступом в VPN
/system clock
set time-zone-name=Europe/Moscow
/system ntp client
set enabled=yes
set enabled=yes
/system ntp client servers
add address=time.google.com
add address=time2.google.com
add address=time3.google.com
add address=time.cloudflare.com
/tool romon
set enabled=yes
Готово.