-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWireguard_setup
65 lines (46 loc) · 3.71 KB
/
Wireguard_setup
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Настройка VPN сервера Wireguard.
# Создание VM на Ubuntu с минимальными характеристиками 1 CPU, 1 Gb RAM.
# Сетевые настройки: Wireguard работает через UDP, поэтому следует обратить внимание входящие правила группы безопасности (должен быть открыт необходимый порт UDP).
sudo su apt update && apt upgrade -y #обновление сервера, пакеты
apt install -y wireguard #установка wireguard
wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey #генерим ключи сервера. tee записывает то, что передает wg genkey и выдает в STDOUT
chmod 600 /etc/wireguard/privatekey #выставляем права на файл приватного ключа
ip a #проверим, как называется сетевой интерфейс, будет использоваться в конфиге
vim /etc/wireguard/wg0.conf
[Interface]
PrivateKey = privatekey
Address = 10.8.0.1/32 # это будет адрес VPN-сервера
ListenPort = 51820 # используем любой удобный
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
#В строках PostUp и PostDown указан сетевой интерфейс ens3. Если у вас другой — замените на ваш.
#Вставляем вместо <privatekey> содержимое файла /etc/wireguard/privatekey
#Настраиваем IP форвардинг:
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
#Включаем systemd демон с wireguard:
systemctl enable [email protected]
systemctl start [email protected]
systemctl status [email protected]
#Создаём ключи клиента:
wg genkey | tee /etc/wireguard/name_privatekey | wg pubkey | tee /etc/wireguard/name_pubickey
Добавляем в конфиг сервера клиента:
vim /etc/wireguard/wg0.conf
[Peer]
PublicKey = <name_publickey> #содержимое файла /etc/wireguard/name_publickey
AllowedIPs = 10.8.0.2/32, 192.168.1.0/24 #IP пира и домашнюю сеть, в которой он сидит
Перезагружаем systemd сервис с wireguard:
systemctl restart wg-quick@wg0
На локальной машине (например, на ноутбуке) создаём текстовый файл с конфигом клиента:
vim name_wb.conf
[Interface]
PrivateKey = <CLIENT-PRIVATE-KEY>
Address = 10.8.0.2/32
ListenPort = 51820
[Peer]
PublicKey = <SERVER-PUBKEY>
Endpoint = <SERVER-IP>:51820
AllowedIPs = 10.8.0.0/24, 172.31.32.0/20 #IP созданной подсети (либо адрес сервера) и IP подсети, в которой расположен Wireguard сервер
PersistentKeepalive = 50
Здесь <CLIENT-PRIVATE-KEY> заменяем на приватный ключ клиента, то есть содержимое файла /etc/wireguard/name_privatekey на сервере. <SERVER-PUBKEY> заменяем на публичный ключ сервера, то есть на содержимое файла /etc/wireguard/publickey на сервере. <SERVER-IP> заменяем на IP сервера.
Этот файл открываем в Wireguard клиенте (есть для всех операционных систем, в том числе мобильных) — и жмем в клиенте кнопку подключения.