Вопрос или проблема
Среда
- ОС: Linux
- Сетевые интерфейсы:
wlan0
: Используется для hotspot без VPN (MyHotspot
)wlan1
: Подключен к интернетуwlan2
: Используется для VPN hotspot (MyHotspot-VPN
)au-syd-wg-002
: Интерфейс Wireguard VPN
Конфигурация
Я настроил два WiFi hotspot:
MyHotspot
(без VPN): Используетwlan0
, интернет отwlan1
MyHotspot-VPN
: Используетwlan2
, интернет через Wireguard VPN (au-syd-wg-002
)
Конфигурация Wireguard (/etc/wireguard/au-syd-wg-002.conf
):
[Interface]
PrivateKey = редактировано
Address = 10.67.48.249/32,fc00:bbbb:bbbb:bb01::4:30f8/128
DNS = 10.64.0.1
[Peer]
PublicKey = редактировано
AllowedIPs = 192.168.13.0/24
Endpoint = 146.70.141.194:51820
Конфигурация MyHotspot
(без VPN) (/etc/create_ap/wlan0-1.conf
):
GATEWAY=192.168.12.1
DHCP_DNS=шлюз
WIFI_IFACE=wlan0
INTERNET_IFACE=wlan1
SSID=MyHotspot
Конфигурация MyHotspot-VPN
(/etc/create_ap/wlan2-vpn.conf
):
GATEWAY=192.168.13.1
DHCP_DNS=10.64.0.1
WIFI_IFACE=wlan2
INTERNET_IFACE=au-syd-wg-002
SSID=MyHotspot-VPN
Данные о сетевых интерфейсах (вывод ifconfig
):
au-syd-wg-002: flags=209<UP,POINTOPOINT,RUNNING,NOARP> mtu 1420
inet 10.67.48.249 netmask 255.255.255.255 destination 10.67.48.249
inet6 fc00:bbbb:bbbb:bb01::4:30f8 prefixlen 128 scopeid 0x0<global>
RX packets 0 bytes 0 (0.0 B)
TX packets 0 bytes 0 (0.0 B)
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.12.1 netmask 255.255.255.0 broadcast 192.168.12.255
inet6 fe80::dea6:32ff:fe9a:b7b2 prefixlen 64 scopeid 0x20<link>
ether dc:a6:32:9a:b7:b2 txqueuelen 1000 (Ethernet)
RX packets 70838 bytes 11884831 (11.3 MiB)
TX packets 118247 bytes 112432350 (107.2 MiB)
wlan1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.35.157 netmask 255.255.252.0 broadcast 172.17.35.255
inet6 fe80::280a:74a5:f28a:341d prefixlen 64 scopeid 0x20<link>
ether f0:09:0d:36:7b:7a txqueuelen 1000 (Ethernet)
RX packets 118170 bytes 112463238 (107.2 MiB)
TX packets 68718 bytes 14022513 (13.3 MiB)
wlan2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.13.1 netmask 255.255.255.0 broadcast 192.168.13.255
inet6 fe80::3698:b5ff:fe36:9bf5 prefixlen 64 scopeid 0x20<link>
ether 34:98:b5:36:9b:f5 txqueuelen 1000 (Ethernet)
RX packets 121 bytes 18670 (18.2 KiB)
TX packets 101 bytes 19478 (19.0 KiB)
Маршрутная таблица:
default via 172.17.32.10 dev wlan1 proto dhcp src 172.17.35.157 metric 600
172.17.32.0/22 dev wlan1 proto kernel scope link src 172.17.35.157 metric 600
192.168.12.0/24 dev wlan0 proto kernel scope link src 192.168.12.1
192.168.13.0/24 dev au-syd-wg-002 scope link
192.168.13.0/24 dev wlan2 proto kernel scope link src 192.168.13.1
Проблема
Hotspot без VPN работает нормально, но VPN hotspot не работает. При подключении к MyHotspot-VPN
я получаю ошибку DNS_PROBE_FINISHED_NO_INTERNET
при запросах в браузере.
Однако, если я изменяю AllowedIPs
в конфигурации Wireguard на 0.0.0.0/0
, оба hotspot работают нормально, но тогда оба маршрутизируются через VPN. Я хочу, чтобы только MyHotspot-VPN
использовал Wireguard VPN.
Вопрос
Как я могу настроить свою маршрутизацию или настройку Wireguard, чтобы позволить hotspot MyHotspot-VPN
(wlan2
) правильно маршрутизировать трафик через Wireguard VPN (au-syd-wg-002
), сохраняя при этом hotspot MyHotspot
(wlan0
) на обычном интернет-соединении?
Дополнительная информация
- VPN hotspot настроен на использование DNS VPN (
10.64.0.1
), что можно заметить в конфигурационном файле - Оба hotspot создаются с использованием инструмента linux-wifi-hotspot, вот пример конфигурационного файла по умолчанию create_ap.conf
Буду признателен за любые идеи или предложения. Спасибо!
Ответ или решение
Чтобы решить проблему с маршрутизацией трафика для двух WiFi-гостевых сетей, где одна использует Wireguard VPN, а другая — обычное интернет-соединение, необходимо правильно настроить маршрутизацию и конфигурацию Wireguard. Давайте рассмотрим необходимые шаги.
Конфигурация маршрутизации
Основная проблема вашего сценария заключается в том, что при использовании сетевых интерфейсов и маршрутов необходимо правильно настроить таблицы маршрутизации так, чтобы трафик из сети 192.168.13.0/24
(MyHotspot-VPN) направлялся через интерфейс Wireguard (au-syd-wg-002
) и использовал соответствующие DNS-серверы.
-
Настройка маршрутов для MyHotspot-VPN:
Убедитесь, что в вашей таблице маршрутизации указан маршрут по умолчанию для интерфейсаau-syd-wg-002
, который будет использоваться для сети192.168.13.0/24
. Вам нужно добавить маршрут, который бы направлял весь трафик от вашей VPN-сети к Wireguard:sudo ip route add 192.168.13.0/24 dev au-syd-wg-002
-
Настройка разрешения DNS:
Ваша конфигурация дляMyHotspot-VPN
правильно указывает DNS на10.64.0.1
. Убедитесь, что ваш DHCP-сервер, который обслуживаетwlan2
, корректно раздает этот DNS-сервер клиентам. -
Настройка конфигурации Wireguard:
В конфигурации Wireguard вы указалиAllowedIPs = 192.168.13.0/24
. Это правильно, так как оно позволяет маршрутизировать только трафик этой подсети через VPN. Однако, необходимо также убедиться, что в вашей конфигурации VPN серверная часть настроена корректно для обработки трафика из этой подсети.
Проверка конфигурации
-
Проверьте доступность VPN:
Убедитесь, что клиенты действительно могут подключаться к VPN. Это можно сделать, попробовав пинговать10.67.48.249
с клиентского устройства, подключенного кMyHotspot-VPN
. -
Проверьте DNS:
После подключения кMyHotspot-VPN
убедитесь, что DNS правильно работает. В командной строке выполните:nslookup google.com 10.64.0.1
Если результаты положительные, значит, DNS работает через VPN.
Итоговая проверка
После внесения всех изменений проверьте мое предположение:
- Подключитесь к
MyHotspot-VPN
и проверьте интернет-соединение. - Если по-прежнему возникают ошибки, проверьте логи Wireguard и убедитесь, что нет блокировок на уровне межсетевого экрана или других компонентов.
Дополнительные рекомендации
-
Если ошибка
DNS_PROBE_FINISHED_NO_INTERNET
повторяется, возможно, стоит рассмотреть возможность использования альтернативного DNS (например, Google DNS:8.8.8.8
или Cloudflare:1.1.1.1
) для тестирования. -
Убедитесь, что на любом устройства, подключенном к
MyHotspot-VPN
, отключены другие интерфейсы, которые могут пытаться перехватить трафик.
Следуя этим шагам, вы сможете настроить правильную маршрутизацию трафика для каждого из ваших WiFi аксессуаров, что позволит избежать конфликта между ними. Если у вас остались вопросы или потребуются дополнительные уточнения, пожалуйста, не стесняйтесь задавать их.