|
3 months ago | |
---|---|---|
README.md | 3 months ago | |
wg_ios1.png | 1 year ago | |
wg_ios2.jpg | 1 year ago | |
wg_win1.png | 1 year ago | |
wg_win2.png | 1 year ago | |
wg_win3.png | 1 year ago |
README.md
Запуск Docker-контейнера VPN-клиента
Для корректной работы необходимо добавить параметр --privileged
.
Пример запуска контейнера с WireGuard:
docker run -d --rm --dns=8.8.8.8 --privileged --name wireguard_container wireguard_im
Чтобы скопировать конфигурационный файл для VPN-клиента с сервера, используйте команду:
scp work_user@194.135.20.130:~/wireguard/config/peer5/peer5.conf .
Где peer5 — это идентификатор устройства. Рекомендуется заранее уточнить, какой номер у последнего выданного конфига, чтобы избежать конфликта при одновременном подключении нескольких устройств по одному конфигу.
Запуск Docker-контейнера через VPN-клиент
Чтобы контейнер работал через VPN-соединение, его необходимо подключить к контейнеру, в котором запущен VPN-клиент (обычно он называется wireguard_container).
Для этого при запуске контейнера укажите параметр --network container:wireguard_container
.
Пример запуска контейнера через VPN:
docker run --rm --network container:wireguard_container -it ubuntu sh
Установка и запуск WireGuard на пользовательском устройстве
После загрузки конфигурационного файла необходимо настроить клиент WireGuard в зависимости от используемого устройства.
Шаг 0: Получение конфигурационного файла
scp work_user@194.135.20.130:~/wireguard/config/peer5/peer5.conf .
Рекомендуется заранее уточнить, какой номер у последнего выданного конфига.
Шаг 1: Установка WireGuard
Перейдите на официальный сайт WireGuard и выберите версию для своей операционной системы.
Настройка WireGuard на разных платформах
Смартфоны (Android, iOS)
- Установите приложение WireGuard из магазина приложений.
- Откройте приложение и нажмите на кнопку
+
в верхнем правом углу. - Выберите "Создать из файла или архива" и укажите загруженный файл
peerN.conf
. - Альтернативный вариант: если известно, что подключение будет использоваться на смартфоне, можно скачать QR-код (
peerN.png
). Откройте его на компьютере и отсканируйте камерой телефона.
Windows и macOS
- Установите WireGuard с официального сайта.
- Нажмите "Добавить туннель" в нижнем левом углу и выберите файл
peerN.conf
. - Альтернативный вариант: вместо загрузки файла можно выбрать "Добавить пустой туннель" и вручную вставить содержимое
peerN.conf
.
Примеры интерфейса на Windows:
Linux
-
Установите WireGuard:
sudo apt update && sudo apt install wireguard
Для других дистрибутивов инструкции находятся на официальном сайте.
-
Создайте папку
/etc/wireguard
, если ее нет:sudo mkdir -p /etc/wireguard
-
Скопируйте загруженный конфиг в
/etc/wireguard/
:sudo cp peerN.conf /etc/wireguard/
-
Запустите VPN:
sudo wg-quick up peerN
Где
peerN
— это название конфигурационного файла (например,peer5
). -
Чтобы отключиться:
sudo wg-quick down peerN
-
Если не удалось подключиться и появляются ошибки, установите необходимые пакеты:
sudo apt update && sudo apt install iproute2 iptables
Дополнительно: настройка маршрутов
По умолчанию весь трафик идет через VPN. Это регулируется параметром AllowedIPs
в файле .conf
.
Вариант 1: Разрешить только определенные IP-адреса через VPN
Можно использовать онлайн-калькулятор:
WireGuard AllowedIPs Calculator
В нем можно указать список исключений, после чего скопировать и вставить сгенерированные IP-адреса в AllowedIPs
.
Вариант 2: Использование ip route
для настройки исключений (Linux)
Добавьте в конфигурационный файл WireGuard (peerN.conf
) исключения, которые должны проходить мимо VPN:
[Interface]
PrivateKey = ...
Address = ...
# Добавляем маршруты перед включением WireGuard
PreUp = ip route add 1.2.3.4 via 192.168.1.1 dev eth0
PreUp = ip route add 5.6.7.0/24 via 192.168.1.1 dev eth0
# Удаляем маршруты после отключения WireGuard
PostDown = ip route del 1.2.3.4 via 192.168.1.1 dev eth0
PostDown = ip route del 5.6.7.0/24 via 192.168.1.1 dev eth0
[Peer]
PublicKey = ...
AllowedIPs = 0.0.0.0/0
В этом примере:
1.2.3.4
и5.6.7.0/24
будут направляться через основной интерфейсeth0
, а не через VPN.- После отключения WireGuard исключения удаляются.
Чтобы правильно указать интерфейс (eth0
), используйте команду:
ip address
Для проверки маршрутов выполните:
ip route show table main