Тази статия ще опише подробно как да настроите Wireguard VPN на вашия сървър. Може да е виртуален или частен сървър - няма толкова голямо значение.
Това ръководство за настройка на VPN Wireguard е предназначено за потребители, които нямат много опит, така че всички стъпки ще бъдат доста подробни и последвани от екранни снимки.
Трафикът, преминаващ през нашия тунел, ще бъде криптиран и интернет ще показва IP адреса на нашия VPN сървър, а не адреса на доставчика, през който осъществяваме достъп до мрежата.
Предполага се, че вече имате VPS. Ако не, можете поръчка то от нас.
Ще инсталираме операционната система Ubuntu 22.04 на нашия сървър. Ако имате сървър с различна операционна система, можете лесно да го преинсталирате, като следвате инструкции.
И така, сървърът с Ubuntu 22.04 OS е готов, сега се свързваме с него чрез SSH. Ако изведнъж не сте срещали този протокол преди, тогава статия, в която този процес е описан подробно, ще ви помогне. Вторият параграф на статията е за Linux OS, третият е за Windows OS.
Настройте Wireguard сървър
След успешно свързване ще напиша няколко команди и описание на това, което произвеждат, за да разбера процеса:
Ние актуализираме списъка с пакети в хранилищата
apt update
Подновяване на самите пакети
apt upgrade -y
Инсталирайте пакета wireguard
apt install -y wireguard
Нашата конфигурация ще бъде съхранена в директорията /etc/wireguard/, трябва да влезем в директорията:
cd /etc/wireguard/
Ще ни трябват публичен и частен ключ за нашия сървър. Ще ги генерираме, след като зададем правилните права при създаване на файлове и директории с команди:
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
Сега задаваме правата за частния ключ:
chmod 600 privatekey
Преди да създадем конфигурационния файл, имаме нужда от името на нашия мрежов интерфейс. За да го откриете, използвайте командата:
ip a
Нуждаем се от интерфейса с IP адреса, който се използва за текущата връзка. Вероятно ще се казва ens3 във вашия случай, но може да има друго име.
Ще ни трябват и публичен и частен ключ. За да ги покажа, използвам опашка
tail privatekey publickey
Тя изглежда така:
За редактиране можете да използвате всеки Linux текстов редактор. Ще използвам нано. За да го инсталирате трябва да изпълните командата:
apt install -y nano
Ние редактираме конфигурационния файл:
nano /etc/wireguard/wg0.conf
Забележка
за да запазим файла, използваме комбинацията от бутони ctrl+o
за изход - ctrl+x
Трябва да изглежда така:
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
В моя случай изглежда така
Включваме ip forwarding
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
Стартирайте услугата wireguard:
systemctl start [email protected]
Ако искаме услугата да стартира след рестартиране на сървъра, тогава правим следното:
systemctl enable [email protected]
За преглед на състоянието на услугата:
systemctl status [email protected]
Състоянието трябва да е активно, както на екранната снимка:
Ако сте следвали внимателно нашите инструкции, тогава на този етап имате всичко необходимо, за да накарате сървърната част на VPN Wireguard да работи.
Настройване на Wireguard клиент
Остава само да конфигурирате клиентската част. За пример и простота, ще генерирам ключове за клиентската част също на сървъра. Но за целите на сигурността би било по-правилно да се генерират ключове от страна на клиента. Използвам команди за генериране:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
Също така ще генерирам ключове за използване на VPN на телефона:
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
Трябва да се отбележи, че всичко това трябва да се направи, докато е в каталога
/etc/wireguard/
Можете да стартирате и в друг каталог. Но за простота изпълняваме инструкциите в /etc/wireguard/
Използваме командата ls, за да изброим файловете в директория. Получих го така:
Нека покажем публичните ключове на екрана. Ще ни трябват, за да добавим възли към нашата мрежа:
tail mypc_publickey myphone_publickey
За мен изглежда така:
Нека редактираме нашия конфигурационен файл:
nano wg0.conf
Добавете следните редове:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
Сега конфигурационният файл изглежда така:
Запазете файла и рестартирайте нашата услуга:
systemctl restart wg-quick@wg0
Нека проверим дали всичко е било успешно:
systemctl status wg-quick@wg0
Състоянието трябва да е активно
Необходимо е презареждане на услугата всеки път след редактиране на конфигурационния файл на сървъра (wg0.conf)
След това ще създадем конфигурации за клиенти (в моя случай, моя компютър и телефон). Ще направя същото и на сървъра.
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
В полето Крайна точка можете да видите IP адреса на сървъра - това е IP адресът, който използвахме за свързване чрез SSH. За да видите интерфейсите и адресите, можете да използвате командата ip a.
Настройте Wireguard за мобилни устройства
Създаваме подобна конфигурация за нашия телефон. Просто трябва да смените адреса. За компютъра беше 10.30.0.2/32, а в конфигурацията за телефона ще направим 10.30.0.3/32. Освен това, ако искаме да използваме VPN на други устройства, тогава трябва да добавим други адреси към полето Адрес в конфигурационните файлове и конфигурационния файл на сървъра wg0.conf, полето AllowedIPs, когато създаваме конфигурации
Файловете изглеждат така в моя случай:
mypc.conf
myphone.conf
За връзка инсталираме wireguard client https://www.wireguard.com/install/
В Windows приложението добавяме нов тунел и въвеждаме конфигурацията, създадена във файла mypc.conf
Пускаме тунела и отиваме в браузъра на уебсайта, който показва нашия адрес
За да добавите удобно VPN към телефона си, инсталирайте програма за генериране на qr кодове на сървъра:
apt install -y qrencode
Като сте в конфигурационната директория, направете следната стъпка:
qrencode -t ansiutf8 -r myphone.conf
След това влизаме в приложението Wireguard на телефона, натискаме +, за да създадем нов тунел, избираме сканиране на QR кода, сканиране, включване на VPN. След това ще проверим дали показваме адреса на нашия сървър, като използваме всеки ресурс, който показва изходния IP адрес.
Направи го!