Skip to content

Commit 77d0071

Browse files
authored
Create VPN_WireGuard
1 parent d0f38dc commit 77d0071

1 file changed

Lines changed: 108 additions & 0 deletions

File tree

VPN_WireGuard

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
Установка и настройка VPN-сервера на ОС Linux Fedora 42.
2+
--------------------------------------------------------------------------------------------------------------------------------------------------------------
3+
Все действия описанные ниже выполнялись под пользователем root.
4+
--------------------------------------------------------------------------------------------------------------------------------------------------------------
5+
yum install -y NetworkManager-tui |#|#| Установка пакета "nmtui" для настройки сети на АРМ/VM
6+
------------
7+
Гайд по тому, как пользоваться инструментом nmtui, вы можете посмотреть в интернете.
8+
------------
9+
yum upgrade -y && reboot |#|#| Команда для обновления ОС системы с последующим выполнением перезагрузки
10+
------------
11+
yum install -y wireguard-tools |#|#| Команда для установки WireGuard и его зависимостей
12+
------------
13+
yum install -y kernel-devel kernel-headers |#|#| Команда для обновления системы и дополнительных зависимостей
14+
------------
15+
wg --version |#|#| Команда для просмотра версии WireGuard
16+
------------
17+
mkdir -p /etc/wireguard |#|#| Команда для создания каталога "/etc/wireguard"
18+
------------
19+
chmod 700 /etc/wireguard |#|#| Команда для выдачи 700 прав каталогу "/etc/wireguard"
20+
------------
21+
wg genkey | sudo tee /etc/wireguard/private.key |#|#| Команда для генерации приватного ключа
22+
------------
23+
chmod 600 /etc/wireguard/private.key |#|#| Команда для выдачи 600 прав созданному ранее приватному ключу
24+
------------
25+
cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key |#|#| Данной командой извлечем публичный ключ из приватного
26+
------------
27+
cat /etc/wireguard/private.key |#|#| Команда для просмотра содержимого файла приватного ключа
28+
------------
29+
cat /etc/wireguard/public.key |#|#| Команда для просмотра содержимого файла публичного ключа
30+
------------
31+
nano /etc/wireguard/wg0.conf |#|#| С помощью данной команды создайте и приведите конфигурационный файл "wg0.conf" к следующему виду:
32+
33+
[Interface]
34+
Address = 10.10.10.1/24 |#|#| Новая сеть
35+
SaveConfig = true
36+
#PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
37+
#PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
38+
ListenPort = 51820
39+
PrivateKey = OPwdq2RslCwlOXrWYnZ73lUsAvZA1O62GsmsA5WgQUg= |#|#| Содержимое файла "/etc/wireguard/private.key"
40+
41+
[Peer]
42+
PublicKey = K+8GllxeA8Ubiqno+ScE/HvDwj2vap8OFi2dMjZzHTQ= |#|#| Содержимое файла "client_public.key". Данный файл создастся позже
43+
AllowedIPs = 10.10.10.0/24 |#|#| Клиенту выдастся IP-адрес из новой подсети
44+
Endpoint = 10.10.10.2:51820 |#|#| IP-адрес клиента из новой сети
45+
------------
46+
firewall-cmd --add-port=51820/udp --permanent |#|#| Команда для открытия порта "51820/udp"
47+
------------
48+
firewall-cmd --reload |#|#| Команда для приминения изменений "firewall-cmd"
49+
------------
50+
wg genkey | tee client_private.key |#|#| Команда для генерации нового приватного ключа
51+
------------
52+
client_private.key | wg pubkey > client_public.key |#|#| Команда для извлечения публичного ключа из приватного
53+
------------
54+
nano /etc/wireguard/client.conf |#|#| С помощью данной команды создайте и приведите конфигурационный файл "client.conf" к следующему виду:
55+
56+
[Interface]
57+
PrivateKey = AKLZ+QjEIAEqrXCryLEVo6CM5XGG1q20LewwSjsSCGA= |#|#| Содержимое файла "client_private.key"
58+
Address = 10.10.10.2/24 |#|#| Второй адрес новой сети
59+
DNS = 77.88.8.8
60+
61+
[Peer]
62+
PublicKey = 97qd1bRWAJMLk13MW5GL0ZBkqW6ltf5lc6nCZysy4mM= |#|#| Содержимое файла "/etc/wireguard/public.key"
63+
Endpoint = 10.10.10.1:51820
64+
AllowedIPs = 0.0.0.0/0
65+
--------------------------------------------------------------------------------------------------------------------------------------------------------------
66+
wg-quick up wg0 |#|#| Команда для запуска сетевого интерфейса WireGuard
67+
------------
68+
cd /etc/wireguard/ |#|#| Команда для перехода в каталог "/etc/wireguard/"
69+
------------
70+
wg-quick up ./client.conf |#|#| Команда для инициализации подключения "client.conf"
71+
72+
При успешном подключении, в консоли получите следующий вывод:
73+
74+
root@OVPN:/etc/wireguard# wg-quick up ./client.conf
75+
[#] ip link add client type wireguard
76+
[#] wg setconf client /dev/fd/63
77+
[#] ip -4 address add 10.10.10.2/24 dev client
78+
[#] ip link set mtu 65456 up dev client
79+
[#] resolvconf -a client -m 0 -x
80+
[#] wg set client fwmark 51820
81+
[#] ip -4 route add 0.0.0.0/0 dev client table 51820
82+
[#] ip -4 rule add not fwmark 51820 table 51820
83+
------------
84+
А при выполнении команды "wg show", получите значения "endpoint, allowed ips, latest handshake, transfer":
85+
86+
peer: K+8GllxeA8Ubiqno+ScE/HvDwj2vap8OFi2dMjZzHTQ=
87+
endpoint: ***.***.***.***:18080
88+
allowed ips: 10.10.10.0/24
89+
latest handshake: 2 minutes, 5 seconds ago
90+
transfer: 252 B received, 9.30 KiB sent
91+
------------
92+
Конфигурационный файл "clinet.conf" для импортирования на устройства будет выглядеть следующим образом:
93+
94+
[Interface]
95+
PrivateKey = AKLZ+QjEIAEqrXCryLEVo6CM5XGG1q20LewwSjsSCGA= |#|#| Содержимое файла "client_private.key"
96+
Address = 10.10.10.2/24 |#|#| IP-адрес клиента из новой сети
97+
DNS = 77.88.8.8
98+
99+
[Peer]
100+
PublicKey = 97qd1bRWAJMLk13MW5GL0ZBkqW6ltf5lc6nCZysy4mM= |#|#| Содержимое файла "/etc/wireguard/public.key"
101+
Endpoint = ***.***.***.***:51820 |#|#| Белый IP-address
102+
AllowedIPs = 10.10.10.0.24 |#|#| Подсети в которых будет находиться устройство
103+
PersistentKeepalive = 20 |#|#| Интервал отправки keepalive-пакетов для поддержания соединения. Он указывается в секундах.
104+
------------
105+
После подключения клиента к серверу, в конфигурационном файле сервера "/etc/wireguard/wg0.conf" поменяется значение строки "Endpoint" в блоке "[Peer]".
106+
В дальнейшем там будет прописан белый IP-address подключаемого устройства(клиента).
107+
--------------------------------------------------------------------------------------------------------------------------------------------------------------
108+
На этом инструкция завершена! Всем спасибо за внимание!

0 commit comments

Comments
 (0)