Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Ищите предметы среди очаровательных жителей и уютных домиков!

Потеряшки - поиск предметов

Головоломки, Казуальные, Детские

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
70
stosstruppen
Лига Сисадминов

Сервер openvpn на windows 10, некоторые особенности⁠⁠

3 года назад

Итак волею судеб вынужден был поднять на windows 10 (больше под эту цель выделить просто нечего) простенький сервер openvpn, 1 подсеть, до 10 клиентов, суть - доступ к кое-какому серверу который стоит в локалке за сервером опенвпн, будут ли клиенты видеть друг друга - неважно.

Гайдов по настройке конфига сервера, клиентов, выпуску сертификатов через easyrsa - вал, выбирай любой и делай по нему, хочу отметить некоторые особенности, с которыми столкнулся, может кому-то поможет:


1)при попытке первого запуска easyrsa - она даёт вовсе не то что написано в гайде, а ошибку "openssl is missing".

Всё просто, не установлена софтина win32openssl качаем её с сайта производителя

https://slproweb.com/products/Win32OpenSSL.html

устанавливаем как обычный msi, перезапускаем easyrsa и вуаля после ввода start.bat она даёт нам то что и должна была.


2)если в конфиге сервера ввели строчки dev tun и client to client - то крайне рекомендую ввести и строчку topology subnet, потому что по умолчанию в такой конфигурации опенВПН будет работать в своей сумрачной топологии net30 (это когда каждому клиенту выдаётся комплект из 3 или 4 айпишников с узкой маской /30, которую надо обязательно учитывать в опциях push route).

Если хотите обойтись двумя простыми строчками "push route 0.0.0.0 (сеть используемая для выдачи адресов внутри впн) mask 255.255.255.0" и "push route 0.0.0.0 (локалка за сервером опенвпн к которой и нужен доступ") mask 255.255.255.0" в настройках маршрутизации в конфиге сервера - используйте subnet


3)Винде надо обязательно включить её маршрутизатор (без него она не будет роутить пакеты в сеть за собой), делается это в реестре по адресу

Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters параметру IPenablerouter надо выставить значение 1.

И возможно придётся включить службу RRAS (по идее она должна сама включиться после правки этого параметра в реестре и перезагрузки, но у меня не включилась, идём в службы ищем "Маршрутизация и удалённый доступ" ставим её  на "запуск автоматически" и запускаем)


4)Интерфейс (tap в моём случае), который указан в строчке dev-node конфига сервера должен называться строго так же, как он прописан в конфиге (включая регистры).

Для него же расшариваем ethernet подключение вашего сервера.

Без этого - пакеты в сеть за сервером - не пойдут.


5)Многие гайды пишут что после завершения написания конфига, сохранения его и перезапуска службы Опенвпн - выделенный для неё интерфейс должен сам перейти в состояние "подключено", это не так, в состояние подключен он перейдёт только после того как вы нажмёте "подключиться" в GUI на сервере (опять же когда сервер сам к себе не подключен - у клиентов - ничего не работает, естественно, ведь гейтом для наворачиваемых маршрутов всем указан именно первый айпишник частной подсети используемой для самой опенвпн, который всегда присваивается серверу).


6)Создайте правило в брандмауэре сервера - разрешающее подключение на его порт указанный в конфиге клиентов и сервера - обязательно.


7)Если вдруг, вы перезагрузили сервер опенвпн и у вас стала недоступна локалка за ним (но впн подключается и клиенты по частным адресам впн пингуются, а вы ничего не меняли - проверьте не включился ли какой-нибудь доп.файервол на сервере (у меня этим eset грешит, любит завести свой файервол никого ни о чём не спрашивая, после перезагрузки или какого-нибудь большого обновления), если ТОЧНО нигде ничего не блочит, а сеть - всё равно недоступна - это греет башку служба RRAS, у меня проявляется так:

Идёшь ты такой в services.msc находишь там её, у неё статус "выполняется", думаешь "ну всё в порядке" и идёшь искать другие причины неработы, но если тыкнуть в неё - то увидишь что метод запуска стоит "отключена" после перезагрузки (почему так - не приложу ума), меняешь метод запуска, перезапускаешь, всё начинает работать.


Никогда до этого с ОпенВПН не сталкивался, делал всё в первый раз, набил видимо совершенно нубские шишки, может мой опыт будет кому-то полезен. Гайды утверждают что самый православный вариант поднятия опенвпн - на CentOS, но мне пришлось делать исходя из того что есть.

Первый пост))

