Mikrotik. RouterOS в облаке как промежуточный маршрутизатор-прокси для офисного маршрутизатора

Материал из Wiki
Перейти к навигации Перейти к поиску

Входные данные

  • Офисный маршрутизатор 192.168.199.1
  • Облачный маршрутизатор на BEGET с одним публичным статическим внешним интерфейсом и внешним IP 1.2.3.4

Необходимо, чтобы при обращении к 1.2.3.4 облачного маршрутизатора, трафик перенаправлялся на офисный маршрутизатор, при этом должны обрабатываться все input, forward, dst-nat офисного маршрутизатора. То есть необходимо чтобы облачный маршрутизатор был ещё одним ISP для офисного маршрутизатора (хотя трафик всё равно будет проходить через наземных ISP).

Настройка

Облачный маршрутизатор

Внешние адреса на внешнем интерфейсе

1.2.3.4 - для всех клиентов, запросы которых будут пробрасываться на офисный маршрутизатор

5.6.7.8 - для vpn-туннеля из офисного маршрутизатора (иначе запросы от обычных клиентов vpn для пользователей будут попадать не на офисный маршрутизатор, как предполагается, а на облачный, что неприемлемо)

/ip address

add address=1.2.3.4 comment="wan1 for all clients" interface=ether1-wan1 network=100.100.1.1

add address=5.6.7.8 comment="for inner vpn tunnel from alef-office" interface=ether1-wan1 network=100.100.1.1

Маршрут по-умолчанию

/ip route

add distance=1 gateway=100.100.1.1

l2tp сервер и l2tp-аккаунт для офисного роутера

/interface l2tp-server server

set enabled=yes

/ppp secret

add local-address=10.224.212.1 name=alef-office password=PassWord profile=default-encryption remote-address=10.224.212.199 service=l2tp

Офисный маршрутизатор

Создаем интерфейс клиент l2tp для подключения к облачному маршрутизатору

/interface l2tp-client

add connect-to=5.6.7.8 disabled=no name=beget-alef-office password=PassWord#1 user=alef-office

Добавляем l2tp интерфейс в интерфейс-лист, в котором находятся все внешние интерфейсы наземных ISP

/interface list member

add interface=beget-alef-office list=-WAN-

src-nat для внешних интерфейсов (уже должен быть настроен для других ISP)

/ip firewall nat

add action=masquerade chain=srcnat comment=NAT_masquerade_wan-all out-interface-list=-WAN-

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

/ip firewall mangle

add action=mark-connection chain=input comment=conn-input-from-BEGET in-interface=beget-alef-office log-prefix="==BEGET" new-connection-mark=conn-input-from-BEGET

add action=mark-connection chain=prerouting comment=conn-input-from-BEGET connection-mark=no-mark in-interface=beget-alef-office new-connection-mark=\

   conn-input-from-BEGET

add action=mark-routing chain=prerouting comment=from-BEGET-route-via-BEGET connection-mark=conn-input-from-BEGET in-interface-list=!-WAN- new-routing-mark=\

   from-BEGET-route-via-BEGET

add action=mark-routing chain=output comment=from-BEGET-route-via-BEGET connection-mark=conn-input-from-BEGET new-routing-mark=from-BEGET-route-via-BEGET

/ip route

add comment=from-BEGET-route-via-BEGET distance=1 gateway=10.224.212.1 routing-mark=from-BEGET-route-via-BEGET

Облачный маршрутизатор

dst-nat на офисный маршрутизатор. src-nat во внешку.

/ip firewall nat

/ip firewall nat

add action=dst-nat chain=dstnat comment="ALL to 192.168.199.1 via L2TP" dst-address=1.2.3.4 in-interface=ether1-wan1 log-prefix="==DST" protocol=tcp \

   to-addresses=10.224.212.199

add action=dst-nat chain=dstnat comment="ALL to 192.168.199.1 via L2TP" dst-address=1.2.3.4 in-interface=ether1-wan1 log-prefix="==DST" protocol=udp \

   to-addresses=10.224.212.199

add action=masquerade chain=srcnat out-interface=ether1-wan1

Готово.

Теперь при обращении на 1.2.3.4 с внешки будем попадать на офисный маршрутизатор. Все input, dst-nat будут обрабатываться на офисном маршрутизаторе.