WireGuard является одним из наиболее популярных и простых в использовании VPN-решений, предоставляющих безопасное сетевое соединение. Если вы ищете быстрый и простой способ развернуть собственный VPN-сервер WireGuard с WEB-интерфейсом, то Docker-контейнер представляет отличное решение. В этой статье мы рассмотрим, как установить и запустить Docker-контейнер WireGuard с WEB-интерфейсом за одну команду, а также как подключиться к нему с различных устройств.
Для начала необходимо установить Ansible
, инструмент автоматизации развертывания приложений на удаленных серверах. Выполните следующую команду для установки Ansible:
sudo apt install ansible
Также чтобы ansible
подключатся к удаленному серверу через пароль установите:
sudo apt install sshpass
Далее создайте файл inventory.yml
, в котором нужно указать данные для подключения к серверу, например:
---
all:
hosts:
ИмяСервера1:
ansible_host: IP_Адрес
ansible_user: Пользователь
# SSH порт
ansible_port: 22
# Для этого устанавливали sshpass
ansible_ssh_pass: Пароль
Замените ИмяСервера
, IP_Адрес
, Пользователь
и Пароль
на соответствующие значения для вашего сервера.
Теперь можно выполнить команду для развертывания WireGuard WEB UI сервера с помощью Docker-контейнера:
ansible-playbook -i ./inventory.yml -l ИмяСервера1 ./wireguard/install_wireguard_server.yml -e PasswordServer=990990
Здесь ИмяСервера
- имя вашего сервера, PasswordServer
- пароль для WEB-версии WireGuard. После успешного выполнения команды, WEB-версия WireGuard будет доступна по URL: IP_Адрес:51821
. По умолчанию пароль 990990
Чтобы подключиться к VPN-серверу WireGuard с вашего телефона, выполните следующие шаги:
-
Установите приложение WireGuard на свой телефон.
-
Отсканируйте QR-код, как показано на скриншоте ниже:
-
Нажмите "Добавить" и сохраните настройки VPN.
Для подключения к VPN-серверу WireGuard на Linux выполните следующие шаги:
-
Получите файл конфигурации для подключения к VPN-серверу. Выглядит он примерно так:
-
Установить WireGuard
sudo apt install wireguard
-
Скопируйте файл конфигурации в папку
/etc/wireguard/
с помощью следующей команды:cp ИмяКонфигурации.conf /etc/wireguard/
-
Подключитесь к VPN-серверу WireGuard с помощью следующей команды:
sudo wg-quick up ИмяКонфигурации
-
Чтобы отключиться от VPN, выполните следующую команду:
sudo wg-quick down ИмяКонфигурации
Теперь у вас есть свой собственный WireGuard VPN сервер с WEB-интерфейсом, развернутый с помощью Docker-контейнера. Вы можете подключиться к нему с различных устройств, включая телефоны и компьютеры с Linux. WireGuard предоставляет безопасное и эффективное шифрованное соединение, которое защищает вашу приватность и обеспечивает безопасность передачи данных в интернете.
В современном мире облачные хранилища данных становятся все более популярными. Они предлагают удобный способ хранить, синхронизировать и обмениваться файлами, обеспечивая доступ к ним с любого устройства и из любой точки мира. Однако, многие пользователи предпочитают иметь полный контроль над своими данными и использовать собственные серверы для развёртывания облачных хранилищ. В этой статье мы рассмотрим, как развернуть NextCloud - одно из самых популярных облачных хранилищ с открытым исходным кодом - на HTTPS всего за одну команду.
Мы покажем вам пример команды развёртывания NextCloud на HTTPS, которую можно использовать для создания собственного облачного хранилища данных. Также рассмотрим создание резервной копии файлов NextCloud с помощью RSYNC и создание бесплатного доменного имени для обеспечения доступа к вашему облачному хранилищу из интернета.
Данная статья будет полезна как начинающим пользователям, которые только начинают знакомиться с NextCloud, так и опытным системным администраторам, которые хотят упростить и автоматизировать процесс развёртывания и управления своим облачным хранилищем.
Создайте на сервере папку по пути /mnt/extdisk
. Это может быть смонтированный внешний диск
-
Посмотреть список всех дисков
sudo lsblk # Получить список дисков и их размер sudo blkid # Получить UID диска
-
Создать точку(папку) монтирование для диска
sudo mkdir /mnt/extdisk
-
Добавить диск в конфигурационный файл
/etc/fstab
sudo nano /etc/fstab
UUID=cf0d6629-2bd3-4874-94bf-053e750ae973 /mnt/extdisk auto defaults 1 0
cf0d6629-2bd3-4874-94bf-053e750ae973
- Это примерный UUID
-
Теперь можно применить изменения, выполнив команду . Это применит настройки из файла fstab и монтирует ваш внешний диск в указанную точку монтирования.
sudo mount -a
Или это можно сделать вручную
sudo mount /dev/sdX1 /mnt/extdisk
Чтобы от монтировать диск, выполните:
sudo umount /mnt/extdisk
Пример команды для развёртывания NextCloud на HTTPS можно найти в репозитории NextCloud Docker на GitHub: https://github.com/nextcloud/docker/tree/master/.examples/docker-compose/insecure/postgres/fpm.
- Выполните следующую команду, чтобы передать переменные из командной строки во время запуска
docker-compose
:
ansible-playbook -i ./inventory.yml -l ИмяСервера1 ./nextcloud/install_nextcloud_server.yml -e POSTGRES_PASSWORD=10101010 -e UUID_EXTERNAL_DISK=cf0d6629-2bd3-4874-94bf-053e750ae973
- Параметр
POSTGRES_PASSWORD
- пароль для базы данных PostgreSQL. - Параметр
UUID_EXTERNAL_DISK
- uuid вашего внешнего диска, его можно получить черезblkid
- Подождите около 2 минут, чтобы все приложения запустились.
- Перейдите по URL-адресу
https://Хост
. - Создайте учётную запись администратора, указав следующие данные:
- Пользователь: nextcloud
- Пароль: nextcloud10101010
- Рекомендуется пропустить установку рекомендуемых расширений.
DISK=$HOME
ansible-playbook -i ./inventory.yml -v -l ИмяСервера1 ./nextcloud/backup_nextcloud_server.yml -e LOCAL_PATH_BACKUP="$DISK/backup_nextcloud"
- Параметр
LOCAL_PATH_BACKUP
- путь на локальной машине, куда будет сохранена резервная копия.
- Зарегистрируйтесь на
https://my.noip.com/
. - Войдите в панель управления
https://my.noip.com/dynamic-dns
. - Создайте доменное имя:
- Новое доменное имя.
- Адрес сервера.
- Развернуть
FileBrowser
на удаленном сервере
ansible-playbook -i ./inventory.yml -v -l ИмяСервера1 ./filebrowser/up.yml
- Конфигурации из контейнера FileBrowser будет храниться в папке
/home/filebrowser_conf
на удаленном сервере. Команда ниже скачивает эту папку с удаленного сервера в локальную папку./filebrowser/filebrowser_conf
ansible-playbook -i ./inventory.yml -v -l ИмяСервера1 ./filebrowser/download_conf.yml
- Вы можете смонтировать локальную папку на удаленный сервере через обратный SHH туннель и
sshfs
LOCAL_PATH="..."
LOCAL_PASSWORD="..."
ansible-playbook -i ./inventory.yml -v -l ИмяСервера1 ./filebrowser/local_mount.yml -e LOCAL_USER=$USER -e LOCAL_PATH="'$LOCAL_PATH'" -e LOCAL_PASSWORD=$LOCAL_PASSWORD
Что делает команда:
ssh -R -N 8989:localhost:22 root@95.163.237.188 &
Данная команда устанавливает удаленное пробросление порта через SSH на удаленной машине с IP-адресом 95.163.237.188
.
Подробнее, она создает проброс порта, где порт 8989
на удаленной машине будет перенаправляться на порт 22
(стандартный порт SSH) на локальной машине (той, с которой выполняется команда). То есть, когда удаленный сервер будет получать соединение на порт 8989
, это соединение будет перенаправляться на порт 22
локальной машины.
Команда выполняется от имени пользователя root
на удаленной машине, что означает, что у вас должны быть права администратора на этой машине для ее выполнения.