Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Подключите GL.iNet к Unifi Dream Machine (UDM) Pro через Wireguard., UniFi Network
 
Пытаюсь подарить недорогой GL.iNet семье, которая живёт в другом месте, чтобы они подключились к их роутеру и я мог настроить обратный VPN к ним, чтобы перенаправлять трафик моей ТВ-сети в их регион. Мой провайдер начал отслеживать известные публичные VPN-IP-адреса. Семья не особо разбирается в технике, поэтому просить их настроить перенаправление портов, чтобы они стали сервером, нереально.

Первая часть настройки – использовать GL.iNet роутер как клиент, подключающийся к UDM Wireguard серверу. Сервер настроен, и создан файл конфигурации (прикреплён). Мне удалось использовать этот файл конфигурации вместе с официальным Mac клиентом (можно найти в Apple App Store) для подключения к серверу.

Однако, когда я пытаюсь подключиться с помощью GL.iNet устройства, я получаю следующую ошибку:

Sat Jan 4 12:37:47 2025 kern.info kernel: [ 1040.487412] wireguard: wireguard-hotplug IFNAME=wgclient ACTION=REKEY-TIMEOUT

Я пробовал SSH к UDM (серверу) и GL.iNet (клиенту) для прямой настройки. Мой приятель claude.ai тоже выдохся, пытаясь помочь, у него закончились токены.

Вот соответствующая конфигурация на обеих сторонах.

Файл конфигурации (обратите внимание, что на обеих сторонах конфигурация была удалена сейчас):

[Interface]
PrivateKey = cFNCca[redacted]mqQP2DI2RP/ZqIzB76MAuLsmY=
Address = 192.168.4.2/32
DNS = 192.168.4.1

[Peer]
PublicKey = 32n6dX[redacted]eem/6yIZyQgqClqqFAEiiTnemQ=
AllowedIPs = 192.168.4.1/32,192.168.4.2/32,0.0.0.0/0
Endpoint = [hidden].freeddns.org:9456

SERVER wg showroot@Dream-Machine-Pro-Max:~# wg show all
interface: wgsrv1
public key: 32n6dX[redacted]eem/6yIZyQgqClqqFAEiiTnemQ=
private key: (hidden)
listening port: 9456
peer: MjL2Nyv2[redacted]JQH8OgmQMrMve1rs9Ol7wiI=
endpoint: 192.168.1.234:42702
allowed ips: 0.0.0.0/0
latest receive: 3 seconds ago
transfer: 35.70 KiB received, 104.57 KiB sent
forced handshake: every 10 seconds

CLIENT wg showroot@GL-SFT1200:~# wg show
interface: wgclient
public key: MjL2Nyv2[redacted]JQH8OgmQMrMve1rs9Ol7wiI=
private key: (hidden)
listening port: 45746
peer: 32n6dX[redacted]eem/6yIZyQgqClqqFAEiiTnemQ=
endpoint: [my internet facing IP address]:9456
allowed ips: 0.0.0.0/0
transfer: 0 B received, 296 B sent
persistent keepalive: every 25 seconds
 
Наконец-то заработало! После перезагрузки GL.iNet устройство наконец-то подключилось к клиенту. До перезагрузки оно зацикливалось в процессе подключения. К сожалению, это был единственный способ, который я нашёл для решения проблемы. В итоге я смог настроить своего рода обратный туннель. Вот как я это сделал на обеих сторонах:

На gl.inet
MORE SETTINGS → Advanced (LuCI)
Network → Firewall → Zones → нажать Edit рядом с lan → под Covered networks отметить wgclient → Save && Apply

Ещё в LuCI ▸ Firewall ▸ Zones → нажать Edit рядом с wan → отметить Masquerading и MSS clamping → Save & Apply

SSH к устройству:
ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.8.1

# Сначала добавим необходимые правила вручную с указанием положения цепочки
iptables -I FORWARD 1 -i wgclient -j ACCEPT
iptables -I FORWARD 2 -i wlan-sta0 -o wgclient -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD 3 -i wgclient -o wlan-sta0 -j ACCEPT

# Добавим правило NAT masquerade
iptables -t nat -I POSTROUTING 1 -o wlan-sta0 -s 192.168.3.0/24 -j MASQUERADE

# Теперь проверим правила
iptables -L FORWARD -v -n | head -15
iptables -t nat -L POSTROUTING -v -n | head -10

На UDM (Seattle side):
Изменил конфигурацию WireGuard пира для разрешения более широких диапазонов IP-адресов:

bash
# Экспортировал конфиг
wg showconf wgsrv1 > wg.conf

# Изменил AllowedIPs с 192.168.3.2/32 на:
AllowedIPs = 192.168.3.0/24, 192.168.1.0/24, 0.0.0.0/0

# Применил новую конфигурацию
wg setconf wgsrv1 wg.conf

Добавил таблицу маршрутизации для телевизионного трафика:
bash
echo "100 tv_tunnel" >> /etc/iproute2/rt_tables
ip route add default via 192.168.3.2 dev wgsrv1 table tv_tunnel

Добавил policy-based routing для телевизора:
bash
ip rule add from 192.168.1.58 table tv_tunnel priority 100

Добавил правила NAT и переадресации для телевизионного трафика:
bash
iptables -t nat -A POSTROUTING -s 192.168.1.58 -o wgsrv1 -j SNAT --to-source 192.168.3.1
iptables -A FORWARD -s 192.168.1.58 -o wgsrv1 -j ACCEPT
iptables -A FORWARD -i wgsrv1 -d 192.168.1.58 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Ссылка на запрос функции, который бы упростил этот процесс: https://community.ui.com/questions/Feature-Request-Unifi-WireGuard-Site-to-Site/af1d73dd-d96c-47e9-bdd9-ef65877cac02#answer/0a4bcfaa-cca4-468d-a3a2-dc449a832a6f
Страницы: 1
Читают тему (гостей: 1)