Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
USG - удалённый VPN для пользователя - PPTP, UniFi Network
 
Насколько я понимаю, функция Remote User VPN, встроенная в USG, основана на PPTP. https://help.ubnt.com/hc/en-us/articles/204953054-UniFi-USG-Remote-User-VPN-with-Local-Users Мне кажется, PPTP считается небезопасным, разве нет более современных и надежных протоколов VPN, на которых должна быть построена эта функция? Например, L2TP? http://security.stackexchange.com/questions/47518/is-pptp-vpn-ever-secure-under-dd-wrt
 
Я не настраивал OpenVPN сервер с аутентификацией по имени пользователя и паролю для конечного пользователя на ERL или USG, но уверен, что могу это описать и протестировать, если кому-то нужно. Кто-нибудь знает, как с точки зрения производительности OpenVPN ведёт себя на ER-X по сравнению с ERL?
 
Хорошо, у меня есть USG, который нужно настроить, так что вот как это делается. Предполагается, что:  
- У вас уже есть работающий OpenVPN сервер (любой — Linux, EdgeRouter, USG или другой).  
- У вас созданы все корневые сертификаты CA и так далее.  
- Вы умеете пользоваться vi или любите копировать файлы с рабочего стола на USG через scp.

Дальше нужно сделать следующее на OpenVPN сервере:  
Выберите LAN-адрес для этого VPN-соединения. В моём случае это сеть 10.100.1.0/24, которая будет новой сетью за этим USG.  
На моём OpenVPN сервере мы передаём маршрут 10.100.0.0/16 всем клиентам, и каждому клиенту выделяется подсеть /24, например 10.100.0.x/24, 10.100.1.x/24 и так далее. Выбор /24 обусловлен только тем, чтобы проще воспринимать маски подсети.  
Доступ к разным ресурсам вы можете контролировать через iptables на OpenVPN сервере.

Да, это перестанет работать, если к серверу подключится больше 255 клиентов. Но если у меня будет столько конечных точек — денег хватит, чтобы нанять кого-то и передать ему эту головную боль.

Создайте новые сертификаты для этого роутера:  
/usr/share/doc/openvpn/examples/easy-rsa/2.0# ./build-key 10.100.1.0  
…обычная скучная рутина…  
Сертификат действителен до 6 июня 2025 года (3650 дней)  
Подписать сертификат? [y/n]: y
1 из 1 запросов на сертификат подписан, подтвердить? [y/n] y

Ещё на OpenVPN сервере убедитесь, что у вас создана запись CCD для нового роутера. В конфиге сервера обычно есть что-то вроде:  
/etc/openvpn# grep ccd /etc/openvpn/server.conf  
client-config-dir /etc/openvpn/ccd

Значит, нужно отредактировать (vi /etc/openvpn/ccd/10.100.1.0) и добавить в файл строку:  
iroute 10.100.1.0 255.255.255.0

На этом сервер должен быть готов.

Переходим к USG!  
Задайте LAN-адрес 10.100.1.1/24  
Подключитесь по ssh к USG и выполните sudo bash, чтобы получить root-доступ.  
Создайте папку для всех нужных файлов: mkdir /config/openvpn  
Скопируйте сертификаты и ca.crt с OpenVPN сервера:  
root@ubnt:/home/admin# scp someuser@openvpnserverip:/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ca.crt /config/openvpn  
root@ubnt:/home/admin# scp someuser@openvpnserver:/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/10.100.1.* /config/openvpn

Создайте конфигурационный файл openvpn (vi /config/openvpn/client.conf) с таким содержимым:  
client  
dev tun  
proto udp  
remote openvpn-server-ip-address-or-hostname 1194  
resolv-retry infinite  
nobind  
persist-key  
persist-tun  
ca /config/openvpn/ca.crt  
cert /config/openvpn/10.100.1.0.crt  
key /config/openvpn/10.100.1.0.key  
comp-lzo  
verb 3  
mute 20

Проверьте работоспособность из командной строки:  
root@ubnt:/config/openvpn# openvpn --config client.conf

…ожидайте сообщений, пропускайте скучные детали…  
И вот:  
Initialization Sequence Completed

Пока курсор ждёт без дела, проверьте пинг с OpenVPN сервера до LAN IP USG:  
# ping -c 1 10.100.1.1  
PING 10.100.1.1 (10.100.1.1) 56(84) байт данных.  
64 байта от 10.100.1.1: icmp_req=1 ttl=64 время=41.7 мс  
--- 10.100.1.1 ping stats ---  
1 пакетов передано, 1 получено, 0% потерь, время 0 мс  
rtt min/avg/max/mdev = 41.740/41.740/41.740/0.000 мс

Отлично, значит всё работает. Нажмите CTRL-C на USG, чтобы вернуться к командной строке:  
Tue Jun 9 13:31:14 2015 Closing TUN/TAP interface  
Tue Jun 9 13:31:14 2015 /sbin/ifconfig tun0 0.0.0.0  
Tue Jun 9 13:31:14 2015 SIGINT[hard,] received, process exiting
root@ubnt:/config/openvpn#

