Files
AWG2_harness/config.example.toml
T
founder 2c27bff800 Реализован production-модуль sysctl_tuning и полная интеграция fix33
Добавлен отдельный host-level модуль sysctl_tuning без легаси-подходов: managed sysctl файл, точечный reconcile через sysctl -w только для drifted ключей, режимы tcp_bbr off/auto/require, безопасное удаление только managed-файла и атомарная запись конфигурации.

Интегрированы новые CLI-команды apply-network-tuning/inspect-network-tuning, startup reconcile в daemon и секция Network tuning в status. Расширены config/defaults/валидация, обновлен пример конфига и документация. Добавлены unit-тесты для config и sysctl_tuning.
2026-05-28 11:31:13 +05:00

82 lines
2.4 KiB
TOML

[amnezia]
container_names = ["amnezia-awg2", "amnezia-awg"]
interface_candidates = ["awg0", "wg0", "amnezia0", "tun0"]
interface_patterns = ["awg*", "wg*", "amnezia*", "tun*"]
# Подсеть VPN peers.
# Проверка:
# C="$(docker ps --format '{{.Names}}' | grep -E '^(amnezia-awg2|amnezia-awg)$' | head -n1)"
# docker exec "$C" ip -4 addr
# docker exec "$C" wg show
peer_ipv4_cidr = "10.8.1.0/24"
[traffic]
enabled = true
peer_limit = "50mbit"
root_rate = "500mbit"
reconcile_interval_secs = 15
container_ready_timeout_secs = 120
class_start_id = 10
ifb_name = "ifb0"
[sysctl_tuning]
enabled = true
apply_on_daemon_start = true
# Включает IPv4 forwarding для VPN/Docker gateway host.
ip_forward = true
# off | auto | require
# auto: использовать BBR, если доступен; иначе пропустить без ошибки.
# require: завершить с ошибкой, если BBR недоступен.
tcp_bbr = "auto"
# none | fq | fq_codel
# fq применяется только когда BBR активен.
default_qdisc = "fq"
# Лимиты socket buffers в байтах.
# Баланс для хоста порядка ~500 Mbit/s.
rmem_max = 67108864
wmem_max = 67108864
netdev_backlog_enabled = true
netdev_max_backlog = 50000
udp_rmem_min_enabled = true
udp_rmem_min = 8192
# net.ipv4.udp_wmem_min intentionally not managed:
# Linux kernel documentation states it has no effect.
[host_firewall]
enabled = true
# Должен совпадать с реально слушающим портом sshd до apply-firewall.
ssh_port = 2323
# Должен совпадать с опубликованным Docker/Amnezia UDP-портом.
# Проверка: docker port amnezia-awg2 2>/dev/null || docker port amnezia-awg
# Транспортный порт AmneziaWG/AWG, опубликованный Docker, обычно 443/udp.
# Это не AmneziaDNS. Не указывайте здесь 53.
amnezia_port = 443
amnezia_protocols = ["udp"]
allow_icmp = true
default_input_policy = "drop"
[anti_torrent]
enabled = true
max_connections_per_peer = 150
# Обычно та же подсеть, что и [amnezia].peer_ipv4_cidr.
peer_ipv4_cidr = "10.8.1.0/24"
apply_in_amnezia_netns = true
[reboot]
enabled = true
window_start_utc = "01:00"
window_end_utc = "02:00"
[swap]
enabled = true
path = "/swapfile"
size_mb = 2048
priority = 1
swappiness = 1