====== Добавление роли "Удаленный доступ" и ее настройка ====== ===== Теория ===== Чтобы админить домашний сервер в рабочее время и с рабочего места решил сделать себе удаленку. Настройка простая и практически не отличается от [[..:..: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. :!: После внесения изменений в системный реестр необходимо перезагрузить компьютер.