Показать полностью
[моё] Сисадмин Openvpn Windows 10 Длиннопост Текст
35
8
pmz2017
Лига Сисадминов

Прошу помощи и подсказки в настройке VPN на Asus⁠⁠

3 года назад

Всем гуру администрирования пламенный привет!

Есть 2 офиса.
Есть 2 роутера asus: офис А RT-AC57U V2 локальный ip 192.168.0.1
и офис Б RT-AC58U V3 локальный ip 192.168.1.1

В офисе А поднял VPN сервер - по протоколу OpenVPN.
В офисе Б VPN клиент.

Проблема следующая компьютеры из офиса Б не видят сетевые диски офиса А.
1с по rdb, принтера через браузер из офиса Б видны - установленные в офисе А.
пинг из офиса Б в офис А идет, но не на всё только принтера и сервер 1с, к локальным машинам пинга нет.
Из офиса А пинги не идут совсем

почитав интернеты я понял что нужно прописать прописать маршруты, но не понимаю какие.

1. Настройки локальной сети Офиса А

2. Настройки локальной сети Офиса Б

3.Настройка маршрутов Офиса А

4.Настройка маршрутов Офиса Б

5.Настройка VPN server


Подскажите правильные маршруты или что нужно сделать?

Показать полностью 5
VPN Помощь Длиннопост Openvpn Asus
45
159
VladimirChursin
VladimirChursin
Лига программистов
Серия ИТ

OpenVPN. Инструкция по применению (копия с Хабра)⁠⁠

3 года назад
OpenVPN. Инструкция по применению (копия с Хабра)

1. Введение

Виртуальные частные сети (VPN) давно вошли в повседневную жизнь. Множество технологий и реализаций сервиса приватных сетей (как для частного применения, так и для использования внутри периметра организаций), обеспечивающих определённый уровень безопасности, доступны для использования широкому кругу ИТ-специалистов.

Не смотря на обилие технологий, предлагаю остановиться на старом добром OpenVPN (в связке с EASY-RSA). Решение от Джеймса Йонана отличается гибкостью, функциональностью, надёжностью и непрерывностью разработки на протяжении приличного временного периода. Так сказать, мастодонт от мира VPN-решений.

Спойлер — ссылка на довольно функциональное решение (ничего особенного, чистый бэкэнд), написанное на bash некоторое время назад, ждёт вас в конце публикации (в виде github-репозитория под именем «openvpn_helper»), а здесь же уделю внимание общей структуре и некоторым аспектам использования набора скриптов и OpenVPN.

***

Список необходимых компонентов (используемая ОС — AlmaLinux 8):

1) OpenVPN 2.4.12;

2) EASY-RSA 3.0.8.
=================


2. Описание общей структуры репозитория

2.1. Директория «ovpn-server»

Директория содержит файлы и поддиректории двух типов: статичные (входящие в репозитория непосредственно) и генерируемые автоматически.

Статичные:

* «main.sh» - файл, содержащий основную кодовую базу репозитория.

* «vpn.env» - основной файл конфигурации.

* «full_setup_vpn_server.sh» - скрипт полной установки VPN-сервера. После запуска исполняет следующие действия:

1) инициация структуры файлов/директорий для управления ключами easyrsa («./easyrsa init-pki»);

2) создание корневого сертификата («./easyrsa build-ca»);

3) генерация ключа Диффи-Хелмана («./easyrsa gen-dh»);

4) создание запроса на выпуск сертификата VPN-сервера («./easyrsa gen-req vpn-server»);

5) импорт и подписание сертификата VPN-сервера («./easyrsa sign-req server vpn-server»);

6) генерация списка отозванных сертификатов («./easyrsa gen-crl»);

7) генерация секретного ключа ta.key («/usr/sbin/openvpn --genkey --secret "$PKI_DIR/ta.key"»), используемого как на стороне сервера, так и на стороне клиента. Необходим для обеспечения дополнительного уровня безопасности (защищает от сканирования прослушиваемых VPN-сервером портов, переполнения буфера SSL/TLS, DoS-атак и flood-атак, а также вводит дополнительный механизм аутентификации между сервером и клиентом);

8) генерация файла конфигурации для VPN-сервера, вспомогательных скриптов и файлов со справочной информацией;

