Настройка ZyWall серии USG в роли VPN сервера

Данная статья рассчитана на пользователей бюджетных шлюзов ZyWall серии USG.

Имеем следующую задачу:
— организовать подключение к корпоративной локальной сети по средствам VPN;
— авторизация пользователей VPN под доменной учетной записью;
— собрать все это на шлюзе ZyWall USG 110;
— пользователи должны подключаются как с ноутбуков так и с мобильных телефонов.

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

Чтобы оградить вас от подводных камней, траты драгоценного времени, решил написать данную статью.

Итак, приступим.

Первое, что нам необходимо сделать, это определится с кругом лиц которые могут подключатся к корпоративной сети из вне. На это у меня ушло примерно минут 30 на согласование с начальством. Этим лучше не пренебрегать, так как это вопрос корпоративной безопасности.

Исходные данные:
Шлюз Zyxwl Zywall USG 110
WAN1 – 12.12.12.12
LAN1 – 10.10.10.1/24
Домен example.com
Сервера AD
dc01.example.com 10.10.10.5/24
dc02.example.com 10.10.10.6/24
В вашем случае данные будут другие, я же буду использовать их для примера.

Первый подводный камень, это закрытые системы шифрования на шлюзе, обходим следующим путем:
Подключаемся к шлюзу через SSH и включаем скрытые режимы шифрования
Вводим логин и пароль
configure terminal
crypto algorithm-hide disable
write
reboot

Следующим шагом будет подключение шлюза к AD.
Создаем пользователя в AD от имени которого шлюз будет подключатся для поиска учетных записей
например:
Name zywall
Password ZyWaLlpass

Создаем группу для VPN пользователей;
Добавляем пользователей в группу VPN.
Как это делается в AD я описывать не буду так как такого материала более чем достаточно.

Подключаемся к шлюзу через Web интерфейс.
Переходим по меню: Configuration – Object – AAA server – Add.
вносим следующие настройки:
Name: dc_example (произвольное имя)
Description: example.com (имя домена)
Server Address: 10.10.10.5 (ip адрес первичного DC)
Backup Server Address: 10.10.10.6 (ip адрес резервного DC)
Port: 389
Base DN: DC=example,DC=com
Use SSL: False
Case-sensitive User Names: True
Search time limit: 5
Bind DN: CN=zywall,CN=Users,DC=example,DC=com (пользователь от имени которого происходит поиск записей в AD в формате DN)
Password: ZyWaLlpass (пароль пользователя)
Retype to Confirm: ZyWaLlpass
Login Name Attribute: sAMAccountName
Alternative Login Name Attribute: оставляем пустым (если кому необходимо можете прописать mail)
Group Membership Attribute: memberOf
Жмем OK.

На шлюзе задаем группу пользователей для подключения к VPN
Configuration – Object-User/Group:
user name: VPN_Users_example
User Type: ext-group-user
Group Identifier: CN=VPN,CN=Users,DC=example,DC=com
Associated AAA Server Object: dc_example
Description: VPN_Users_example
Authentication Timeout Settings: Use Default Settings (можно установить Use Manual Settings и установить свои лимиты времени)
Есть возможность сразу проверить правильность всех настроек, в нижнее поле User name вводим имя пользователя состоящего в группе VPN без домена, и нажимаем кнопку Test
Следующий подводный камень это то что пользователи должны иметь группу по умолчанию Domain Users иначе проверка пользователя не пройдет.

Создаем подсеть для удаленных пользователей:
Configuration – Object – Address – Add
Name – VPN_Subnet_example
Address Type – SUBNET
Network – 10.10.9.0
Netmask – 255.255.255.0
Создаем псевдоним для интерфейса WAN1
Configuration – Object – Address – Add
Name: InetWAN1
Address Type: Interface IP
Interface: wan1

Далее создаем VPN шлюз
configuration – VPN – IPSec VPN – VPN Gateway – Add
Сразу нажимаем Show Advanced Settings
General settings
Enable: true
VPN Gateway Name: L2TP_Gateway_example
My Address
My Address: Wan1
Authentication
Pre-Shared KEY: AnySharedKey (необходимо придумать свой ключ)
Phase 1 Settings
SA Life Time: 86400
Negotiation Mode: Main

нажимаем ОК и переходим дальше

Настраиваем входящие подключения VPN
Configuration – VPN – IPSec VPN – VPN Connection – Add
Сразу нажимаем Show Advanced Settings
General Settings
Enable: Tue
Connection Name: L2TP_VPN_example
Enable Replay Detection: False
Enable NetBIOS broadcast over IPSec: True
MSS Adjustment: Auto
VPN Gateway
Application Scenario: Remote Access (Server Role)
VPN Gateway: L2TP_Gateway_example
Policy
Local policy: InetWAN1
Enable GRE over IPSec: False
Phase 2 Settings
SA Life Time: 86400
Active Protocol: ESP
Encapsulation: Transport
Proposal:
3DES SHA1
3DES MD5
DES SHA1
Perfect Forvard Secrecy (PFS): None
Related Settings
Zone: IPSec_VPN
Жмем OK

Теперь настроим подключение L2TP VPN
Configuration – VPN – L2TP VPN
Enable L2TP Over IPSec: True
VPN Connection: L2TP_VPN_example
IP Address pool: VPN_Subnet_example
Authentication Method: Default
Allowed User: VPN_Users_example
Keep Alive Timer: 60
First DNS Server :Custom Defined 10.10.10.1
Second DNS Server: Custom Defined 10.10.10.5

Жмем Apply
Настройка шлюза завершена

У пользователей создаем VPN подключение со следующими основными параметрами:
Тип VPN: L2TP IPsecVPN;
L2TP KEY: AnySharedKey (ключ который вы указали при настройке VPN шлюза);
Шифрование данных необязательное (подключатся даже без шифрования);
Разрешить следующие протоколы
— Незашифрованный пароль (PAP);
(остальные протоколы отключаем)


Спасибо за внимание.
Теги:
zyxel, ZyWall USG настройка VPN

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.