Источники
Установка средствами Docker-compose
Создание отдельного файла под пароли:
В этот файл прописываем всю приватную информацию:
1
2
3
WG_HOST = <your_host>
PASSWORD = "<your_password>"
WG_ALLOWED_IPS = "0.0.0.0/0, ::/0"
Имя файла указываем в параметре env_file
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
---
version : "3"
services :
wg-easy :
image : weejewel/wg-easy:latest
container_name : wg-easy
cap_add :
- NET_ADMIN
- SYS_MODULE
environment :
- TZ=Europe/Moscow
- WG_PORT=51829
- WG_DEFAULT_ADDRESS=10.0.3.x
- WG_DEFAULT_DNS=10.5.0.2, 8.8.8.8
env_file :
- wgeasy_pass.env
volumes :
- /dconf/wireguard/admin/.wg-easy:/etc/wireguard
ports :
- 51829 : 51820 /udp
- 51510 : 51821 /tcp
networks :
network :
ipv4_address : 10.5.0.3
sysctls :
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv4.ip_forward=1
restart : unless-stopped
networks :
network :
driver : bridge
ipam :
config :
- subnet : 10.5.0.0 /16
gateway : 10.5.0.1
В этом конфиге прописана отдельная сеть для этого контейнера, и указан фиксированный ip для него. Это удобно когда нужно связать 2 или более сервисов. В моем случае в этом же docker compose прописан и AdGuardHome .
1
2
docker compose pull
docker compose up -d
CLI Установка
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
docker run -d \
--name= "wg-easy" \
-p 51823:51820/udp \
-p 51515:51821/tcp \
-v /dconf/wireguard/.wg-easy:/etc/wireguard \
-e WG_HOST = dotgs.ru \
-e WG_PORT = "51823" \
-e PASSWORD = "<your_password>" \
-e WG_DEFAULT_ADDRESS = "10.0.10.x" \
-e WG_DEFAULT_DNS = "8.8.8.8" \
-e WG_ALLOWED_IPS = "0.0.0.0/0, ::/0" \
--cap-add= NET_ADMIN \
--cap-add= SYS_MODULE \
--sysctl= "net.ipv4.conf.all.src_valid_mark=1" \
--sysctl= "net.ipv4.ip_forward=1" \
-e TZ = Europe/Moscow \
--restart unless-stopped \
weejewel/wg-easy:latest
Удаление
1
2
3
docker stop wg-easy ; \
docker rm wg-easy ; \
docker rmi weejewel/wg-easy
Настройка
Закрываем веб морду WireGuard Easy для внешней сети. Если это сделать, то зайти на нее можно будет только подключившись к VPN или с самого сервера.
1
iptables -I DOCKER-USER -i eth0 -p tcp --dport 51821 -j DROP
eth0 - внешний интерфейс по умолчанию. Но он может быть иным.