9) копирование всех необходимых сертификатов и файлов конфигурации, необходимы для работы VPN-сервера, в директорию «/etc/openvpn/server».

* «create_cli_cert_and_conf.sh» - скрипт генерации клиентского набора сертификатов и файла конфигурации.

* «revoke_client_cert.sh» - скрипт отзыва клиентских сертификатов.

* «gen_crl_and_restart_ovpn.sh» - скрипт генерации CRL-сертификата (Certificate Revocation List или список отозванных сертификатов), содержащего сведения о всех отозванных клиентских сертификатах (отозванных посредством «revoke_client_cert.sh»). Скрипт необходимо запускать каждый раз после отзыва клиентского сертификата.

* «get_client_cert_expire_info.sh» - скрипт проверки клиентских сертификатов на предмет устаревания.

* «get_server_cert_expire_info.sh» - скрипт проверки серверных сертификатов на предмет устаревания.

Файлы и директории, формируемые на этапе полной установки VPN-сервера (full_setup_vpn_server.sh):

* директория «pki_root/pki» - содержит развёрнутую структуру файлов/директорий для управления ключами easyrsa. Краткое описание файлов/директорий структуры:

1) certs_by_serial — директория хранения выпущенных сертификатов (в рамках данной структуры pki), ранжированных по серийным номерам;

2) issued — директория хранения выпущенных сертификатов, ранжированных по имени (CN);

3) private — директория хранения закрытых ключей (в т.ч. и закрытого ключа корневого сертификата) к соответствующим сертификатам;

4) renewed — директория хранения обновлённых сертификатов. В рамках «openvpn_helper» не используется.

5) reqs — директория хранения запросов на выпуск сертификатов.

6) revoked — директория хранения отозванных запросов/сертификатов/закрытых ключей;

7) ca.crt — корневой сертификат;

8) crl.pem — список отозванных сертификатов;

9) dh.pem — ключ Диффи-Хеллмана;

10) index.txt — актуальная база данных всех сертификатов в рамках данной структуры управления ключами/сертификатами;

11) index.txt.attr — содержит параметр «unique_subject = yes», запрещающий создание сертификатов с одинаковыми именами до процедуры отзыва;

12) index.txt.attr.old — предыдущее значение параметра index.txt.attr;

13) index.txt.old — предыдущее содержание базы данных сертификатов index.txt. Изменяется, например, после отзыва клиентского сертификата);

14) openssl-easyrsa.cnf — стандартные для данной структуры параметры с указанием имён переменных, которые возможно переопределить через переменные окружения;

15) safessl-easyrsa.cnf — содержание аналогично файлу openssl-easyrsa.cnf, но с указанием конкретных значений;

16) serial — используется для промежуточного хранения серийного номера генерируемого сертификата до момента его подписания. После подписания серийный номер перемещается в файл “serial.old”;

17) serial.old — содержит серийный номер последнего сгенерированного (и подписанного) сертификата;

18) ta.key — секретный ключ для реализации tls-аутентификации.

* «RESTART_OVPN-$VPN_SERVER_NAME_S.sh» (где VPN_SERVER_NAME_S - параметр из vpn.env) - скрипт перезапуска экземпляра OpenVPN, основанного на конфигах и сертификатах, сгенерированных посредством «full_setup_vpn_server.sh» (на основе файла конфигурации «vpn.env», расположенного в текущей директории).

* «SET-STATIC-IP-FOR-CLIENTS.txt» - заполняется в формате «username,ip-address», если требуется, чтобы клиентам VPN-сервера выдавались статичных ip-адреса. После внесения изменений необходимо запустить скрипт «RESTART»

* «STOP_OVPN-$VPN_SERVER_NAME_S.sh» (где VPN_SERVER_NAME_S — параметр из vpn.env) — полный останов VPN-сервера.

* «README_MAIN.txt» - краткая инструкция об использовании VPN-сервера.

* «README-user-management.txt» - памятка об управлении пользователями. Возможность коннекта к VPN (помимо сертификатов) ограничивается локальными УЗ, созданными на хосте и состоящими в определённой группе пользователей.

* «readme-firewalld-rules.txt» - памятка о настройке файервола (firewalld).

* «readme-selinux-rules.txt» - памятка о конфигурации selinux.

* «SAVED_CERT_PASSWORDS.txt» - сохранённые пароли (от корневого сертификата и сертификата VPN-сервера).

