MikroTik, WireGuard объединение 2 офиса

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
Kranker
Сообщения: 9
Зарегистрирован: 22 дек 2017, 16:40

"Рабочая настройка интерфейса WireGuard, на двух роутерах, для обьединения двух офисов в единую сеть."

Микротики должны быть обновлены до 7 версии. Интерфейсы WireGuard должны быть доступны и настроены на обоих роутерах, чтобы разрешить автоматическую генерацию ключей.

-Команда для выполнения на обоих роутерах:

Код: Выделить всё


/interface wireguard
add listen-port=13232 name=WireGuard1
/interface list member
add interface=WireGuard1 list=LAN
# Или просто добавьте интерфейс WireGuard в список интерфейсов "LAN".
#
/ip firewall filter
add action=accept chain=input comment="allow WireGuard" dst-port=13232 protocol=udp place-before=1
#  Чтобы разрешить удаленным устройствам подключаться к службам RouterOS (например, запрашивать DNS),
#  разрешить подсеть WireGuard во входной цепочке.

***
OFFICE-1 (Lan=192.168.0.0\24 Wan = <inet_ip_OFFICE-1>)
проверяем

Код: Выделить всё

/interface/wireguard print
Flags: X - disabled; R - running 0 R name="WireGuard1" mtu=1420 listen-port=13232 private-key="<private-key_OFFICE-1>"
public-key="<public-key_OFFICE-1>"

OFFICE-2 (Lan=192.168.2.0\24 Wan = <inet_ip_OFFICE-2>)
проверяем

Код: Выделить всё

/interface/wireguard print
Flags: X - disabled; R - running 0 R name="WireGuard1" mtu=1420 listen-port=13232 private-key="<private-key_OFFICE-2>"
public-key="<public-key_OFFICE-2>"

# Конфигурация одноранговых узлов определяет, кто может использовать интерфейс WireGuard и какой трафик можно через него отправлять.
# Чтобы идентифицировать удаленный хост, необходимо указать его открытый ключ вместе со сгенерированным интерфейсом WireGuard.

-Настройка каждого маршрутизатора MikroTik:
ОФИС-1

Код: Выделить всё

/interface/wireguard/peers
add allowed-address=192.168.0.0/24 endpoint-address=<inet_ip_OFFICE-1> endpoint-port=13232 interface=WireGuard1 \
public-key="< public-key _OFFICE-2>"
# Настройте IP-адрес, маршрутизацию и брандмауэр, чтобы разрешить прохождение трафика через туннель.
/ip/address
add address=10.255.255.2/24 interface=WireGuard1
/ip/pool
add address=10.255.255.1-10.255.255.250 name=WireGuard1

/ip/route
add dst-address=192.168.0.0/16 gateway=WireGuard1
/ip/route
add dst-address=10.255.255.0/30 gateway=WireGuard1

/ip/firewall/filter
add action=accept chain=input comment="allow WireGuard" dst-port=13232 protocol=udp 
/ip/firewall/filter
add action=accept chain=forward comment="allow WireGuard1" dst-address=192.168.2.0/24 src-address=192.168.0.0/16
add action=accept chain=forward comment="allow WireGuard1" dst-address=192.168.0.0/16 src-address=192.168.2.0/24
ОФИС-2

Код: Выделить всё

/interface/wireguard/peers
add allowed-address=192.168.2.0/24 endpoint-address=<inet_ip_OFFICE-2> endpoint-port=13232 interface=WireGuard1 \
public-key="<public-key_OFFICE-1>"
# Настройте IP, маршрутизацию и брандмауэр, чтобы разрешить прохождение трафика через туннель.
/ip/address
add address=10.255.255.2/24 interface=WireGuard1
/ip/route
add dst-address=192.168.2.0/24 gateway=WireGuard1
/ip/route
add dst-address=10.255.255.0/30 gateway=WireGuard1

/ip/firewall/filter
add action=accept chain=input comment="allow WireGuard" dst-port=13232 protocol=udp 
/ip/firewall/filter
add action=accept chain=forward comment="allow WireGuard1" dst-address=192.168.0.0/24 src-address=192.168.2.0/24
add action=accept chain=forward comment="allow WireGuard1" dst-address=192.168.2.0/24 src-address=192.168.0.0/24
***
Рекомендации по брандмауэру
Брандмауэр RouterOS по умолчанию блокирует правильное создание туннеля.
Трафик должен быть принят в цепочке "input", прежде чем будут применяться какие-либо правила отбрасывания на обоих микротиках.
Также возможно, что "прямая" цепочка также ограничивает связь между подсетями,
так что такой трафик также должен приниматься перед любыми правилами отбрасывания.
Проверить командой
/interface wireguard print
на каждом маршрутизаторе, чтобы убедиться, что интерфейс WireGuard запущен и работает.

Пользуйтесь на здоровье!


Erik_U
Сообщения: 1780
Зарегистрирован: 09 июл 2014, 12:33

В llowed-address должны быть подсети обоих офисов с дух сторон (на каждой стороне).
WG не пропускает по умолчанию все подсети.

Дальше у вас конфликт адресов и неразбериха..
в офисе 1.

Код: Выделить всё

/ip/address
add address=10.255.255.2/24 interface=WireGuard1
/ip/pool
add address=10.255.255.1-10.255.255.250 name=WireGuard1
/ip/route
add dst-address=192.168.0.0/16 gateway=WireGuard1
/ip/route
add dst-address=10.255.255.0/30 gateway=WireGuard1
в офисе 2

Код: Выделить всё

add address=10.255.255.2/24 interface=WireGuard1
/ip/route
add dst-address=192.168.2.0/24 gateway=WireGuard1
/ip/route
add dst-address=10.255.255.0/30 gateway=WireGuard1
Адрес на WG соединение с двух сторон повесили один и тот же - 10.255.255.2/24.
В офисе 1 зачем то создали пул, в который включили назначенный адрес интерфейса WG.
Зачем вам этот пул?
Что за маршрут в сеть 192.168.0.0/16? Если у вас в офисах сети 192.168.0.0/24 и 192.168.2.0/24?
И что за маршрут в подсеть 10.255.255.0/30? Если адреса из этой подсети принадлежат другой - 10.255.255.0/24, из которой назначен конфликт адресов интерфейсам WG?

P.S. Тему из раздела "Готовые скрипты Mikrotik" лучше пока перенести в дугой.
Это не скрипт, а конфигурация. и она еще не вполне готова.


Kranker
Сообщения: 9
Зарегистрирован: 22 дек 2017, 16:40

вроде работает? благодарю за поправки.
Но пришло время тонкой настройки.
Как ограничить трафик только на определенные порты, например "Разрешены только 1560-1591 и 9999"?
Может кто подскажет?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Обычным образом - в firewall.

Единственное, если у одного wireguard-интерфейса несколько пиров, то их не получится разделять по in-interface(-list)/out-interface(-list), так что для туннелей офис-офис логично делать один интерфейс - один пир.
Но у вас и так всего один туннель, так что это просто на будущее.


Telegram: @thexvo
Ответить