Добрый день помогите пожалуйста настроить маршрутизацию или в пк или в конфиге wireguard. После подключения к vpn wireguard пропадает доступ к локальным ресурсам .
сетка маршрутизатора : 192.168.94.1/24
ip wireguard :10.8.0.1/24
Проблема возникает из-за того, что при подключении WireGuard по умолчанию добавляет маршрут `0.0.0.0/0` (весь трафик) в туннель, и пакеты в вашу локальную сеть `192.168.94.0/24` также уходят через VPN-интерфейс, где не находят маршрутизатор.
Решение зависит от того, должен ли весь интернет ходить через VPN или только определённые подсети. Ниже два рабочих способа.
Способ 1: Настройка в конфиге WireGuard.
Если вам не нужно, чтобы весь интернет шёл через VPN, а только доступ к удалённым ресурсам и самой подсети WG 10.8.0.0/24, измените директиву AllowedIPs в клиентском конфиге:
[Peer]
PublicKey = ...
AllowedIPs = 10.8.0.0/24, 10.10.0.0/16 # только нужные подсети
# Уберите 0.0.0.0/0, если он был указан
После этого трафик в 192.168.94.0/24 пойдёт напрямую через ваш локальный шлюз, а указанные подсети — через туннель.
Способ 2: Если весь интернет должен идти через VPN, но локалка должна остаться доступной
В этом случае в конфиге оставляем `AllowedIPs = 0.0.0.0/0`, но на ПК добавляем приоритетный статический маршрут для локальной сети.
Windows (от имени Администратора):
route add 192.168.94.0 mask 255.255.255.0 192.168.94.1 metric 1 -p
`-p` → маршрут сохранится после перезагрузки
`metric 1` → задаёт высший приоритет (меньше число = выше приоритет)
Linux
sudo ip route add 192.168.94.0/24 via 192.168.94.1 dev $(ip route | grep default | awk '{print $5}') metric 100
Для сохранения после перезагрузки добавьте эту строку в сетевой конфиг вашей ОС (NetworkManager, systemd-networkd или `/etc/network/interfaces`).
При использовании способа 2 маршруты могут сбрасываться при переподключении WireGuard. Чтобы этого избежать, добавьте в клиентский конфиг:
Table = off
PostUp = ip route add 192.168.94.0/24 via 192.168.94.1 dev %i metric 1
PostDown = ip route del 192.168.94.0/24 via 192.168.94.1 dev %i
синтаксис PostUp/PostDown зависит от ОС и клиента; для Windows в официальном клиенте это не поддерживается, используйте ручное добавление маршрута или скрипты
Проверка
1. После подключения выполните:
- Windows: route print | findstr 192.168.94
- Linux: ip route | grep 192.168.94 или netstat -rn
2. Убедитесь, что маршрут указывает на 192.168.94.1 и имеет меньший metric, чем маршрут через WG-интерфейс.
3. Проверьте доступ: ping 192.168.94.1 и попробуйте открыть локальный ресурс.
Server Admin Авторский блог системного администратора