Файлы и директории, формируемые на этапе генерации клиентских сертификатов (create_cli_cert_and_conf.sh):

* директория «cli_certs» - содержит поддиректории вида «CLIENT_CERT_NAME-files», где расположен набор клиентских конфигов и сертификатов, а также архив для передачи пользователю.
=================


2.2. Директория «run_if_dnsmasq_is_not_installed»

Скрипт «run.sh». Простой скрипт, осуществляющий установку сервиса dnsmasq.

Файл конфигурации «dnsmasq.conf». Содержит пример конфигурации сервиса без вышестоящих dns-серверов.


Для использования DNS-сервера, установленного на хосте с OpenVPN, необходимо подкорректировать правила firewalld. Рекомендации по настройке смотреть в файле «readme-firewalld-rules.txt» (после развёртывания VPN-сервера).

=================


2.3. Директория «run_if_openvpn_is_not_installed»

Скрипт «run.sh» устанавливает необходимый для работы VPN набор софта: dnf-репозиторий «epel-release», openvpn, easy-rsa.

=================


2.4. Директория «run_if_selinux_enabled»

Директория содержит 2 файла:

* selinux-модуль «ovpn_mod0.te»;

* скрипт «run.sh», устанавливающий пакет «selinux-policy» и применяющий selinux-модуль «ovpn_mod0».

=================


2.5. Директория «run_if_zip_is_not_installed»

Скрипт «run.sh» устанавливает zip-архиватор, используемый при создании архивов для передачи конечному пользователю.

=================


2.6. Файл-инструкция «if_need_another_vpnserver_on_this_host.txt»

Документ, кратко описывающий алгоритм развёртывания второго (и последующих) VPN-сервисов на одном и том же хосте.

Алгоритм таков (для примера):

1) создаём директорию, например, «ovpn-server0»;

2) переносим в неё содержание директории «ovpn-server» (исключения: cli_certs, pki_root);

3) редактируем в директории «ovpn-server0» файл «vpn.env», уделяя особое внимание параметрам: VPN_SERVER_NAME_S,

VPN_PORT_S,

VPN_NETWORK_S,

VPN_DHCP_IP_S,

VPN_INTERNAL_NETWORK_ROUTE_S,

VPN_NETWORK_MASQUERADE_SRC_S,

VPN_INTERNAL_NETWORK_MASQUERADE_DST_S,

VPN_INTERNAL_IP_DEV_NAME_S,

VPN_SERVER_INT_FIREWALLD_ZONE_S,

VPN_PORT_CL;

4) из директории «ovpn-server0» запускаем скрипт «full_setup_vpn_server.sh».
=================

2.7. Скрипт «run_first.sh»

Разрешает форвардинг (перенаправление) трафика ipv4, что важно для осуществления доступа из VPN-сети в интранет.

=================


3. Описание основного файла конфигурации vpn.env


Параметры, относящиеся только к генерации сертификатов и конфига (например, «/etc/openvpn/server/server.conf») VPN-сервера (full_setup_vpn_server.sh):

* VPN_CONF_DIR_S — директория хранения файлов конфигурации OpenVPN. Дефолтное значение - «/etc/openvpn/server».

* VPN_SERVER_NAME_S — имя VPN-сервера в контексте возможности запуска нескольких экземпляров VPN в зависимости от имени файла конфигурации. Желательно, чтобы этот параметр совпадал с частью (ovpn-XXX) имени директории, где расположен файл «vpn.env»).

* IP_VPN_SERVER_S — ip-адрес интерфейса, смотрящего в Интернет.

* VPN_PORT_S — порт интерфейса, смотрящего в Интернет. Должен быть уникален, если в рамках одного хоста настроено более одного VPN-сервера.

* VPN_SERV_LOG_DIR_S — директория размещения логов VPN-сервера. Значение по умолчанию - /var/log/openvpn.

* VPN_MAX_CLIENTS_S — максимальное количество клиентов VPN-сервера. В топологии «subnet» при использовании подсети для VPN с маской 24 (или 255.255.255.0) максимально возможное кол-во клиентов равно 83. Значение по умолчанию — 32.

* VPN_NETWORK_S — описание VPN-сети в формате «SUBNET SUBNET-mask». Значение по умолчанию - «172.16.10.0 255.255.255.0». Должно быть уникальным в случае, если в рамках одного хоста настроено более одного VPN-сервера.

