IPsec VPN между Zyxel и Mikrotik

Сегодня на примере Zyxel USG20 и какого-то микротика попробуем настроить IPsec VPN между Mikrotik и Zyxel соответственно.

В нашем примере у Zyxel внутренняя подсеть будет 172.16.240.0/24, внешний адрес: 98.213.46.5
Микротик – внутренняя подсеть: 172.16.220.0/24, внешний адрес 145.16.220.86. Все адреса вымышленные совпадение с реальностью – случайно.

 

mikrotik zyxel usg ipsec

zyxel

Начнём с usg. Эта девайсина настраивается через веб браузер.

Предполагается что Вы уже настроили USG, и он успешно раздаёт интернет сотрудникам. В статье описывается только IPsec.

Первым делом нам надо будет добавить адреса.
Переходим ObjectAddress, кликаем Add.
zyxel usg object address

Для микротика заполняем имя (name) у меня это ipsec-one, выбираем тип – host, вписываем адрес 145.16.220.86.
Картинка для другого адреса, но суть думаю всем будет понятна.

zyxel usg add address rule

После того как добавили внешний адрес, надо добавить адрес внутренней подсети. Для подсети за миротиком заполняем так же имя (у меня это  vpn-end-net), тип – subnet, адрес 172.16.220.0 маска 255.255.255.0

zyxel usg add address rule

Выглядеть список после этого будет примерно так:

Дальше настраиваем фаервол. ConfigurationFirewallAdd.

zyxel usg firewall

В появившемся окне выбираем to: ZyWALL, вписываем описание, в поле source выбираем адрес который добавляли для микротика на предыдущем этапе,

zyxel usg firewal create new rule

Так же неплохо заполнить поле Description, что бы Вы потом вспомнили для чего это правило вообще создавалось.

Следующий этап создание vpn. ConfigurationVPN – IPSec VPN вкладка VPN Gateway:

zyxel usg ipsec

Включаем Show Advanced Settings заполняем имя, вписываем руками IP микротика 145.16.220.86, выбираем интерфейс для интернета. Для упрощения инструкции  мы будем использоваться Pre-Shared Key, но я рекомендую использовать сертификаты.

zyxel usg vpn gateway

На картинке указан второй адрес, его указывать не обязательно. А в случае с микротиком, просто добавления второго адреса будет мало.
Спускаемся ниже.

zyxel usg vpn gateway

Снимаем галочку NAT, выбираем Encryption– AES128, Key Group – DH2, сохраняем – ok
Затем переходим на вкладку VPN Connection жмём Add.

zyxel ipsec vpn connection

Заполняем имя, выбираем созданный на предыдущем шаге Gateway. Local policy – выбираем локальную подсеть zyxel, Remote policy – локальную подсеть микротика.

Show Advanced Settings. Encryption – AES128, Auth – SHA1, PFS – none.

Cохраняем. Переходим к миротику.

mikrotik firewall

Начнём с фаервола. IP – Firewall – address-list. Для того что бы не создавать правило под каждый зиксель или любое другое устройство которое мы потом будем подключать к миротикку будем использовать address-list итак, жмём add (+)

mikrotik address list

Name – имя списка, Address – внешний ip зикселя. Переходим на вкладку Filter Rules и создаем правило (+).
На вкладке generalchain – input

mirktotirk filter rule

На вкладке Advanced в Src. Address List выбираем наш список

mikrotik filter rule address list

На вкладке Action ставим accept

Ставим правило ВЫШЕ всех запрещающих.

Если нам потом потребуется подключить ещё какие-то устройство, правило создавать уже не надо будет, надо будет только добавить адрес в address list.
Дальше так же в Address-list добавляем ещё один список – anti-nat, поскольку с zyxel ipsec будет работать в тунельном режиме, надо исключить пакеты предназначающиеся в сеть зикселя из маскарада.

Переходим на вкладку NAT и в правилах где есть srcnat на вкладке Аdvanced добавляем наш список с галочкой в dst.

В данном случае рассматривается дефолтная настройка микротика, где в NAT будет всего одно правило.

Галочка в правилах означает отрицание. Т.е. правило будет срабатывать для всех адресов назначения КРОМЕ тех что мы добавили в список anti-nat.

Если будем добавлять ещё устройство, то правила уже менять не надо, только подсети в список anti-nat добавляем.

mikrotik IPsec

Переходим в раздел IPIPsec
Начнём с вкладки Proposals, как водится (+) имя – zyxel, Auth – sha1, Encr – aes128cbc, PFS – none. Т.е. заполняем так же как заполняли раздел VPN Connection на зикселе.

mikrotol ipsec proposal

Переходим к вкладке Peers и снова (+).
Address – внешний адрес зикселя, Auth Method – pre shared key, Secret – тот же что вводили на зикселе, снимаем галочку NAT, Hash – sha1, Encr – aes128, DH – modp1024.

mikrptik ipsec peer

Пару слов про DPD, в поле DPD Interval указывается значение в секундах между попытками. Maximum Failures – указывается количество неудачных попыток. Т.е. если значения выставлены как на скриншоте, то при недоступности туннеля в течении 15 секунд, микротик попытается установить подключение повторно. Дефолтное значение – 10 минут, очень долго.

Собственно тут тоже всё, переходим в раздел Policies.

Снова (+). На вкладке GeneralSrc. Addr – подсеть локальная микротика – 172.16.220.0/24
Dst. Addr – подсеть локальная зикселя – 172.16.240.0/24
mikrotik ipsec policy

Переходим на вкладку Action. Ставим галочку Tunnel, заполняем SA src – внешний IP миротика, SA dst – внешний IP zyxel, Proposal – выбираем тот что создавали ранее.

mikrotik ipsec policy

Всё, можно проверять работу.
Как и прежде если остались какие-либо вопросы – пишите в комментариях, по возможности буду отвечать.