WireGuard - це популярний протокол зв'язку з відкритим кодом від точки до точки, який використовується для створення безпечного та швидкого тунелю віртуальної приватної мережі. Ця VPN була розроблена для використання в ядрі Linux. WireGuard - це легкий VPN, який забезпечує надзвичайно швидку швидкість для користувачів.
У цій статті показано, як встановити та налаштувати WireGuard у вашій системі CentOS 8. Встановлення та налаштування WireGuard набагато простіші, ніж уже існуючі VPN, такі як OpenVPN, і це є основною причиною його зростаючої популярності у спільноті Linux.
Огляд
Ця стаття складається з двох розділів:
- У першому розділі ми встановимо та налаштуємо машину CentOS 8, яка діятиме як VPN-сервер WireGuard.
- У другому розділі ми встановимо та налаштуємо машину CentOS 8, яка діятиме як VPN-клієнт WireGuard.
Встановлення та налаштування WireGuard на сервері CentOS 8
У цьому розділі ми налаштуємо машину CentOS 8, яка буде виконувати роль сервера, встановлюючи WireGuard.
Крок 1: Додайте сховища EPEL та Elrepo
Для початку встановлення WireGuard на CentOS 8, спочатку додайте репозиторії EPEL та Elrepo, щоб встановити модулі ядра та інструменти WireGuard.
$ sudo dnf встановити epel-release elrepo-release -y
Тепер, після встановлення необхідних сховищ, встановіть модулі ядра та інструменти WireGuard.
Крок 2: Встановіть модулі ядра та WireGuard Tools
Модулі ядра та інструменти WireGuard можна швидко встановити із сховищ EPEL та Elrepo, виконавши таку команду:
$ sudo dnf встановити kmod-wireguard дротяні інструменти
Коли вам буде запропоновано дозвіл на імпорт та додавання GPG-ключів до системи CentOS 8, дозвольте цю дію, набравши "Y" та натиснувши "Enter."
Після успішного встановлення інструментів WireGuard ми виконаємо деякі конфігурації.
Крок 3: Створіть державні та приватні ключі
Спочатку ми створимо новий каталог '/ etc / wireguard', щоб ми могли налаштувати VPN-сервер у каталозі. Щоб створити новий каталог '/ etc / wireguard' у системі CentOS 8, виконайте таку команду.
sudo mkdir / etc / wireguard
Після створення каталогу створіть відкритий та закритий ключі за допомогою інструментів командного рядка “wg” та “tee”. Команда для створення приватних та відкритих ключів полягає в наступному.
$ wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Створений ключ буде надрукований після виконання вищевказаної команди.
Крок 4: Налаштування тунельного пристрою для маршрутизації трафіку VPN
Щоб налаштувати пристрій, створіть файл конфігурації в каталозі '/ etc / wireguard' і відкрийте файл за допомогою редактора nano.
Перш ніж створювати файл конфігурації, отримайте приватний ключ, використовуючи таку команду.
$ sudo cat / etc / wireguard / privatekey
Збережіть десь закритий ключ; цей ключ вам знадобиться пізніше у файлі конфігурації.
Тепер створіть “wg0.conf ”.
$ sudo nano / etc / wireguard / wg0.конф
Додайте наведений нижче вміст до “/ etc / wireguard / wg0.conf ”.
[Інтерфейс]## IP-адреса сервера VPN ##
Адреса = 192.168.18.200/24
## Збережіть конфігурацію, коли новий клієнт додасть ##
SaveConfig = істина
## номер порту сервера VPN ##
ListenPort = 51820
## Приватний ключ сервера VPN ##
PrivateKey = SERVER_PRIVATE_KEY
## Команда, яку потрібно виконати перед запуском інтерфейсу ##
PostUp = firewall-cmd --zone = public --add-port 51820 / udp && firewall-cmd --zone = public --add-masquerade
## Команда, яку потрібно виконати перед вимкненням інтерфейсу ##
PostDown = firewall-cmd --remove-port 51820 / udp --zone = public && firewall-cmd --remove-masquerade --zone = public
Цей конфігураційний файл містить такі ключові терміни:
- Адреса - приватна IP-адреса для інтерфейсу (wg0).
- SaveConfig = true - зберігає стан інтерфейсу при перезапуску або вимкненні сервера.
- ListenPort - порт, де прослуховує демон WireGuard.
- PrivateKey - ключ, який ми щойно створили.
- Запостити - ця команда буде виконана перед запуском інтерфейсу
- PostDown - ця команда буде виконана перед вимкненням інтерфейсу.
Тепер, коли ви досить добре розумієте файл конфігурації, ви можете зберегти файл і вийти за допомогою комбінацій клавіш (CTRL + S) та (CTRL + X).
Крок 5: Встановіть привілеї конфігурації та файлу “privatekey”
Тепер ми зробимо сервер VPN трохи безпечнішим. Базовий користувач не повинен мати привілеїв читати файл конфігурації та файл 'privatekey'. Щоб надати доступ до цих файлів, ми змінимо режим цих двох файлів на 600. Команда для встановлення дозволів наведена нижче.
$ sudo chmod 600 / etc / wireguard / privatekey$ sudo chmod 600 / etc / wireguard / wg0.конф
Після доопрацювання дозволів ми запустимо інтерфейс (wg0) за допомогою інструменту командного рядка wg-quick.
Крок 6: Запустіть інтерфейс
Щоб запустити інтерфейс, виконайте команду, наведену нижче:
$ sudo wg-швидкий вгору wg0
Якщо ви отримали вихідні дані, показані на скріншоті вище, ви успішно запустили інтерфейс. Тепер ми перевіримо статус інтерфейсу.
$ sudo wg
Увімкніть інтерфейс для автоматичного запуску інтерфейсу при завантаженні сервера CentOS 8.
$ sudo systemctl увімкніть wg-quick @ wg0
На цьому етапі налаштування сервера завершено. Тепер, якщо ви хочете налаштувати цей сервер VPN для NAT, вам потрібно буде ввімкнути переадресацію IPv4.
Крок 7: Увімкніть переадресацію IPv4
Щоб увімкнути переадресацію IPv4 для NAT, створіть «99-настроюваний.conf ”у“ / etc / sysctl.d ”за допомогою редактора nano.
$ sudo nano / etc / sysctl.г / 99-на замовлення.конф
Додайте наступний вміст до “/ etc / sysctl.г / 99-на замовлення.конф
## для ввімкнення переадресації IPv4 ##чистий.ipv4.ip_forward = 1
Щоб увімкнути переадресацію IPv6, додайте такий вміст до “/ etc / sysctl.г / 99-на замовлення.conf ”.
## для ввімкнення переадресації IPv6 ##чистий.ipv6.конф.всі.переадресація = 1
Увімкнувши переадресацію IPv4, збережіть файл і вийдіть за допомогою ярликів (CTRL + S) та (CTRL + X).
Тепер перейдемо до налаштування машини клієнта WireGuard.
Встановлення та налаштування WireGuard VPN на клієнті CentOS 8
У цьому розділі ми налаштуємо машину CentOS 8, яка буде виконувати функції клієнта. Процес встановлення та налаштування клієнта WireGuard VPN буде майже таким самим, як і для сервера WireGuard VPN.
Крок 1: Додайте сховища EPEL та Elrepo
Спочатку ми додамо репозиторії EPEL та Elrepo для встановлення модулів ядра та інструментів WireGuard:
$ sudo dnf встановити epel-release elrepo-release -y
Тепер, після встановлення необхідних сховищ, ми встановимо модулі ядра та WireGuard Tools.
Крок 2: Встановіть модулі ядра та WireGuard Tools
Модулі ядра та інструменти WireGuard тепер можна встановити із сховищ EPEL та Elrepo, виконавши таку команду.
$ sudo dnf встановити kmod-wireguard дротяні інструменти
Коли вас попросять дозволу імпортувати та додати ключі GPG до системи CentOS 8, дозвольте зміни, набравши "Y" та натиснувши "Enter."
Після успішного встановлення інструментів WireGuard потрібно також налаштувати клієнтську машину CentOS 8.
Крок 3: Створіть державні та приватні ключі
На цьому кроці ми створимо новий каталог '/ etc / wireguard' на машині клієнта. Щоб створити новий каталог '/ etc / wireguard' у вашій системі CentOS 8, введіть таку команду.
sudo mkdir / etc / wireguard
Після створення каталогу створіть відкритий та закритий ключі за допомогою інструментів командного рядка “wg” та “tee”. Команда для створення приватних та відкритих ключів наведена нижче.
$ wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Тепер створені ключі будуть надруковані.
Крок 4: Налаштування маршрутизації трафіку VPN
На цьому кроці ми створимо файл конфігурації в каталозі '/ etc / wireguard' і відкриємо його за допомогою редактора nano.
Перш ніж створювати файл конфігурації, отримайте приватний ключ, використовуючи таку команду.
$ sudo cat / etc / wireguard / privatekey
Збережіть десь закритий ключ; вам це знадобиться пізніше у файлі конфігурації.
Тепер створіть “wg0.conf ”.
$ sudo nano / etc / wireguard / wg0.конф
Додайте наведений нижче вміст до “/ etc / wireguard / wg0.conf ”
[Інтерфейс]## Приватний ключ клієнта VPN ##
PrivateKey = 8D8puLQCbUw + 51wPE3Q7KutGxQhUvsy + a + DBgamb + 3o =
## IP-адреса клієнта VPN ##
Адреса = 192.168.18.201/24
[Ровесник]
## Відкритий ключ сервера VPN CentOS 8 ##
PublicKey = VWndJ4oB7ZJwC / 7UOm ++ OLDrbAxMPsR2yd0cl3sEkUI =
## встановити ACL ##
Дозволені IP-адреси = 0.0.0.0/0
## IP-адреса та порт сервера VPN CentOS 8 ##
Кінцева точка = 192.168.18.200: 51820
Файл конфігурації містить такі ключові терміни:
- PrivateKey - ключ, згенерований на клієнтській машині.
- Адреса - IP-адреса інтерфейсу (wg0).
- PublicKey - відкритий ключ машини сервера VPN, до якої ми хочемо підключитися.
- ДозволеноIP - всі дозволені IP-адреси для потоку трафіку за допомогою VPN.
- Кінцева точка - ми надамо IP-адресу та номер порту серверної машини CentOS 8, до якої ми хочемо підключитися.
Тепер ми також налаштували клієнтську машину. Збережіть файл і вийдіть за допомогою комбінацій клавіш (CTRL + S) та (CTRL + X).
Крок 5: Встановіть привілеї конфігурації та файлу “privatekey”
Тепер ми змінимо режим і встановимо привілеї файлу конфігурації та файлу “privatekey” на 600. Введіть таку команду, щоб встановити дозволи.
$ sudo chmod 600 / etc / wireguard / privatekey$ sudo chmod 600 / etc / wireguard / wg0.конф
Тепер, коли ми доопрацювали дозволи, ми можемо запустити інтерфейс (wg0) за допомогою інструменту командного рядка “wg-quick”.
Крок 6: Запустіть інтерфейс
Щоб запустити інтерфейс, виконайте команду, наведену нижче:
$ sudo wg-швидкий вгору wg0
Зараз ми успішно запустили інтерфейс. Далі ми перевіримо стан інтерфейсу.
$ sudo wg
Увімкніть інтерфейс для автоматичного запуску інтерфейсу при завантаженні сервера CentOS 8.
$ sudo systemctl увімкніть wg-quick @ wg0
На цьому етапі також налаштовується клієнт.
Крок 7: Додайте IP-адресу та відкритий ключ клієнта до CentOS 8 Server
Останній крок - це додавання IP-адреси та відкритого ключа машини-клієнта VPN до файлу конфігурації серверної машини VPN CentOS 8 WireGuard.
Поверніться до серверної машини та додайте наступний вміст до “/ etc / wireguard / wg0.conf ”.
[Ровесник]## Відкритий ключ клієнта VPN ##
PublicKey = dmfO9pirB315slXOgxXtmrBwAqPy07C57EvPks1IKzA =
## IP-адреса клієнта VPN ##
Дозволені IP-адреси = 192.168.10.2/32
Після оновлення файлу конфігурації сервера VPN збережіть файл і вийдіть за допомогою комбінацій клавіш (CTRL + S) та (CTRL + X).
Зараз тунель встановлено, і весь трафік буде проходити через сервер CentOS 8 WireGuard VPN.
Крок 8: Перевірте підключення до тунелю
Щоб переконатися, що сервер CentOS 8 WireGuard VPN встановлений та налаштований належним чином, виконайте наведену нижче команду, щоб переконатися, що трафік проходить через налаштований сервер WireGuard VPN.
$ sudo wg
І це все! Ви успішно налаштували та встановили сервер WireGuard VPN.
Висновок
У цій статті показано, як встановити та налаштувати WireGuard VPN на вашому комп'ютері CentOS 8 та налаштувати систему як сервер VPN. Ми також показали вам, як налаштувати VPN-клієнт CentOS 8 WireGuard і налаштувати клієнта на маршрутизацію трафіку через сервер WireGuard VPN.