Thank you for reading this post, don't forget to subscribe!
Pritunl - поддерживает OpenVPN, IPSec, WireGuard, из коробки можно быстро, в течении нескольких минут настроить OpenVPN сервер. Имеет интуитивный, понятный web-интерфейс. Далее расскажу как на примере CentOS 7 настроить VPN сервер, создать пользователя, подключиться к нему (серверу) и пользоваться.
Установка необходимых репозиториев
Установка EPEL:
1 |
yum install epel-release -y |
Установка репозитория Mongo:
1 2 3 4 5 6 7 8 9 |
tee /etc/yum.repos.d/mongodb-org-4.2.repo << EOF [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc EOF |
Установка репозитория Pritunl:
1 2 3 4 5 6 7 8 |
tee /etc/yum.repos.d/pritunl.repo << EOF [pritunl] name=Pritunl Repository baseurl=https://repo.pritunl.com/stable/yum/centos/7/ gpgcheck=1 enabled=1 EOF |
Установка ключей:
1 2 3 |
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp |
Установка Mongo, Pritunl:
1 |
yum -y install pritunl mongodb-org |
Далее необходимо включить и запустить сервисы:
1 |
systemctl start mongod pritunl && systemctl enable mongod pritunl |
Разрешить HTTPS в настройках firewalld:
1 |
firewall-cmd --permanent --add-service=https |
1 |
firewall-cmd --reload |
Настройка Pritunl
Далее необходимо сгенерировать установочный ключ:
1 |
pritunl setup-key |
Открыть в браузере мастер настройки Pritunl сервера набрав в адресной строке https://<Server IP> откроется страница:
Указать ключ в поле "Enter Setup Key .." нажать Save, после кратковременной настройки Mongo базы откроется страница:
Генерируем в терминале пароль для пользователя pritunl:
1 |
pritunl default-password |
Данные для входа вводим в соответствующие поля.
Настройка Pritunl
На вкладке Server необходимо создать сервер:
Разрешить VPN порт (см скрин выше, поле Port):
1 |
firewall-cmd --permanent --add-port=13585/udp |
1 |
firewall-cmd --reload |
На вкладке Users добавить организацию и пользователя, снова перейти на вкладку Servers, добавить организацию нажав кнопку Attach Organization:
Запустить сервер нажав кнопку Start Server:
Сервер готов к работе.
Подключение клиента
Клиента можно загрузить с официального сайта HTTPS://CLIENT.PRITUNL.COM/ установить, запустить, скопировать из настроек созданного пользователя ссылку на профиль:
Импортировать профиль в клиента:
Подключиться, пользоваться.
Включение двухфакторной аутентификации
- Необходимо остановить сервер на вкладке Servers
- Кликнуть на созданный ранее сервер
- Включить параметр "Enable Google Authenticator"
У пользователя появится иконка штрих-кода, нужно будет его отсканировать или добавить код в ручную в Google Authenticator, реимпортировать профиль, на запрос OTP кода ввести код из GA.
Доп информация
======================================================================================================
Pritunl - update-systemd-resolved, ip command not found
~/.config/pritunl_client/profiles/client-id.log
стала появляться ошибка:
1 2 3 4 5 6 |
/usr/share/pritunl_client/update-systemd-resolved.sh tun1 xxx.xxx.xxx.xx xxx.xxx.xxx.xx init /usr/share/pritunl_client/update-systemd-resolved.sh: line 61: ip: command not found <11> update-systemd-resolved.sh: Invalid device name: 'tun1'. Usage: update-systemd-resolved.sh up|down device_name. WARNING: Failed running command (--up/--down): external program exited with error status: 1 Exiting due to fatal error |
ip
на компьютере присутствовала и работала корректно, ошибка стала проявляться в разных системах, даже установленных с "чистого листа", судя по всему скрипт update-systemd-resolved.sh
попросту не мог запустить эту команду, так как не мог найти путь к ней, добавление в скрипт, переменной окружения PATH
решило вопрос: