fbpx
Перейти к содержимому

Корпоративная сеть на RouterOS и wireguard

Сегодня мы разберем с вами как легко и просто организовать сеть между двумя роутерами под управлением Mikrotik RouterOS.

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

Наша сеть будет состоять из двух роутеров под управлением RouterOS, роутеры будут связаны между собой с помощью Wireguard. После настройки такой связки, все подключенные клиенты к RouterOS 1 будут иметь доступа к ресурсам и клиентам подключенным к RouterOS 2 и наоборот, все клиенты подключенные к RouterOS 2 будут иметь доступ к клиентам и ресурсам подключенным к Router OS 1.

Дополнительно мы настроим маршрутизацию таким образом, чтобы все клиенты подключенные к RouterOS 1 выходили в интернет не через RouterOS 2.

В связи с тем, что последняя, на данный момент, версия routerOS v7.1rc7 не поддерживает маркировку трафика, мы не будем разделять клиентов на тех которые будут выходить в интернет через локальный сервер либо через удаленной. С выходом финальной версии поддержку маркировки трафика исправят и разделение клиентов будет возможно.

Настройка Wireguard

Подробную настойку мы уже разбирали в статье ранее Подробное руководство по настройке и использованию Wireguard в RouteOS советуем вам с ней ознакомиться.

RouterOS 1 настраиваем wireguard сервер

/interface/wireguard add listen-port=13231 name=wireguard

Получаем публичный и приватный ключ wireguard

/interface/wireguard print 

После выполнения команды мы получим следующий вывод

Flags: X - disabled; R - running 
 0  R name="wireguard" mtu=1420 listen-port=13231 
      private-key="QJJOQDLiJihnsZXGgqPTL2Rkduzp8E0JDAv3IPYTaXQ=" 
      public-key="FSIu0oX0VfHjY/sLz5oVUqEqq7QxReybhrWbcUPs/U0=" 

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

RouterOS 2 настраиваем wireguard сервер

Выполняем такие же команды как и на RouterOS 1

/interface/wireguard add listen-port=13231 name=wireguard
/interface/wireguard print
Flags: X - disabled; R - running 
 0  R name="wireguard" mtu=1420 listen-port=13231 
      private-key="+EokeR+ungoZ5/wI884eq15d/MPbRghCWvq8rBbS+2k=" 
      public-key="i9m7MAFvbYZS7hdI/oL4iG7/m46wfaeShYJekdcaxFM=" 

RouterOS 1 настраиваем Peer

Настраиваем Peer подключение к RouterOS 2 выполнив команду в которой в public-key укажем public-key от RouterOS 2, а вместо 91.280.10.10 укажите внешний адрес от RouterOS 2

/interface/wireguard/peers/add allowed-addr
ess=0.0.0.0/0 interface=wireguard public-key="i9m7MAFvbYZS7hdI/oL4iG7/m46wfaeShYJekdcaxFM=" endpoint-address=91.280.10.10 endpoint-port=13231 persistent-keepalive=00:00:10

Назначим IP адрес 10.0.10.2 для интерфейса wireguard. Мы будем использовать подсеть 10.0.10.0/24 для внутренних подключений.

/ip address add address=10.0.10.2/24 interface=wireguard network=10.0.10.0

RouterOS 2 настраиваем Peer

Для того чтобы RouterOS 1 смог подключиться к RouterOS 2 нам необходимо добавить новый Peer. По аналогии с настройкой RouterOS 1 добавляем Peer и в public-key укажем public-key от RouterOS 1, а в allowed-address укажем IP адрес 10.0.10.2 данный IP мы задали в качестве IP интерфейс wireguard на RouterOS 1

/interface/wireguard/peers/add allowed-address=10.0.10.2/32 interface=wireguard public-key="FSIu0oX0VfHjY/sLz5oVUqEqq7QxReybhrWbcUPs/U0=" persistent-keepalive=00:00:10

Назначим IP адрес 10.0.10.1 для wireguard интерфейса.

/ip address add address=10.0.10.1/24 interface=wireguard network=10.0.10.0

Добавляем правило в NAT которое позволит принимать трафик от RouterOS1

/ip/firewall/nat/add chain=srcnat action=masquerade

Настраиваем Route на RouterOS 1

Добавим новый маршрут

ip/route/add dst-address=0.0.0.0/0 gateway=wireguard distance=2
ip/route/add dst-address=91.280.10.10 gateway=192.168.1.1 distance=1

Теперь если вы командой ping попробуете пропинговать сервера, вы увидите, что они доступны и видят друг друга , но если попробуете проверить IP адрес который вам выдается, то будете получать адрес RouterOS 1. Чтобы получать IP адрес RouterOS 2 необходимо повысить значение distance маршрута с шлюзом wireguard и установить его значение равное 1 , а distance у маршрута с шлюзом вашей локальной сети, в нашем примере это 192.168.1.1, установить равное 2.