Како да користите WireGuard конфигурациска датотека
На оваа страница
- Што има во .conf датотеката, линија по линија
- Windows: увезете го тунелот
- Android и iPhone: скенирајте го QR кодот или увезете ја датотеката
- macOS и Linux
- На рутерот, за да биде покриена целата куќа
- Се поврзува, но ништо не се вчитува, и други вистински проблеми
- Од каде доаѓа конфигурациската датотека
- ЧПП
WireGuard врската е текстуална датотека. Навистина, тоа е сè — неколку линии во кои се вашите клучеви, адресата на серверот и правилата за тоа што се испраќа низ тунелот. Штом ја имате таа датотека, за да се поврзете на WireGuard VPN сервер доволно е да ја предадете на апликацијата WireGuard на уредот што го користите.
Овој водич прави две работи. Прво, чита вистинска конфигурациска датотека линија по линија, за да знаете што прави секоја поставка и која да ја промените кога нешто не е во ред. Потоа објаснува како се увезува датотеката и како се поврзувате на Windows, Android, iPhone, macOS, Linux и рутер, а на крај ги опфаќа неколкуте проблеми зад речиси секоја поплака за WireGuard: handshake што никогаш не завршува и тунел што се поврзува, но не вчитува ниту една страница.
Што има во .conf датотеката, линија по линија
Секоја WireGuard конфигурација ја има истата структура од два дела. [Interface] го опишува вашиот крај на тунелот; [Peer] ја опишува машината на која се поврзувате. Еве целосна клиентска конфигурација во која тајните податоци се заменети со резервирани вредности:
[Interface] PrivateKey = YOUR_PRIVATE_KEY_KEEP_THIS_SECRET Address = 10.7.0.4/32 DNS = 10.7.0.1 [Peer] PublicKey = THE_SERVER_PUBLIC_KEY_FROM_YOUR_PROVIDER Endpoint = 198.51.100.10:51820 AllowedIPs = 0.0.0.0/0, ::/0 PersistentKeepalive = 25
198.51.100.10 е документациска адреса резервирана со RFC 5737 — ништо од ова не се поврзува никаде. Користете ги вредностите од вашата датотека.Блокот [Interface]: вашата страна
- PrivateKey — ова е вашиот идентитет на VPN-от. Кој и да го поседува, може да се претстави како вас. Има 44 base64 знаци и завршува со
=; ако вашиот е со друга должина, датотеката е скратена некаде при копирањето. - Address — IP адресата што вашиот уред ја има внатре во тунелот, не вашата јавна IP адреса.
/32значи „само оваа една адреса“, што е нормално за клиент. - DNS — резолверот што се користи додека тунелот е активен. Без него уредот продолжува да го прашува стариот резолвер, со што открива што барате и честопати не успева да разреши ништо од другата страна.
- MTU — опционално, и најкорисната линија што треба да ја знаете. Ја нема во повеќето датотеки бидејќи стандардната вредност е точна; видете го делот за решавање проблеми за случајот кога не е.
Блокот [Peer]: страната на серверот
- PublicKey — јавниот клуч на серверот. Вашиот никогаш не се појавува во вашата датотека; го чува серверот.
- Endpoint — каде се испраќаат пакетите, во форма
host:port. WireGuard работи само преку UDP, а51820е вообичаената порта, не задолжителна. - AllowedIPs — кои дестинации одат низ тунелот.
0.0.0.0/0, ::/0значи сè, а токму за тоа служи VPN за приватност. Потесна листа — да речеме, само внатрешниот опсег на вашата фирма — го пушта само тоа низ тунелот, а останатото оди преку вашата вообичаена врска. Таквиот распоред се вика split tunnel и тоа е намерен избор, а не расипан целосен тунел. - PersistentKeepalive — испраќа мал пакет на секои 25 секунди за NAT уредот меѓу вас и серверот да ја одржува отворена повратната патека. Потребно е секогаш кога сте зад NAT, а на телефон или домашна врска секогаш сте.
Address и DNS воопшто не се поставки на WireGuard — тие се упатства за помошната алатка wg-quick, која го конфигурира вашиот мрежен интерфејс. Самиот WireGuard никогаш не ги гледа. Можете да се уверите сами: wg-quick strip wg0 ја печати конфигурацијата што кернелот навистина ја добива, и двете линии едноставно ги нема. Ова е важно ако некогаш поставите тунел со wg setconf наместо со wg-quick, бидејќи тогаш ништо не ви доделува адреса ниту резолвер, и тунелот се крева поврзан со ништо.Ви треба конфигурациска датотека за увоз? HytHost VPN услугата ви дава готова WireGuard конфигурација од €0.99 месечно.
Видете ги VPN пакетитеWindows: увезете го тунелот
За Windows постои официјална апликација WireGuard, а увезувањето датотека во неа е целата работа.
- Инсталирајте WireGuard од wireguard.com/install.
- Кликнете Add Tunnel долу лево, со што се отвора избирач на датотеки филтриран на Configuration Files (*.zip, *.conf). Изберете ја вашата
.confдатотека и таа ќе се појави во листата на тунели, именувана по датотеката. - Или залепете ја. Стрелката до Add Tunnel нуди Add empty tunnel…, што ви дава поле за текст — корисно кога конфигурацијата пристигнала во порака, а не како датотека. Полето однапред пополнува нов приватен клуч, па избришете ја таа линија и залепете ја вашата конфигурација преку неа.
- Кликнете Activate. Статусот се менува во Active и панелот почнува да ги брои пренесените бајти. Тој бројач е најбрзата проверка што ја имате: ако покажува податоци што излегуваат, а ништо не се враќа, вашиот handshake не завршува.
Android и iPhone: скенирајте го QR кодот или увезете ја датотеката
На телефон имате два начина, а QR кодот постои токму затоа што пишувањето клуч од 44 знаци на екран на допир е мачење.
Android
- Инсталирајте WireGuard од Play Store и допрете го копчето +.
- Екранот Create WireGuard Tunnel нуди Scan from QR code, Import from file or archive и создавање тунел од нула. Изберете го она што одговара на тоа што сте го добиле.
- Дајте му име на тунелот ако ве праша, а потоа вклучете го прекинувачот. Android еднаш бара дозвола за додавање VPN конфигурација — тоа барање доаѓа од оперативниот систем, не од апликацијата.
iPhone и iPad
- Инсталирајте WireGuard од App Store и допрете Add a tunnel.
- Под Add a new WireGuard tunnel изберете Create from QR code или Create from file or archive. Екранот за скенирање се вика Scan QR code; по успешно скенирање ве прашува да му дадете име на тунелот.
- Вклучете го и дозволете ја VPN конфигурацијата кога iOS ќе ве праша.
Како да направите QR код од конфигурациска датотека што веќе ја имате
QR кодот не е нешто што мора да ви го даде провајдерот — тоа е само вашата конфигурациска датотека нацртана како слика, и можете сами да ја направите со една команда. Самата апликација WireGuard го предлага ова:
# prints the code straight into the terminal, ready to scan off the screen qrencode -t ansiutf8 < wg0.conf # or write it to an image file qrencode -o wg0.png < wg0.conf
На Debian или Ubuntu, qrencode се инсталира со apt install qrencode; на macOS, со brew install qrencode.
macOS и Linux
macOS
Инсталирајте WireGuard од Mac App Store. Апликацијата за Mac не е апликацијата за iPhone на поголем екран: живее во лентата со менија, а нејзиниот прозорец се отвора од Manage Tunnels. Кликнете Import tunnel(s) from file (лентата со менија го има истото како Import Tunnel(s) from File…), изберете ја вашата .conf датотека, потоа изберете го тунелот и кликнете Activate. На Mac нема скенер за QR кодови — QR кодовите се за телефони — па користете ја самата датотека или изберете Add Empty Tunnel… и залепете ја конфигурацијата.
Ако повеќе сакате да работите во терминал, brew install wireguard-tools ви ги дава истите wg-quick команди како на Linux, опишани подолу.
Linux
- Инсталирајте ги алатките. На Debian или Ubuntu:
sudo apt install wireguard. Повеќето дистрибуции имаат пакет со истото име. - Ставете ја датотеката таму каде што wg-quick ја бара. Ова е чекорот во кој луѓето најчесто грешат, бидејќи името на датотеката станува име на интерфејсот:
sudo install -m 600 -o root -g root wg0.conf /etc/wireguard/wg0.conf
600е важно — датотеката го содржи вашиот приватен клуч и не треба да ја читаат другите корисници на машината. Името нека биде кратко и едноставно; мора да биде валидно име на мрежен интерфејс. - Кренете го тунелот:
sudo wg-quick up wg0 sudo wg show
wg showе единствената команда што вреди да ја запаметите. Го печати peer-от, endpoint-от, линија latest handshake и бројачи на пренос. Време на handshake што никогаш не се појавува е знакот на проблемот од следниот дел. - Автоматско стартување при подигање:
sudo systemctl enable --now wg-quick@wg0. За рачно да го запрете тунелот,sudo wg-quick down wg0.
wg-quick: `/etc/wireguard/wg0.conf' does not exist значи дека името што го внесовте не одговара на датотека во таа папка — побаравте wg0, а датотеката се вика поинаку. А ако тунелот одбива да се крене и се жали на resolvconf, виновна е линијата DNS: на wg-quick му треба resolvconf или systemd-resolved за да ја примени. Инсталирајте едно од нив или отстранете ја линијата DNS и поставете го резолверот сами.На рутерот, за да биде покриена целата куќа
Ако тунелот го ставите на рутерот, ги покривате сите уреди зад него, вклучително и оние што воопшто не можат да користат VPN апликација — конзола за игри, телевизор, паметен звучник. Дали можете тоа да го направите зависи целосно од фирмверот.
| Фирмвер | Поддршка за WireGuard | Каде да барате |
|---|---|---|
| OpenWrt | Да, со пакет | Инсталирајте luci-proto-wireguard, потоа додадете интерфејс со протокол WireGuard VPN и пополнете ги полињата од вашата датотека |
| Asus (понов фабрички фирмвер) | Да, на многу модели | Делот VPN има WireGuard клиент што директно увезува .conf |
| Asuswrt-Merlin | Да | Истата идеја, со поголема контрола врз рутирањето |
| Mikrotik RouterOS 7 | Да | WireGuard е вграден; RouterOS 6 воопшто го нема |
| Типичен рутер од интернет-провајдерот | Обично не | Нема WireGuard ниту начин да се додаде — видете подолу |
Ако вашиот рутер е кутијата што ви ја дал интернет-провајдерот, реалните опции се да ставите рутер што го контролирате зад него, или да продолжите со конфигурации по уред. Ниту едното не е неуспех; поставката по уред честопати е и подобра, бидејќи тунелот можете да го оставите исклучен на уредите на кои не им треба.
Едно нешто треба да одлучите пред да ја пуштите целата куќа низ тунел: тогаш сè оди низ него. Банкарските сајтови што не сакаат странски адреси, стриминг сервисите што го проверуваат вашиот регион и сè што комуницира со уреди во вашата мрежа може да се однесуваат поинаку. Токму тука потесниот AllowedIPs ја покажува својата вредност — пуштете го само она што треба, а останатото оставете го.
Се поврзува, но ништо не се вчитува, и други вистински проблеми
WireGuard е невообичаено тивок кога не успева, и тоа е намерна одлука во дизајнот — пакет без автентикација не добива никаков одговор, па скенерот не може да знае дали нешто слуша. Страничниот ефект е што погрешен клуч, погрешна порта и блокирана мрежа од ваша страна изгледаат исто: тишина. Тргнете од симптомот.
| Што гледате | Што обично е | Каде да барате |
|---|---|---|
| Никаков handshake; испратените бајти растат, примените остануваат на нула | Ништо не одговара, или одговорот не може да се врати | Endpoint, PublicKey на серверот, блокиран UDP |
| Handshake е во ред, мали работи функционираат, веб-страниците застануваат полувчитани | MTU | Додадете линија MTU во [Interface] |
| Поврзано, но ништо не се разрешува | DNS | Линијата DNS, и resolvconf на Linux |
| Поврзано, имињата се разрешуваат, но сообраќајот не оди низ тунелот | AllowedIPs е премногу тесен | AllowedIPs во [Peer] |
| Работи, а потоа престанува по минута-две неактивност | NAT мапирањето истекло | PersistentKeepalive = 25 |
„Handshake did not complete“
Вашиот уред испратил иницијален пакет и не добил ништо назад. Проверете, по овој редослед:
- Endpoint-от. Точен хост, точна порта, и портата е UDP. Грешка при пишување тука го дава токму овој симптом и ништо друго.
- Дали UDP воопшто излегува надвор. Гостински Wi-Fi, хотелски мрежи, некои корпоративни мрежи и неколку мобилни оператори дозволуваат само TCP на вообичаените порти. Ако истата конфигурација работи на домашната врска, а не успева на една конкретна мрежа, конфигурацијата е во ред, а проблемот е мрежата.
- Клучевите се на вистинското место.
PublicKeyво[Peer]е јавниот клуч на серверот, а серверот посебно мора да го има јавниот клуч што одговара на вашиотPrivateKey. Конфигурација копирана за друг уред паѓа токму тука. - Вашиот часовник. Handshake-от на WireGuard содржи временска ознака и одбива ознака што е многу надвор од точното време. Ретко е, но се случува на уреди што го изгубиле времето.
Ако тунелот работи од дома, но никогаш преку мобилна врска, причината може да е кај вашиот провајдер, а не кај вас — carrier-grade NAT и слични решенија менуваат што може да стигне до вас. Водичот за port forwarding објаснува како да го утврдите тоа од вашиот рутер за неколку минути.
Проблемот со MTU, кој вреди еднаш да се разбере
Ова е класичниот случај „поврзано е, а интернетот не работи“, и шаблонот е препознатлив: ping работи, DNS работи, малите страници се вчитуваат, а сè што е поголемо засекогаш застанува.
Причината е големината. Пакувањето на сообраќајот за тунелот додава заглавја, па пакет што точно се вклопувал во вашата вообичаена врска повеќе не се вклопува кога ќе влезе во WireGuard. Малите пакети минуваат без проблем; големите се отфрлаат. Обично мрежата му кажува на испраќачот да користи помали пакети, но пораката што го прави тоа честопати се филтрира, па наместо грешка едноставно чекате.
Решението е на WireGuard уште од почеток да му кажете да користи помали пакети. wg-quick веќе се обидува: го зема MTU на вашата вообичаена рута и одзема 80 бајти за додатокот на тунелот, па на обична врска од 1500 бајти добивате 1420. Кога и тоа е премногу — некои мобилни мрежи, повеќето врски што веќе одат низ друг тунел — поставете го експлицитно и одете надолу:
[Interface] MTU = 1420 # what wg-quick would have picked # still stalling? try 1380, then 1280
1280 е долната граница што вреди да се проба, бидејќи тоа е најмалата големина на пакет што IPv6 бара секоја патека да ја пренесе, па преживува практично на секоја рута. Чини малку ефикасност и е многу подобро од тунел што се заглавува.
Тунелот е активен, но ништо не оди низ него
Прво проверете го AllowedIPs. Тој не е заштитен ѕид ниту листа на дозволи — одлучува кои дестинации воопшто се рутираат во тунелот. Ако не содржи 0.0.0.0/0, сообраќајот за остатокот од интернетот никогаш и не требало да оди низ тунелот, и вашата врска се однесува точно како што е конфигурирана. На Linux, ip route show table all | grep wg0 покажува што навистина е рутирано.
Ако рутирањето е точно, а имињата едноставно не се разрешуваат, виновна е линијата DNS — или ја нема, или ја има, но не е применета затоа што resolvconf не е инсталиран.
Од каде доаѓа конфигурациската датотека
Сè погоре претпоставува дека имате датотека. Постојат точно два начина да дојдете до неа.
Сами водете го серверот
Генерирате пар клучеви, инсталирате WireGuard на машина со јавна адреса, го додавате вашиот уред како peer и рачно ја пишувате клиентската конфигурација. Не е тешко и навистина вреди да се научи. Трошокот е постојан: сервер што треба да се плаќа и ажурира, и рачна измена на двата краја секогаш кога додавате уред — бидејќи, запомнете, еден peer е еден уред.
Добијте ја од провајдер
Алтернативата е датотеката да се генерира за вас, а вие само да ја преземете. Со HytHost VPN, од €0.99 месечно, еве каде се наоѓа:
- Порачајте ја услугата и најавете се во клиентската зона, потоа отворете ја вашата VPN услуга од листата.
- Најдете го делот WireGuard Configuration. Тој ви дава две копчиња — Copy to Clipboard, што го става текстот на конфигурацијата во меѓумеморијата, и Download Configuration, што ви ја дава готовата датотека.
- Ако сте ја копирале, залепете ја во обичен текстуален уредувач и зачувајте ја со наставка
.conf—wg0.confе добро име. Проверете уредувачот да не додал.txtна крајот. - Увезете ја според делот погоре за вашиот уред. На телефон, прво претворете ја во QR код со
qrencode.
Истата страница покажува дали тунелот моментално е поврзан со серверот, што го решава прашањето „дали е кај мене или кај нив“ пред да почнете да менувате поставки. Копче за QR код нема — генерирајте го сами од датотеката, што значи и дека кодот никогаш не патува таму каде што не треба.
Ви треба конфигурациска датотека за увоз? HytHost VPN услугата ви дава готова WireGuard конфигурација од €0.99 месечно.
Видете ги VPN пакетитеЧесто поставувани прашања
Инсталирајте ја официјалната апликација WireGuard, увезете ја конфигурациската датотека што ви ја дал серверот или провајдерот, а потоа вклучете го тунелот. На Windows тоа е Add Tunnel, па Activate; на Android и iPhone можете да ја скенирате датотеката како QR код наместо да ја увезувате; на Linux, ставете ја датотеката во /etc/wireguard/ и извршете wg-quick up со нејзиното име. Време на handshake и примени податоци во апликацијата потврдуваат дека врската е воспоставена.
Обична текстуална датотека, најчесто со наставка .conf, што содржи два блока. [Interface] го опишува вашиот уред: неговиот приватен клуч, адресата што ја зема внатре во тунелот и резолверот што го користи. [Peer] го опишува серверот: неговиот јавен клуч, хостот и UDP портата, и кои дестинации треба да се рутираат низ тунелот. Таа датотека е целата врска — ништо друго не се чува никаде на вашиот уред.
Не сигурно, а причината вреди да се знае. Една конфигурација е еден peer, идентификуван со еден пар клучеви, а серверот следи една тековна локација за секој peer. Ако поврзете телефон и лаптоп со истата датотека, серверот го праќа повратниот сообраќај до оној што последен направил handshake, па двете врски постојано се прекинуваат. Секој уред треба своја конфигурација со свој пар клучеви.
Го генерирате од конфигурациската датотека што веќе ја имате — WireGuard QR кодот е едноставно таа датотека кодирана како слика. Извршете qrencode -t ansiutf8 < wg0.conf за да го испечатите во терминал и да го скенирате од екранот, или qrencode -o wg0.png < wg0.conf за да зачувате слика. Бидејќи кодот го содржи приватниот клуч, третирајте го исто како датотеката: никогаш не објавувајте го јавно.
Не. Приватниот клуч е она што го идентификува вашиот уред на VPN-от, па секој што ја има датотеката може да се поврзе како вас. Никогаш не треба да се објавува во чет, на форум, во issue tracker или во тикет за поддршка, а истото важи и за QR код или екранска снимка од датотеката. Ако конфигурацијата е изложена, решението е да генерирате нов пар клучеви и да го замените peer-от, наместо да се надевате дека никој не ја прочитал.
Таа порака значи дека иницијалниот пакет заминал, а ништо не се вратило, и WireGuard не може да ви каже зошто бидејќи никогаш не добил одговор. Проверете ги хостот и портата во Endpoint, потврдете дека мрежата на која сте дозволува излезен UDP, и потврдете дека PublicKey под [Peer] е клучот на серверот, а серверот го има јавниот клуч што одговара на вашиот приватен. Ако истата датотека работи на друга мрежа, датотеката е точна, а мрежата го филтрира UDP.
Овој шаблон — handshake во ред, ping во ред, веб-страниците застануваат — речиси секогаш е MTU. Штом сообраќајот се спакува за тунелот, секој пакет се зголемува, па пакетите што порано се вклопувале се отфрлаат, а пораката што вообичаено го пријавува тоа честопати се филтрира. Додадете линија MTU во [Interface]: 1420 е она што wg-quick би го пресметал на обична врска, а 1380 или 1280 функционира таму каде што и тоа е премногу.
Не за да користите конфигурациска датотека. Клиентот воспоставува излезна UDP врска до серверот, а одговорот се враќа низ мапирањето што таа врска го создава — токму тоа го одржува отворено PersistentKeepalive. Порта треба да се отвори само на страната што го извршува WireGuard серверот и мора да прима дојдовни врски.
Од провајдер што ја генерира за вас. HytHost VPN услугата, од €0.99 месечно, во клиентската зона прикажува дел WireGuard Configuration со копче за копирање на текстот на конфигурацијата и копче за преземање на готовата датотека. Оттаму ја увезувате во апликацијата WireGuard на кој било уред, а истата страница покажува дали тунелот моментално е поврзан.
Конфигурациска датотека што ја задржувате
HytHost VPN ви дава WireGuard конфигурација што ја преземате еднаш и ја увезувате на кој било уред — Windows, Android, iPhone, macOS, Linux или вашиот рутер. Од €0.99 месечно.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursДали овој водич ви беше корисен?