Files
awg-dash/tests/netns
embeddevio 18b911d582 test(#21): мок WireGuard-endpoint, детектор утечки и генератор трафика
- mock_wg_endpoint.py — UDP-эндпоинт, повторяющий раскладку сообщений
  WireGuard (initiation 148 байт -> response 92 байта), режимы respond/drop
  переключаются на лету через файл; JSONL-лог для ассертов;
- leak_sink.py — UDP+TCP детектор утечки на 198.51.100.9:9999 внутри netns
  uplink (RFC 5737 TEST-NET-2);
- probe.py — отправка handshake initiation или raw-UDP из указанного netns
  с разбором ответа в JSON. Только stdlib: работает в alpine-образе.

Refs #21
Refs #15
2026-10-21 23:48:00 +03:00
..

tests/netns — сетевой тестовый стенд

Задача #21, используется тестами #41 и #43.

Цель: проверять split-tunnel без реального VPN-провайдера и без доступа к продакшн-сети.

План харнесса:

  1. Создать netns: client, gw (шлюз с awg-интерфейсом), uplink (имитация ISP).
  2. Поднять мок WireGuard-endpoint (userspace) вместо реального сервера.
  3. Запустить шлюз в netns с теми же правилами, что в контейнере.
  4. Проверить, куда ушёл пакет: интерфейс/метка/счётчики ipset и iptables.

Точки входа: tests/netns/run.sh (вызывается через make test-netns).