* VPN_DHCP_IP_S — адрес встроенного DHCP. Значение по умолчанию — 172.16.10.1. Должен быть уникальным в случае, если в рамках одного хоста настроено более одного VPN-сервера.

* VPN_INTERNAL_NETWORK_ROUTE_S — маршрут до интранета (параметр передаётся клиентам VPN-сервера при подключении), к которой необходим доступ из VPN-сети. Заполнять в соответствии с конкретными параметрами вашей сети.

* VPN_SERVER_LOG_LEVEL_S — уровень логирования VPN-сервера. Значение по умолчанию — 0.

* VPN_NETWORK_MASQUERADE_SRC_S — описание подсети VPN-сервера, необходимое при отправке директив фаерволу (firewalld). Должно быть уникальным в случае, если в рамках одного хоста настроено более одного VPN-сервера.

* VPN_INTERNAL_NETWORK_MASQUERADE_DST_S — описание внутренней подсети, необходимое при отправке директив фаерволу (firewalld).

* VPN_INTERNAL_IP_DEV_NAME_S — имя интерфейса, смотрящего во внутреннюю сеть.

* VPN_TUN_DEV_NAME_S — имя интерфейса, используемого при старте VPN-сервера. Должен быть уникальным в случае, если в рамках одного хоста настроено более одного VPN-сервера.

* VPN_SERVER_INT_FIREWALLD_ZONE_S — зона фаервола, к которой должны принадлежать интерфейсы:

а) VPN_TUN_DEV_NAME_S;

б) VPN_INTERNAL_IP_DEV_NAME_S;

в) интерфейс, являющийся дефолтовым гейтвэем для VPN-сервера.

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

Параметры, относящиеся только к генерации клиентских сертификатов и конфига (create_cli_cert_and_conf.sh):

* IP_VPN_SERVER_CL — белый (и статичный) ip-адрес (или доменное имя), к которому необходимо обратиться VPN-клиенту для доступа к интрасети.

* VPN_PORT_CL — соответствующий порт для параметра IP_VPN_SERVER_CL.

* VPN_CLI_LOG_DIR_LINUX_CL — директория хранения лог-файлов, если клиент VPN-сервера — это хост с ОС Linux.

* VPN_CLI_LOG_LEVEL_CL — уровень логирования VPN-клиента.

Параметры EASY-RSA (используются как при генерации сертификатов как для VPN-сервера, так и для клиента):

* EASY_RSA_DIR_C — место расположения исполняемого файла easyrsa. Дефолтовое значение - /usr/share/easy-rsa/3.

* EASYRSA_CERT_EXPIRE_EV — время устаревания (в днях) выпущенных сертификатов (в т.ч. и корневого). Дефолтовое значение — 3654 дней (10 лет).

* EASYRSA_CRL_DAYS_EV – время устаревания (в днях) списка отзыва сертификатов (CRL). Дефолтовое значение — 3654 дней (10 лет).

* EASYRSA_KEY_SIZE_EV – размер ключа шифрования.

* EASYRSA_REQ_COUNTRY_EV – страна.

* EASYRSA_REQ_PROVINCE_EV – область.

* EASYRSA_REQ_CITY_EV – город.

* EASYRSA_REQ_ORG_EV – организация.

* EASYRSA_REQ_OU_EV – подразделение организации.

* EASYRSA_REQ_CN_EV – имя сервера.

* EASYRSA_REQ_EMAIL_EV – email-адрес администратора.

=================


4. Заключение

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

Если удалить клиентский сертификат из директории «issued» (структура управления ключами easyrsa), то его отзыв (посредством команды revoke) при компрометации окажется недоступным, что создаёт вероятность использования такого сертификата злоумышленниками. И в этом случае единственным вариантом обезопасить интранет от посторонних глаз — перевыпуск корневого сертификата, что влечёт за собой необходимость перевыпуска остальных сертификатов.

Логично было бы генерировать не список отозванных сертификатов (CRL), а список актуальных сертификатов (например, Cert Actual List), но, видимо, разработчики OpenVPN (а также Easy-RSA), когда-то решили иначе, что создаёт необходимость очень тщательно следить за всеми выпущенными/отозванными сертификатами.


Ссылка на репозиторий "openvpn_helper"

Показать полностью
[моё] IT Программирование Разработка VPN Openvpn Open Source Linux Системное администрирование Длиннопост
22
10
SevskXY
SevskXY
Пикабушники Узбекистана

