База ведаў Простая інструкцыя па працы з сэрвісам Профітсервер
галоўны База ведаў Як наладзіць Wireguard VPN на серверы

Як наладзіць Wireguard VPN на серверы


У гэтым артыкуле будзе падрабязна апісана, як наладзіць Wireguard VPN на серверы. Гэта можа быць віртуальны або прыватны сервер - гэта не мае вялікага значэння.

Гэта кіраўніцтва па наладжванні VPN Wireguard прызначана для карыстальнікаў, якія не маюць вялікага вопыту, таму ўсе крокі будуць даволі падрабязныя і суправаджаюцца скрыншотамі.

Трафік, які праходзіць праз наш тунэль, будзе зашыфраваны, і ў Інтэрнэце будзе адлюстроўвацца IP-адрас нашага VPN-сервера, а не адрас правайдэра, праз якога мы атрымліваем доступ да сеткі.

Мяркуецца, што ў вас ужо ёсць VPS. Калі не, вы можаце заказаць яго ў нас.

Мы ўсталюем аперацыйную сістэму Ubuntu 22.04 на наш сервер. Калі ў вас сервер з іншай АС, вы можаце лёгка пераўсталяваць яе, выконваючы інструкцыі.

Такім чынам, сервер з АС Ubuntu 22.04 гатовы, цяпер падключаемся да яго праз SSH. Калі раптам вы раней не сутыкаліся з гэтым пратаколам, то вам дапаможа артыкул, у якім падрабязна апісаны гэты працэс. Другі абзац артыкула для АС Linux, трэці — для АС Windows.

Наладзьце сервер 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, але можа быць і іншая назва.

Наладзьце Wireguard - нам спатрэбіцца адкрыты і прыватны ключ для нашага сервера

Нам таксама спатрэбіцца адкрыты і закрыты ключ. Каб адлюстраваць іх, я выкарыстоўваю хвост

tail privatekey publickey

Гэта выглядае наступным чынам:

Нам таксама спатрэбіцца адкрыты і закрыты ключ. Каб адлюстраваць іх, я выкарыстоўваю хвост

Для рэдагавання можна выкарыстоўваць любы тэкставы рэдактар ​​Linux . Я буду выкарыстоўваць nano. Каб усталяваць яго, трэба выканаць каманду:

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, каб пералічыць файлы ў каталогу. Я атрымаў гэта так:

Я буду ствараць ключы для кліенцкай часткі Wireguard таксама на серверы

Адлюструем адкрытыя ключы на ​​экране. Яны нам спатрэбяцца, каб дадаць вузлы ў нашу сетку:

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

У полі Endpoint вы можаце ўбачыць IP-адрас сервера - гэта IP-адрас, які мы выкарыстоўвалі для падлучэння праз SSH. Каб убачыць інтэрфейсы і адрасы, вы можаце выкарыстоўваць каманду ip a.

Наладзьце Wireguard для мабільнага

Ствараем аналагічную канфігурацыю для нашага тэлефона. Проста трэба змяніць адрас. Для ПК гэта была 10.30.0.2/32, а ў канфігурацыі для тэлефона зробім 10.30.0.3/32. Акрамя таго, калі мы хочам выкарыстоўваць VPN на іншых прыладах, мы павінны дадаць іншыя адрасы ў поле Address у файлах канфігурацыі і файл канфігурацыі сервера wg0.conf, поле AllowedIPs пры стварэнні канфігурацый

Файлы выглядаюць так у маім выпадку:

mypc.conf

мы павінны дадаць іншыя адрасы ў поле Address у файлах канфігурацыі

мой тэлефон.канф

мой тэлефон.канф

Для падключэння ўсталёўваем кліент Wireguard https://www.wireguard.com/install/

У дадатку Windows мы дадаем новы тунэль і ўводзім канфігурацыю, створаную ў файле mypc.conf

У дадатку Windows мы дадаем новы тунэль і ўводзім канфігурацыю, створаную ў файле mypc.conf

Мы запускаем тунэль і пераходзім у браўзер на вэб-сайт, які паказвае наш адрас

Мы запускаем тунэль і пераходзім у браўзер на вэб-сайт, які паказвае наш адрас

Каб было зручна дадаць VPN на свой тэлефон, усталюйце на сервер праграму для генерацыі qr-кодаў:

apt install -y qrencode

Знаходзячыся ў каталогу канфігурацыі, зрабіце наступны крок:

qrencode -t ansiutf8 -r myphone.conf
Каб было зручна дадаць VPN на тэлефон, усталюйце на сервер праграму для генерацыі qr-кодаў

Затым мы ўваходзім у праграму Wireguard на тэлефоне, націскаем +, каб стварыць новы тунэль, выбіраем сканаваць QR-код, сканаваць яго, уключаць VPN. Далей мы праверым, што мы адлюстроўваем адрас нашага сервера, выкарыстоўваючы любы рэсурс, які адлюстроўвае выходны IP-адрас.

Затым мы ўваходзім у праграму Wireguard на тэлефоне, націскаем +, каб стварыць новы тунэль пераканайцеся, што мы паказваем адрас нашага сервера, выкарыстоўваючы любы рэсурс, які адлюстроўвае выходны IP-адрас

Вы зрабілі гэта!

❮ Папярэдні артыкул Настройка сервера VPN на Linux: PPTP або OpenVPN?
Наступны артыкул ❯ Як падключыцца да сервера Windows па RDP (Remote Desktop) са смартфона на IOS або Android

Спытайце нас пра VPS

Мы заўсёды гатовы адказаць на вашы пытанні ў любы час дня і ночы.