-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathVPN_WireGuard
More file actions
108 lines (99 loc) · 7.45 KB
/
VPN_WireGuard
File metadata and controls
108 lines (99 loc) · 7.45 KB
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Установка и настройка VPN-сервера на ОС Linux Fedora 42.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Все действия описанные ниже выполнялись под пользователем root.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y NetworkManager-tui |#|#| Установка пакета "nmtui" для настройки сети на АРМ/VM
------------
Гайд по тому, как пользоваться инструментом nmtui, вы можете посмотреть в интернете.
------------
yum upgrade -y && reboot |#|#| Команда для обновления ОС системы с последующим выполнением перезагрузки
------------
yum install -y wireguard-tools |#|#| Команда для установки WireGuard и его зависимостей
------------
yum install -y kernel-devel kernel-headers |#|#| Команда для обновления системы и дополнительных зависимостей
------------
wg --version |#|#| Команда для просмотра версии WireGuard
------------
mkdir -p /etc/wireguard |#|#| Команда для создания каталога "/etc/wireguard"
------------
chmod 700 /etc/wireguard |#|#| Команда для выдачи 700 прав каталогу "/etc/wireguard"
------------
wg genkey | sudo tee /etc/wireguard/private.key |#|#| Команда для генерации приватного ключа
------------
chmod 600 /etc/wireguard/private.key |#|#| Команда для выдачи 600 прав созданному ранее приватному ключу
------------
cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key |#|#| Данной командой извлечем публичный ключ из приватного
------------
cat /etc/wireguard/private.key |#|#| Команда для просмотра содержимого файла приватного ключа
------------
cat /etc/wireguard/public.key |#|#| Команда для просмотра содержимого файла публичного ключа
------------
nano /etc/wireguard/wg0.conf |#|#| С помощью данной команды создайте и приведите конфигурационный файл "wg0.conf" к следующему виду:
[Interface]
Address = 10.10.10.1/24 |#|#| Новая сеть
SaveConfig = true
#PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = OPwdq2RslCwlOXrWYnZ73lUsAvZA1O62GsmsA5WgQUg= |#|#| Содержимое файла "/etc/wireguard/private.key"
[Peer]
PublicKey = K+8GllxeA8Ubiqno+ScE/HvDwj2vap8OFi2dMjZzHTQ= |#|#| Содержимое файла "client_public.key". Данный файл создастся позже
AllowedIPs = 10.10.10.0/24 |#|#| Клиенту выдастся IP-адрес из новой подсети
Endpoint = 10.10.10.2:51820 |#|#| IP-адрес клиента из новой сети
------------
firewall-cmd --add-port=51820/udp --permanent |#|#| Команда для открытия порта "51820/udp"
------------
firewall-cmd --reload |#|#| Команда для приминения изменений "firewall-cmd"
------------
wg genkey | tee client_private.key |#|#| Команда для генерации нового приватного ключа
------------
client_private.key | wg pubkey > client_public.key |#|#| Команда для извлечения публичного ключа из приватного
------------
nano /etc/wireguard/client.conf |#|#| С помощью данной команды создайте и приведите конфигурационный файл "client.conf" к следующему виду:
[Interface]
PrivateKey = AKLZ+QjEIAEqrXCryLEVo6CM5XGG1q20LewwSjsSCGA= |#|#| Содержимое файла "client_private.key"
Address = 10.10.10.2/24 |#|#| Второй адрес новой сети
DNS = 77.88.8.8
[Peer]
PublicKey = 97qd1bRWAJMLk13MW5GL0ZBkqW6ltf5lc6nCZysy4mM= |#|#| Содержимое файла "/etc/wireguard/public.key"
Endpoint = 10.10.10.1:51820
AllowedIPs = 0.0.0.0/0
--------------------------------------------------------------------------------------------------------------------------------------------------------------
wg-quick up wg0 |#|#| Команда для запуска сетевого интерфейса WireGuard
------------
cd /etc/wireguard/ |#|#| Команда для перехода в каталог "/etc/wireguard/"
------------
wg-quick up ./client.conf |#|#| Команда для инициализации подключения "client.conf"
При успешном подключении, в консоли получите следующий вывод:
root@OVPN:/etc/wireguard# wg-quick up ./client.conf
[#] ip link add client type wireguard
[#] wg setconf client /dev/fd/63
[#] ip -4 address add 10.10.10.2/24 dev client
[#] ip link set mtu 65456 up dev client
[#] resolvconf -a client -m 0 -x
[#] wg set client fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev client table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
------------
А при выполнении команды "wg show", получите значения "endpoint, allowed ips, latest handshake, transfer":
peer: K+8GllxeA8Ubiqno+ScE/HvDwj2vap8OFi2dMjZzHTQ=
endpoint: ***.***.***.***:18080
allowed ips: 10.10.10.0/24
latest handshake: 2 minutes, 5 seconds ago
transfer: 252 B received, 9.30 KiB sent
------------
Конфигурационный файл "clinet.conf" для импортирования на устройства будет выглядеть следующим образом:
[Interface]
PrivateKey = AKLZ+QjEIAEqrXCryLEVo6CM5XGG1q20LewwSjsSCGA= |#|#| Содержимое файла "client_private.key"
Address = 10.10.10.2/24 |#|#| IP-адрес клиента из новой сети
DNS = 77.88.8.8
[Peer]
PublicKey = 97qd1bRWAJMLk13MW5GL0ZBkqW6ltf5lc6nCZysy4mM= |#|#| Содержимое файла "/etc/wireguard/public.key"
Endpoint = ***.***.***.***:51820 |#|#| Белый IP-address
AllowedIPs = 10.10.10.0.24 |#|#| Подсети в которых будет находиться устройство
PersistentKeepalive = 20 |#|#| Интервал отправки keepalive-пакетов для поддержания соединения. Он указывается в секундах.
------------
После подключения клиента к серверу, в конфигурационном файле сервера "/etc/wireguard/wg0.conf" поменяется значение строки "Endpoint" в блоке "[Peer]".
В дальнейшем там будет прописан белый IP-address подключаемого устройства(клиента).
--------------------------------------------------------------------------------------------------------------------------------------------------------------
На этом инструкция завершена! Всем спасибо за внимание!