|
| 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