====== Добавление роли "Удаленный доступ" и ее настройка ======
===== Теория =====
Чтобы админить домашний сервер в рабочее время и с рабочего места решил сделать себе удаленку. Настройка простая и практически не отличается от [[..:..:s12r2:vpn:vpn|настройки на Windows Server 2012 R2]]. Но рассмотреть стоит, тем более, что на этот раз я все рассмотрел поподробнее.
Необходимо пробросить следующие порты (если сервер находится за NAT'ом):
VPN_L2TP port 1701 UDP
VPN_IPsec port 500 UDP
VPN_IPsec – NAT Traversal port 4500 UDP
Теперь приступим к установке роли "Удаленный доступ".
===== Практика =====
==== Установка роли ====
В "Диспетчере серверов" переходим в "Добавить роли и компоненты" и добавляем роль "Удаленный доступ". В "Выбор служб ролей" ставим галочку напротив "DirectAccess и VPN(RAS)". Установка роли завершена.
{{:sw:win:s16:vpn:s16_vpn_1_addrole.jpg?600|Добавление роли}} {{:sw:win:s16:vpn:s16_vpn_2_addrole.jpg?600|Добавление роли}} {{:sw:win:s16:vpn:s16_vpn_3_addrole.jpg?600|Добавление роли}} {{:sw:win:s16:vpn:s16_vpn_4_addrole.jpg?600|Добавление роли}} {{:sw:win:s16:vpn:s16_vpn_5_selectrole.jpg?600|Удаленный доступ}} {{:sw:win:s16:vpn:s16_vpn_6_addcomponents.jpg?600|Компоненты без изменений}} {{:sw:win:s16:vpn:s16_vpn_7_info.jpg?600|Информация}} {{:sw:win:s16:vpn:s16_vpn_8_services.jpg?600|Службы роли}} {{:sw:win:s16:vpn:s16_vpn_10_services.jpg?600|Службы роли}} {{:sw:win:s16:vpn:s16_vpn_11_aboutiss.jpg?600|О ISS}} {{:sw:win:s16:vpn:s16_vpn_12_iss_services.jpg?600|Службы ISS}} {{:sw:win:s16:vpn:s16_vpn_13_autorebootcheckbox.jpg?600|Предупреждение о перезагрузке}} {{:sw:win:s16:vpn:s16_vpn_14_install.jpg?600|Установить!}}
==== Настройка роли ====
После окончания установки роли необходимо нажать на "Запуск мастера первоначальной настройки".
{{:sw:win:s16:vpn:s16_vpn_15_setup.jpg?600|Мастер начальной установки}}
В первом окне мастера нужно выбрать "Развернуть только VPN".
{{:sw:win:s16:vpn:s16_vpn_16_wizard.jpg?600|Только VPN}}
Откроется новое окно. Слева выбираем наш сервер (в моем случае Server), нажимаем на него правой клавишей мыши и в контекстном меню выбираем "Настроить и включить маршрутизацию и удаленный доступ".
{{:sw:win:s16:vpn:s16_vpn_17_setup_and_start.jpg?600|Настроить и включить}}
Снова открывается новое окно, точнее "Мастер настройки сервера маршрутизации и удаленного доступа". Необходимо выбрать "Особая конфигурация", далее ставим галочку только напротив "Доступ к виртуальной частной сети (VPN)". Нажимаем "Далее", затем "Готово" и, наконец, "Запуск службы".
{{:sw:win:s16:vpn:s16_vpn_18_wizard_1.jpg?600|Мастер}} {{:sw:win:s16:vpn:s16_vpn_19_wizard_2.jpg?600|Особая конфигурация}} {{:sw:win:s16:vpn:s16_vpn_20_wizard_3.jpg?600|VPN}} {{:sw:win:s16:vpn:s16_vpn_21_wizard_4.jpg?600|Готово}} {{:sw:win:s16:vpn:s16_vpn_22_wizard_5_warning.jpg?600|Предупреждение}} {{:sw:win:s16:vpn:s16_vpn_23_wizard_6.jpg?600|Запуск службы}}
Снова нажимаем правой клавишей на наш сервер (напомню, что в моем случае это Server) и в контекстном меню на этот раз выбираем "Свойства".
{{:sw:win:s16:vpn:s16_vpn_24_settings.jpg?600|Свойства}}
Первым делом переходим во вкладку "Безопасность". Там ставим галочку "Разрешить пользовательские политики IPsec для L2TP- и IKEv2-подключения" и устанавливаем общий ключ. Включаем фантазию или онлайн-генератор паролей. Главное, не забывайте и не теряйте этот ключ, он нужен будет при создании vpn-соединения на клиентском ПК. Конечно, его всегда можно поменять, но нельзя увидеть! А при смене ключа на сервере, придется менять в настройках всех клиентских ПК.
{{:sw:win:s16:vpn:s16_vpn_25_security.jpg?600|Общий ключ}}
Ключ установили. Замечательно! Теперь укажем пул IP-адресов, которые будут выдаваться клиентам. Тут тоже сами решайте какие задать. Я указал только для примера.
{{:sw:win:s16:vpn:s16_vpn_26_ipv4.jpg?600|Статический пул адресов IPv4}} {{:sw:win:s16:vpn:s16_vpn_27_ok.jpg?600|Пул адресов IPv4}} {{:sw:win:s16:vpn:s16_vpn_28_warning.jpg?600|Предупреждение}}
Согласно предупреждению нужно перезапустить служу. Для этого переходим в управление компьютером, находим в службах "Маршрутизация и удаленный доступ", нажимаем правой клавишей мыши. В контекстном меню выбираем "Все задачи" - "Перезапустить"
{{:sw:win:s16:vpn:s16_vpn_29_service_restart.jpg?600|Перезапуск службы}}
==== Разрешения для пользователей ====
На этом настройка сервера завершена. Можно выдавать разрешения пользователям. Для этого нужно в свойствах учетной записи пользователя, во вкладке "Входящие звонки" установить точку напротив "Разрешить доступ".
{{:sw:win:s16:vpn:s16_vpn_30_user.jpg?600|Выбор пользователя}} {{:sw:win:s16:vpn:s16_vpn_30_user_call_allow.jpg?600|Разрешения для пользователя}}
Помните, что при установке роли было предупреждение про открытие порта в брандмауэре? Давайте откроем. Для этого в настройках брандмауэра, в правилах для входящих подключений находим правило "Маршрутизация и удаленный доступ (L2TP - входящий) и включаем его!
{{:sw:win:s16:vpn:s16_vpn_31_fw_port_enable.jpg?600|Брандмауэр}}
==== Настройка VPN-соединения на клиенте ====
Давайте настроим новое vpn-соединение на клиентской машине. Настройку рассмотрим на примере операционной системы Windows 10. Настройка в других версиях Windows практически не отличается. Разница минимальная в мелочах. Первым делом переходим в "Центр управления сетями и общим доступом" (проще всего найти это в "Панели управления"). Там выбираем "Создание нового подключения"
{{:sw:win:s16:vpn:s16_vpn_connect_1_create.jpg?600|Создание нового подключения}}
В мастере создания выбираем "Подключение к рабочему месту", затем "Использовать мое подключение к Интернету(VPN)". Далее указываем "Адрес в интернете" - это будет либо доменное имя, либо ip-адрес.
{{:sw:win:s16:vpn:s16_vpn_connect_2_vpn_select.jpg?400|Выбираем VPN}} {{:sw:win:s16:vpn:s16_vpn_connect_3_vpn_use_inet.jpg?400|Использовать мое подключение}} {{:sw:win:s16:vpn:s16_vpn_connect_4_vpn_addr_name.jpg?400|Адрес и Имя}}
Соединение создано, необходимо его настроить. Нажимаем правой клавишей мыши на соединение и выбираем в контекстном меню "Свойства".
{{:sw:win:s16:vpn:s16_vpn_connect_5_vpn_settings.jpg?600|Свойства}}
Переходим во вкладку "Безопасность" и выставляем:
Тип VPN - Протокол L2TP с IPsec (L2TP/IPsec)
Шифрование данных - Обязательное
Протокол расширенной проверки подлинности (EAP) - Microsoft: защищенный пароль (EAP-MSCHAP v2)
Переходим (в этой же вкладке) в "Дополнительные параметры".
{{:sw:win:s16:vpn:s16_vpn_connect_6_vpn_security.jpg?300|Безопасность}}
Выбираем здесь "Для проверки подлинности использовать общий ключ" и вводим его. ДА! Это тот самый ключ, который мы вводили при настройке сервера.
{{:sw:win:s16:vpn:s16_vpn_connect_7_vpn_key.jpg?300|Общий ключ}}
Переходим во вкладку "Сеть". Первым делом снимаем галочку IP версии 6. На этом настройка соединения почти окончена. Есть два момента.
=== Момент первый ===
Если соединятся при текущих настройках, то основным шлюзом (во время активного vpn-соединения) будет шлюз нашего сервера, на не клиентский. Чтобы основной шлюз не менялся при соединении, нужно в свойствах IP версии 4 снять галочку "Использовать основной шлюз в удаленной сети". Найти эту галочку можно в дополнительных настройках.
{{:sw:win:s16:vpn:s16_vpn_connect_8_vpn_ip.jpg?300|Настройка IP}} {{:sw:win:s16:vpn:s16_vpn_connect_9_vpn_ip_settings.jpg?300|Настройка IP}} {{:sw:win:s16:vpn:s16_vpn_connect_10_vpn_ip_opt_gateway.jpg?300|Опционально. Основной шлюз}}
=== Момент второй ===
Мой сервер находится за NAT'ом. При этом vpn-соединение при попытке подключения будет выдавать ошибку. Обычно это ошибки с номерами 800, 809 или 794. Это связано с тем, что протокол IPsec не поддерживает NAT. Для обхода этого ограничения используется протокол NAT-T, который инкапсулирует пакеты IPsec в UDP (порт 4500). Чтобы исправить это нужно сделать правки в реестре. Правки необходимо делать **на клиенте**! В Интернете я находил информацию, что нужно делать как на клиенте, так и на сервере, но у меня все работает при исправлении **только на клиенте**. Причем мной проверено на Windows Server 2012R2 и на Windows Server 2016. В качестве клиентских ОС использовались Windows XP, Windows 7, 8, 10. Возможно, в Вашем случае нужно внести правки и на сервере.
* Windows XP / Server 2003:
В реестре (запуск regedit.exe) необходимо перейти HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec и создать DWORD параметр
AssumeUDPEncapsulationContextOnSendRule
со значением 2
{{ :sw:win:s16:vpn:vpn_xp.zip |Готовый reg-файл}}
* Windows Vista и более поздние / Windows Server 2008R2, 2012R2, 2016:
В реестре (запуск regedit.exe) необходимо перейти HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent и создать DWORD (32 bit) параметр
AssumeUDPEncapsulationContextOnSendRule
со значением 2
{{ :sw:win:s16:vpn:vpn_vista_.zip |Готовый reg-файл}}
0 – (значение по-умолчанию), предполагается, что VPN сервер подключен к интернету без NAT;
1 – VPN сервер находится за NAT;
2 — VPN сервер и клиент находятся за NAT.
:!: После внесения изменений в системный реестр необходимо перезагрузить компьютер.