Начало › Интернет и мрежи › Как се прави VPN към дома или офиса с WireGuard

Как се прави VPN към дома или офиса с WireGuard

⚡ трудно⏱ 40–60 мин📶 Интернет и мрежи

Собствен VPN към домашната или офисната мрежа с WireGuard: публичен IP или DDNS, рутер с вграден WireGuard, порт 51820, ключове, конфигурация на клиента и QR код за телефона.

VPN към дома или офиса ви позволява от телефона или лаптопа, отвсякъде по света, да сте „вътре“ в мрежата си: да отворите NAS-а, камерите, принтера, счетоводната програма на офисния компютър, а и да ползвате хотелския Wi-Fi през сигурен тунел. WireGuard е съвременният протокол за това – с около 4000 реда код, много по-бърз от OpenVPN и вграден вече в повечето рутери и в Linux.

Настройката изглежда плашеща заради ключовете, но реално е 30–40 минути: сървър (рутерът или малък компютър), един порт в защитната стена и QR код за телефона.

Какво ще ви трябва

  • Публичен IP адрес от доставчика или DDNS име; ако WAN адресът на рутера е от вида 100.64.x.x–100.127.x.x или 10.x.x.x, сте зад CGNAT и трябва да поискате публичен IP (често 2–5 €/месец при българските доставчици)
  • Рутер с вграден WireGuard: MikroTik (RouterOS 7), GL.iNet, ASUS (ASUSWRT 388+), AVM Fritz!Box (FRITZ!OS 7.50+), Keenetic, по-новите TP-Link, OpenWrt, OPNsense/pfSense; или Raspberry Pi/стар компютър с wg-easy или PiVPN зад рутера
  • Приложението WireGuard на телефона (iOS/Android) и на лаптопа (Windows/macOS)
  • Домашна подмрежа, различна от обичайната 192.168.0.0/24 или 192.168.1.0/24 – иначе тунелът ще се „бие“ с мрежата на хотела или кафето

Стъпка по стъпка

  1. Решете къде ще е сървърът. Най-просто е на рутера, ако поддържа WireGuard. Иначе Raspberry Pi 4 (60–80 €) с wg-easy в Docker дава уеб интерфейс и QR кодове с два реда команди. Сървърът трябва да има резервиран IP в локалната мрежа (например 192.168.37.1 за рутера или 192.168.37.5 за Pi).
  2. Осигурете DDNS, ако IP адресът ви е динамичен. Повечето рутери имат вградено DDNS (No-IP, DynDNS, ASUS DDNS, MikroTik Cloud – име от вида xxxx.sn.mynetname.net). Алтернатива е безплатният DuckDNS с малък скрипт. Получавате име като dom-ivanovi.duckdns.org.
  3. Генерирайте ключовете. Всяка страна (сървърът и всеки клиент) има частен и публичен ключ. На рутера бутонът „Generate“ го прави; на Linux: wg genkey | tee private.key | wg pubkey > public.key. Частният ключ никога не се споделя; публичните се разменят.
  4. Настройте интерфейса на сървъра. Име wg0, адрес 10.8.0.1/24 (отделна VPN подмрежа), порт 51820/UDP, частният ключ на сървъра. На MikroTik: WireGuard → Add; на ASUS: VPN → VPN Server → WireGuard; на Fritz!Box: Internet → Permit Access → VPN (WireGuard).
  5. Добавете клиент (peer) на сървъра. Публичният ключ на телефона и Allowed IPs 10.8.0.2/32 (адресът на този клиент в тунела). Следващият клиент получава 10.8.0.3/32 и т.н. Много рутери генерират и ключовете на клиента, и готовия конфигурационен файл – запишете частния ключ, преди да затворите прозореца.
  6. Отворете порта. Ако сървърът е самият рутер: правило в защитната стена „accept UDP 51820 на WAN“. Ако е Pi зад рутера: Port Forwarding UDP 51820 → 192.168.37.5:51820. Нищо друго не отваряйте.
  7. Направете конфигурацията на клиента. Текстов файл phone.conf: [Interface]
    PrivateKey = <частен ключ на телефона>
    Address = 10.8.0.2/32
    DNS = 192.168.37.1

    [Peer]
    PublicKey = <публичен ключ на сървъра>
    Endpoint = dom-ivanovi.duckdns.org:51820
    AllowedIPs = 0.0.0.0/0
    PersistentKeepalive = 25
    AllowedIPs = 0.0.0.0/0 праща целия трафик през дома (сигурен Wi-Fi навън). За достъп само до домашната мрежа сложете AllowedIPs = 192.168.37.0/24, 10.8.0.0/24 – тогава интернетът върви директно и батерията издържа повече.
  8. Пренесете конфигурацията с QR код. Рутерите с вграден WireGuard показват QR кода направо. На Linux: qrencode -t ansiutf8 < phone.conf го рисува в терминала. В приложението WireGuard на телефона: „+“ → „Create from QR code“ → сканирайте → дайте име → включете превключвателя.
  9. Разрешете трафика от тунела към LAN. На рутера: правило forward accept от wg0 към LAN (MikroTik и OpenWrt го искат изрично; ASUS и Fritz!Box го правят сами). Ако сървърът е Pi, на него трябва IP forwarding и NAT (wg-easy го включва автоматично).
  10. Тествайте от мобилни данни. Изключете Wi-Fi на телефона и включете тунела: в приложението „Transfer“ трябва да расте и в двете посоки (rx и tx). Отворете 192.168.37.1 – панелът на рутера трябва да се зареди. Ако има само tx и няма rx – портът не е отворен или Endpoint/ключовете са грешни.

Съвети и чести грешки

  • Сменете домашната подмрежа на нещо нетипично (192.168.37.0/24, 10.73.0.0/24) – иначе в хотел с 192.168.1.x телефонът няма да знае кой 192.168.1.1 да търси.
  • Грешен или разменен ключ е причина №1 за неработещ тунел – WireGuard не дава грешка, просто мълчи.
  • PersistentKeepalive = 25 е нужен на клиенти зад NAT (телефон, лаптоп в кафене), иначе връзката „заспива“.
  • Не споделяйте QR кода – той съдържа частния ключ; за всяко устройство правете отделен peer, за да изтриете само него при загубен телефон.
  • Задайте DNS = адреса на рутера, за да отваряте домашните устройства по име и да ползвате домашния DNS филтър.
  • За офис с повече потребители: wg-easy или рутер с RouterOS/OPNsense и отделна VPN подмрежа с правила кой до какво има достъп; на служебните лаптопи включете „kill switch“ в приложението.

Често задавани въпроси

Какво става, ако доставчикът ме държи зад CGNAT и не дава публичен IP?

Ползвайте Tailscale (безплатен за лично ползване, базиран на WireGuard) – не иска отворен порт и минава през CGNAT. Или малък VPS за 3–5 €/месец като междинна точка.

Безопасно ли е да държа отворен порт към дома?

Да – WireGuard не отговаря на нищо, което не е подписано с валиден ключ, така че портът е „невидим“ за сканиращите ботове. Поддържайте firmware-а на рутера актуален.

Нещо не е ясно или имате по-добър начин? Пишете ни на office@officeshop.bg или предложете тема – допълваме инструкциите редовно. Последна редакция: 24.10.2026.