Продолжаем на USG. Создайте скрипт для автозапуска OpenVPN: (vi /config/scripts/post-config.d/openvpn.sh) и вставьте туда:  
#!/bin/sh  
openvpn --daemon --config /config/openvpn/client.conf

Сделайте скрипт исполняемым:  
root@ubnt:/config/openvpn# chmod 755 /config/scripts/post-config.d/openvpn.sh

Перезагрузите USG, и VPN должен автоматически запуститься.  
Это сохранится после перепрошивки и обновления (по крайней мере у меня пока так).  

Нужно ли написать инструкцию по настройке самого OpenVPN сервера?
 
Это было бы здорово!
 
Я уверен, что это будет высоко оценено.
 
OpenVPN замечательный, но его нельзя разгрузить, потому что он работает в пространстве пользователя. IKEv2 добавить должно быть очень просто, ведь большая часть работы уже сделана.
 
https://community.ui.com/feature-requests Голосуй за это!
 
Да. Именно так. Вот это да. Просто сделайте всё проще с помощью нескольких элементов графического интерфейса.
 
Можно ли, пожалуйста, добавить это в графический интерфейс? Было бы очень полезно для таких людей, как я, кто не очень хорошо разбирается в SSH и подобном.
 
Я был бы очень признателен, если бы для USG тоже сделали настройку OpenVPN через графический интерфейс.
 
Есть новости, когда это добавят в GUI-конфигурацию? Это сильно упростило бы жизнь.
 
Согласен, было бы здорово, если бы можно было настроить это через графический интерфейс (для IPSec и L2TP).
 
Я использую L2TP поверх IPSEC с моим USG-Pro дома, для локальных пользователей, и всё настроено через файл config.gateway.json. Также у меня есть несколько кастомных правил DNAT. В конфиге сейчас особо ничего лишнего нет. Есть пользователь @ryttingm, который даже выложил свой config.gateway.json (см. ЗДЕСЬ) для L2TP поверх IPSEC, и там в принципе всё правильно. Это позволяет локально просматривать сеть. Если добавить подсеть в группу сети, то через VPN будет доступен и доступ в интернет.

Исходя из примера @snapper, я бы добавил следующее в файл config.gateway.json в раздел firewall, выше параметра name:
"group": {
 "network-group": {
   "remote_user_vpn_network": {
     "description": "remote_user_vpn_network",
     "network": [
       "10.10.10.0/24"
     ]
   }
 }
},

Причина, по которой я использую remote_user_vpn_network, в том, что если поставить corporate_network, это перезапишет ваши существующие корпоративные сети из той группы.

Надеюсь, будет полезно.

Удачи,  
Майк
 
Да, конечно, я бы с удовольствием попробовал. Жаль, что это не работает в JSON-файле.
 
Мы используем AWS для хостинга контроллера Unifi. Пока что нам вполне хватает того, что есть... 95% — жилые проекты. USG, коммутаторы, WiFi-точки разных типов. Есть пара проектов за городом.

Список желаний:  
- Хотелось бы иметь возможность VPN откуда угодно... PPTP подходит.  
- Хотелось бы использовать MacBook Pro, чтобы подключаться к удалённому MiniMac в стойке.  
- MiniMac будет работать под VMWare с Win10, чтобы мы могли обновлять и обслуживать аудио/видео систему и обновлять устройства в сети.  
Возможно ли это?  
А если просто Windows 10-устройство?  

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

Какие правильные настройки для VPN, чтобы я мог видеть сеть на удалённом объекте? Обычно я подключаюсь к гостевой сети дома или на работе, а затем через PPTP VPN в сеть, к которой нужно подключиться. Так конфликтов с локальной сетью нет.
 
Я знаю, что начал это дело уже давно, но очень хочу получить пошаговую инструкцию, как настроить USG в качестве VPN-сервера. Неважно, как именно, лишь бы это не был PPTP или что-то ещё, что считается небезопасным.
 
Я уже некоторое время занимаюсь настройкой OpenVPN на USG/EdgeRouter — хотя сам конфигурирую не через командную строку, он сохраняется после повторного развёртывания (правда не уверен, переживёт ли обновление, надо проверить). Могу выложить инструкцию, если кому интересно.
 
Столкнулся с той же проблемой. Похоже, что Remote User VPN вообще не работает. После настройки устройство зацикливается на перезагрузке, а порт так и не открывается.
 
И дополнительно, в правилах файрвола не хватало:  
firewall {  
   name WAN_LOCAL {  
       default-action drop  
       rule 1 {  
           action accept  
           state {  
               established enable  
               related enable  
           }  
       }  
       rule 20 {  
           action accept  
           description "Разрешить доступ PPTP из интернета"  
           destination {  
               port 1723  
           }  
           protocol tcp  
       }  
   }  
}
 
Есть новости? Спасибо. К тому же пример "Remote Users with Local Auth" не работает. Когда я принудительно запускаю provision с этим примером, USG уходит в цикл перезагрузки/провижнинга. У меня стоит версия 4.6.5. Оказывается, в примере отсутствует информация client-ip-pool, и именно это вызывает проблему.
Страницы: 1
Читают тему (гостей: 1)