Использование openvpn в Узбекистане под запретом?⁠⁠1

3 года назад

Приехали на отдых в Узбекистан, но работа и тут нас достала.. Мне нужно было подключиться к внутренней корп сети через openvpn, но ни в отеле, ни через мобильный интернет и даже через c-space ( коворкинг) ничего не вышло. Местный сис. админ пытался помочь, но все глухо.
В интернетах пишут много противоречивой информации. В итоге можно или нельзя впн пользоваться? Если можно, то зачем такие заморочки, если нельзя то на чем основано ограничение? Пробовали разное с корп ит-сапом, пока ничего не придумали. Это конечно мне на руку, может отпуск хоть раз нормально отгуляю:)

[моё] Узбекистан Openvpn Интернет Запрет Текст
47
BOLNICHKA39

Роутер на Openwrt в качестве моста⁠⁠

3 года назад

Есть два роутера, к Wan сети должен быть подклбчен  роутер номер 1 с установленным openvpn, на нем же стоит openwrt, и по задумке , к нему по lan должен быть подключен роутер номер 2  не на openwrt и к этому роутеру будут подключены все вайфай и Лан устройства. На роутер номер 2 openwrt не может быть установлен, но нужен openvpn. Идея в том, чтоб все устройства подключались к роутеру номер 2, и по lan весь сигнал проходил через роутер номер 1, который будет пропускать сигнал выборочно по впн или обычной сети. Сам openvpn установить смогу, а вот как сделать из роутера мост по lan?

Openwrt Роутер Openvpn Текст
9
ashfire
ashfire

OpenVPN Client FreeBSD⁠⁠

3 года назад

Сколько не искал, не нашел мануалов по настройке именно клиента OpenVPN, т.е чтоб подсунуть profile.ovpn. Везде только настройка сервера OVPN. Может есть какой скрипт, где нужно только подсунуть *.ovpn  А еще лучше если это будет инструкция для docker или jails.

[моё] Openvpn Freebsd Помощь Инструкция Гайд Текст
9
1877
Vonnaru
Vonnaru

Простейшая настройка собственного VPN⁠⁠

3 года назад

Добрый день, пикабушники!

Сразу скажу: я не собираюсь строить из себя эксперта в этой области, но в последнее время тема стала крайне актуальной, просили помочь с установкой и настройкой многие друзья и родственники, и даже тут, на пикабу, пришлось пару раз отметиться по этому вопросу, где меня и попросили запилить пост. (@Warspirit, ты в телевизоре). Ну что ж, мне не трудно, многим полезно.

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

В итоге у нас будет: недорогой VPN, работающий на арендованном нами сервере по протоколу OpenVPN, работающий быстрее всех бесплатных аналогов и очень многих платных. Самый простой, без всяких плюшек вроде маскировки туннеля, выбора отдельных сайтов, которые через этот туннель будут открываться и прочих финтифлюшек, простая рабочая машина, которая обеспечивает отличные скорость и конфиденциальность, а большего нам и не нужно. Итак, поехали.

Для начала определимся с терминологией на случай, если кому-то еще не прожужжали на эту тему все уши.

• VPN –надежный «туннель» от вас до удаленного сервера. Все провайдеры, спецслужбы и прочие заинтересованные лица снаружи могут увидеть только пункт назначения и гору непонятных буковок, которые представляют собой шифрованное «что, куда и откуда».

• VPS/VDS – между двумя этими понятиями для нас разницы нет. По сути, это виртуальный компьютер где-то далеко, на котором мы и будем поднимать VPN-сервер.

• VPN-сервер – программа, которая стоит на удаленном компьютере и является одной из сторон создания туннеля. Вторая сторона – ваш компьютер/телефон.

• OpenVPN – одна из технологий создания VPN-туннеля, созданная еще 20 лет назад, но с тех пор только прибавившая актуальности. Поддерживает десятки алгоритмов шифрования, имеет огромный пласт возможностей, но из всего этого нам надо знать то, что он быстр, он надежен и его еще никто не взломал. Во всяком случае, об этом не известно широкой аудитории, а абсолютно надежных систем не существует. Имеет приложения для Windows, Linux, Mac, Android и iPhone. Вероятность того, что ваше устройство не в этом списке, исчезающе мала.

• Хостер – тот, кто сдал вам в аренду сервер.

