Files
manuals/docs/NetBird/Connect_to_VPN.md
2025-11-30 17:58:48 +02:00

5.4 KiB
Raw Blame History

NetBird

Система на базе WireGuard обеспечивающая безопасное подключение к инфраструктуре.

Настройка подключения

После того администратор аппрувнит вашу УЗ вы получите доступ сам Web-Interface NetBird.

Login page

Выбираете свою систему, в моем случае подключаться к инфре я буду через VPS ( который уже выступает в роли WireGuard VPN сервера ) для обеспечения большей безопасности.

Перед подключением к NetBird в случае CLI клиентов как в моем случае в команду подключения необходимо добавить --hostname you_nickname, таким образом команда будет иметь вид:

netbird up --hostname dev-developer --management-url https://netbird.project-quest-dev.com:443

Approve Connect

После этого у вас появится доступ к внутренней инфраструктуре компании. Сетевые доступы ограничиваются вашей группой в Authentik.

Убедиться, что VPN соединения установлено и работает корректно можно пингом внутреннего PgAdmin:

nslookup pgadmin.greedy.com
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	pgadmin.greedy.com
Address: 100.80.215.33

ping pgadmin.greedy.com
PING pgadmin.greedy.com (100.80.215.33) 56(84) bytes of data.
64 bytes from prod-infra.netbird.selfhosted (100.80.215.33): icmp_seq=1 ttl=64 time=0.782 ms
64 bytes from prod-infra.netbird.selfhosted (100.80.215.33): icmp_seq=2 ttl=64 time=1.08 ms

curl --insecure https://pgadmin.greedy.com
<!doctype html>
<html lang=en>
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to the target URL: <a href="/login?next=/">/login?next=/<a>. If not, click the link.

DNS

Уже на этом моменте вы получаете доступ к внутренней инфраструктуре. Внутренняя инфраструктура имеет свои dns зоны, которые не имеют никакого отношения к внешнему миру. В случае установки NetBird на рабочую систему ваши запросы к pgadmin.greedy.com через тунель уже проксируются на внетренний DNS сервер. Но в моем сценарии, когда имеется некий VPS выступающий в роли Man-in-a-Middle запросы до *.greedy.com просто будут потеряны. После подключения к NetBird сети, на нашей машине поднимается Local-Resolver сервис самого NetBird. Чтобы моя рабочая машина знала куда отправлять запросы я укажу в клиентском конфиге своего VPN (WireGuard - это мой рабочий VPN) этот самый Local-Resolver в качестве одного из DNS серверов.

Чтобы найти Local-Resolver IP на VPS выполняю команду:

netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      110005/sshd: /usr/s 
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      589/systemd-resolve 
tcp6       0      0 :::22                   :::*                    LISTEN      110005/sshd: /usr/s 
udp        0      0 0.0.0.0:51820           0.0.0.0:*                           -                   
udp        0      0 127.0.0.1:3128          0.0.0.0:*                           111013/netbird      
udp        0      0 0.0.0.0:8080            0.0.0.0:*                           -                   
udp        0      0 100.80.82.135:53        0.0.0.0:*                           111013/netbird      
udp        0      0 127.0.0.53:53           0.0.0.0:*                           589/systemd-resolve 

Вот и адрес нашего Resolver: 100.80.82.135:53 111013/netbird. Этот адрес я добавляю в свой клиенсткий WireGuard конфиг:

alt text

Рестартуем WireGuard подключения и теперь даже на локальном машине у нас резолвятся внутренние домены компании.

P.S в случе если на вашем VPS настроен ufw вам следует добавить разрешающее правило, чтобы WG клиенты ( ваш компьютер ) имели доступ до Resolver: sudo ufw allow from 10.7.0.0/24 to 100.80.82.135 port 53 proto udp

где:

  • 10.7.0.0/24 - (клиентская подсеть wg)
  • 100.80.82.135 - адрес резолвера

Таким образом мы получаю безопасную схему подключения: Connection Scheme