Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

WG_INVALID_ALLOWEDIPS Сетевое оборудование и VPN

Ошибка WireGuard: Packet dropped due to invalid AllowedIPs entry

Обновлено: 24.08.2026 · Официальная документация ↗
  • Рукопожатие проходит успешно (latest handshake обновляется), но пинг до удаленного хоста не проходит.
  • Сервер или клиент не отвечает на пакеты из разрешенной подсети.
  • В отладочном логе ядра: wireguard: wg0: Packet has disallowed src IP from peer N.
  • Пакеты отбрасываются ядром на уровне криптографического роутера (Cryptokey Routing Table).

1. Архитектура Cryptokey Routing (Криптографическая маршрутизация)

В WireGuard параметр AllowedIPs выполняет две критические функции одновременно:

  • Для исходящего трафика: определяет, в какой туннель (к какому пиру) направить исходящий пакет в зависимости от IP назначения (Dst IP).
  • Для входящего трафика (Крипто-файрвол): строго проверяет IP-адрес источника (Src IP) расшифрованного пакета. Если Src IP пакета не входит в список AllowedIPs этого пира — пакет немедленно уничтожается ядром.

2. Исправление AllowedIPs на стороне сервера

Сервер должен явно разрешать внутренний IP адрес клиента:

[Peer]
PublicKey = <client_public_key>
# Разрешить клиенту отправлять пакеты ТОЛЬКО со своего назначенного IP:
AllowedIPs = 10.0.0.2/32

# Если за клиентом находится целая локальная сеть (Site-to-Site VPN):
# AllowedIPs = 10.0.0.2/32, 192.168.50.0/24

3. Настройка AllowedIPs на стороне клиента

Определите, какой трафик должен направляться через VPN:

[Peer]
PublicKey = <server_public_key>
Endpoint = 203.0.113.1:51820

# Вариант 1: Маршрутизировать ВЕСЬ интернет-трафик через VPN:
AllowedIPs = 0.0.0.0/0, ::/0

# Вариант 2: Маршрутизировать ТОЛЬКО трафик к корпоративной подсети (Split-Tunneling):
AllowedIPs = 10.0.0.0/24, 172.16.0.0/16

4. Включение IP Forwarding на сервере

Если сервер выступает шлюзом для выхода в интернет, активируйте пересылку пакетов в ядре Linux:

sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.d/99-wireguard.conf
💡 Практика специалистов: Если вы настраиваете Site-to-Site соединение между двумя офисами через WireGuard, обязательно добавляйте локальную подсеть удаленного офиса в строку AllowedIPs пира на обоих маршрутизаторах.

Частые вопросы (FAQ)

Могут ли два разных пира на одном сервере иметь одинаковый IP в AllowedIPs?

Нет. Таблица Cryptokey Routing требует однозначного соответствия: один IP/подсеть может быть привязана только к одному Public Key. При попытке назначить дубликат старая привязка будет перезаписана.

Почему при указании AllowedIPs = 0.0.0.0/0 пропадает интернет?

wg-quick создает маршрут по умолчанию через wg0. Если на сервере не настроен NAT (MASQUERADE в iptables) или отключен net.ipv4.ip_forward, пакеты не выйдут в интернет.

Как настроить правило NAT MASQUERADE для WireGuard сервера?

Добавьте в секцию [Interface] сервера: PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE.

Что означает маска /32 в AllowedIPs = 10.0.0.2/32?

Маска /32 указывает ядру на ровно один хост. Клиент сможет отправлять и принимать трафик исключительно со своего персонального адреса 10.0.0.2.

Полезные материалы
Рекомендуем