Затем нужно определиться с выбором сервера. Минимальные системные требования настолько минимальны, что подойдет практически любой VPS, который существует на рынке. В данный момент у меня трудится сервер с 512 МБ RAM, 10 ГБ ROM и одним 3 ГГц ядром процессора, а обычная нагрузка по всем показателям не превышает 10-20%. Единственное, на что стоит обратить внимание – наличие TUN/TAP устройства (если вам нужна эта статья, то никакой практической пользы эта информация вам не принесет, так что можете не вникать), но о его отсутствии обычно предупреждается большими красными буквами. Кроме того, обязательная характеристика – линукс. (проблем тут он вам не доставит). Желательно – Debian или CentOS последней версии, которая доступна на сайте. Windows не брать ни в коем случае, она дороже и не подходит для быстрой установки описанным способом. Операционная система выбирается при покупке сервера, потом ее можно переустановить.

С требуемыми характеристиками разобрались. Осталось определить местоположение сервера.

Если вам нужна конфиденциальность, то наилучшим вариантом, конечно же, будет зарубежный сервер. Как минимум потому, что вытащить информацию о том, куда ходил такой-то IP, из другой страны на порядок сложнее, чем потребовать ее от своего провайдера. Сам протокол OpenVPN предоставляет достаточную надежность, чтобы не бояться прослушки канала провайдером и заинтересованными лицами, особенно если поэкспериментировать с настройками шифрования (каждое изменение стандартных настроек, особенно алгоритма хеширования, усложняет взлом в разы при условии использования надежных алгоритмов).

После недавних колебаний курса цены на зарубежный VPS в общем выросли, но пока что еще держатся в пределах разумного (надеюсь, это надолго, но, возможно, при покупке имеет смысл оплатить сразу на несколько месяцев, чтобы потом не потратить лишнего). Сразу могу предупредить, что легко мог пропустить хорошее предложение, поэтому прошу добавить в комментариях, если у кого есть более вкусные варианты. Кроме того, я не знаю, что сейчас творится с оплатой зарубежных сервисов, так что эту сторону вопроса я попросту не учитывал.

Самый простой вариант выбора – загуглить «аренда vps в европе». Цены будут нормальными, но все же гораздо выше, чем если подбирать вдумчиво. Например, https://gcorelabs.com/ru/hosting/vds/europe/ За 240 рублей в месяц вы получаете вполне приятный по характеристикам сервер, несколько европейских столиц на выбор и 200 мбит/с канал с безлимитом по трафику. Но я бы все же рекомендовал открыть страницу с подбором сервера, как эта https://hostinghub.ru/vps-search/ и подобрать себе подходящий вариант в любой стране мира.

Из российских серверов подойдет практически любой. Я пользуюсь https://skyhost.ru за 84-80 руб/мес (в зависимости от периода оплаты. Довольно распространенная практика), но канал тут только 10 мбит/с, мне больше и не надо. Есть и дешевле, но там либо проблемы со стабильностью, либо большие ограничения. Если хотите скорости – https://justhost.ru/ , то же самое, но с каналом 200 мбит/с и на 20 рублей дороже. Хотите что-то интереснее – десятки сайтов-агрегаторов к вашим услугам по запросу «подбор vps.

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

После оплаты вам на почту через некоторое время падает IP-адрес, логин и пароль. Выглядит это примерно так:

Обращаю ваше внимание, в письме одновременно может быть и адрес панели управления, но нам сейчас нужен блок, в котором находится IP (четыре числа, разделенных точкой).

Логин-пароль мы получили. Пользователи Linux и MacOS открывают терминал и вводят туда «ssh root@<IP-адрес сервера>, мы же идем на сайт https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.ht... и скачиваем вот этот файлик:

Открываем, соглашаемся с предупреждением, если оно возникает, устанавливаем. В меню программ появляется папка PuTTy, в ней мы открываем одноименный файл PuTTy. Появляется вот такое окно. В указанное окошко вводим IP, нажимаем Open. Больше ничего не меняем.

