Сегодня на примере 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. Все адреса вымышленные совпадение с реальностью — случайно.
zyxel
Начнём с usg. Эта девайсина настраивается через веб браузер.
Первым делом нам надо будет добавить адреса.
Переходим Object — Address, кликаем Add.
Для микротика заполняем имя (name) у меня это ipsec-one, выбираем тип – host, вписываем адрес 145.16.220.86.
Картинка для другого адреса, но суть думаю всем будет понятна.
После того как добавили внешний адрес, надо добавить адрес внутренней подсети. Для подсети за миротиком заполняем так же имя (у меня это vpn-end-net), тип – subnet, адрес 172.16.220.0 маска 255.255.255.0
Выглядеть список после этого будет примерно так:
Дальше настраиваем фаервол. Configuration – Firewall – Add.
В появившемся окне выбираем to: ZyWALL, вписываем описание, в поле source выбираем адрес который добавляли для микротика на предыдущем этапе,
Так же неплохо заполнить поле Description, что бы Вы потом вспомнили для чего это правило вообще создавалось.
Следующий этап создание vpn. Configuration – VPN – IPSec VPN вкладка VPN Gateway:
Включаем Show Advanced Settings заполняем имя, вписываем руками IP микротика 145.16.220.86, выбираем интерфейс для интернета. Для упрощения инструкции мы будем использовать Pre-Shared Key, но я рекомендую использовать сертификаты.
На картинке указан второй адрес, его указывать не обязательно. А в случае с микротиком, просто добавления второго адреса будет мало.
Спускаемся ниже.
Снимаем галочку NAT, выбираем Encryption— AES128, Key Group – DH2, сохраняем — ok
Затем переходим на вкладку VPN Connection жмём Add.
Заполняем имя, выбираем созданный на предыдущем шаге 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 (+)
Name – имя списка, Address – внешний ip зикселя. Переходим на вкладку Filter Rules и создаем правило (+).
На вкладке general – chain — input
На вкладке Advanced в Src. Address List выбираем наш список
На вкладке Action ставим accept
Если нам потом потребуется подключить ещё какие-то устройство, правило создавать уже не надо будет, надо будет только добавить адрес в address list.
Дальше так же в Address-list добавляем ещё один список — anti-nat, поскольку с zyxel ipsec будет работать в тунельном режиме, надо исключить пакеты предназначающиеся в сеть зикселя из маскарада.
Переходим на вкладку NAT и в правилах где есть srcnat на вкладке Аdvanced добавляем наш список с галочкой в dst.
Галочка в правилах означает отрицание. Т.е. правило будет срабатывать для всех адресов назначения КРОМЕ тех что мы добавили в список anti-nat.
Если будем добавлять ещё устройство, то правила уже менять не надо, только подсети в список anti-nat добавляем.
mikrotik IPsec
Переходим в раздел IP — IPsec
Начнём с вкладки Proposals, как водится (+) имя — zyxel, Auth – sha1, Encr – aes128cbc, PFS – none. Т.е. заполняем так же как заполняли раздел VPN Connection на зикселе.
Переходим к вкладке Peers и снова (+).
Address – внешний адрес зикселя, Auth Method – pre shared key, Secret – тот же что вводили на зикселе, снимаем галочку NAT, Hash – sha1, Encr – aes128, DH – modp1024.
Пару слов про DPD, в поле DPD Interval указывается значение в секундах между попытками. Maximum Failures — указывается количество неудачных попыток. Т.е. если значения выставлены как на скриншоте, то при недоступности туннеля в течении 15 секунд, микротик попытается установить подключение повторно. Дефолтное значение — 10 минут, очень долго.
Собственно тут тоже всё, переходим в раздел Policies.
Снова (+). На вкладке General — Src. Addr – подсеть локальная микротика – 172.16.220.0/24
Dst. Addr – подсеть локальная зикселя – 172.16.240.0/24
Переходим на вкладку Action. Ставим галочку Tunnel, заполняем SA src – внешний IP миротика, SA dst – внешний IP zyxel, Proposal – выбираем тот что создавали ранее.
Всё, можно проверять работу.
Как и прежде если остались какие-либо вопросы — пишите в комментариях, по возможности буду отвечать.