В итоге у всех вылезло черное окно терминала, в котором система просит нас ввести логин и пароль или просто пароль. (При первом подключении будет предупреждение о неизвестном сервере, соглашаемся). Вводим. (Копирование и вставка осуществляются с помощью нестандартных Ctrl+Shift+C/V, кроме того, вставить можно просто кликом правой кнопкой мыши по окну. Символы пароля при вводе не отображаются даже в виде звездочек. Не пугайтесь, они есть, просто невидимы. Ошиблись – три секунды держите кнопку «стереть»). Иногда случается так, что присланный пароль не работает ни в какую, тогда мы идем на сайт хостера и через панель клиента меняем его на свой. Обычно там все написано, но если возникли проблемы – опять же, комментарии или техподдержка.

В итоге у нас есть вот такое окно, в которое последовательно вставляем три команды, после каждой нажимаем «ввод» и дожидаемся завершения (снова появится вот такая строка-приглашение к вводу)

Команды взяты со страницы разработчика скрипта: https://github.com/angristan/openvpn-install . Все проверено, вирусов нет. Копируем полностью, от первого символа до последнего, точки не забываем, пробелы в конце и в начале простительны

1.

curl -O https://raw.githubusercontent.com/angristan/openvpn-install/...

2. chmod +x openvpn-install.sh

3. ./openvpn-install.sh

После этого программа начинает работать сама, вам нужно лишь нажимать Ввод, когда она просит, оставляя все как есть, и дожидаться того момента, когда она попросит придумать имя нового подключения. Займет это около минуты. Приглашение выглядит так:

Придумываем не слишком сложное имя и два раза нажимаем Ввод, пока снова не появится приглашение ко вводу. Вводим команду ls (эл-эс английские, маленькие)

Появится список всех файлов в данной директории. Среди них будет один под названием <введенное_вами_имя>.ovpn Печатаем:

cat <введенное_вами_имя>.ovpn

Выделяем снизу вверх все от “</tls-crypt> до строчки “client”, строка приглашения к вводу в выделение попасть не должна. Копируем сочетанием клавиш Ctrl+Shift+C. Открываем блокнот и вставляем. Сохраняем где-нибудь на рабочем столе с любым именем файла, но заканчиваться оно должно на .ovpn. Обратите внимание на рамочку на скриншоте, там должно значиться именно «Все файлы».

Идем на сайт https://openvpn.net/vpn-client/ и скачиваем приложение под свою систему. Устанавливаем. Открываем. Окно выглядит так. Переходим на вкладку File и перетягиваем в окошко наш файлик, сохраненный на рабочем столе, либо открываем его же с помощью кнопки Browse

Нажимаем оранжевую кнопочку Connect и наслаждаемся. Значок программы появился на панели задач, когда надо включить или отключить VPN (некоторые сайты, тот же авито, отказываются через него работать) мы нажимаем на нее и используем зеленый переключатель в левом верхнем углу.

Приложение для телефона можно скачать в Play Market или App Store. Для него потребуется точно такой же файлик, можно даже этот. Но два одновременных соединения с помощью одного файлика (он называется профиль) установить не получится, поэтому для создания второго, третьего и десятого, которые можно распространить по всей семье или среди друзей, мы снова подключаемся к серверу, как и раньше, и вводим команду

./openvpn-install.sh

Выпадает небольшое меню, в котором мы можем добавить новый профиль, удалить один из существующих (он больше не сможет подключиться) или вовсе удалить OpenVPN с сервера. Выбираем 1, придумываем имя, два раза нажимаем на ввод и опять копируем вывод команды cat <введенное_вами_имя>.ovpn в файлик на рабочем столе, откуда его можно передать куда угодно. Работает пересылка по ватсап и телеграм, а также по другим мессенджерам. На принимающей стороне надо всего лишь установить приложение и нажать на присланный файл, после чего соединиться.

Как-то так. В ближайшем будущем планировал записать нормальное видео, как это делается, и добавить в комментарии, но пока что существует только текстовая инструкция. Создано под давлением родственников и знакомых)

Показать полностью 9
[моё] Linux VPS VPN Openvpn Сервер Инструкция Длиннопост
487
0
MrZhuliK
MrZhuliK
Лига тыжпрограммистов

Выбор роутера⁠⁠

3 года назад

Привет! Нужен совет. Ищу wifi роутер домой с поддержкой openvpn client tls1.2 и выше. У асус есть из коробки, но нужна какая-то свежая модель, старые поддерживают только 1.0. Опнврт прошу не предлагать, знаю его, пользуюсь, тут же задача найти роутер работающий из коробки. Заранее спасибо

Роутер Компьютерная помощь Openvpn Без рейтинга Текст Вопрос Нужен совет
20
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии