Files
AWG2_harness/config.example.toml
T

97 lines
3.6 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[amnezia]
# Порядок важен: используется первый запущенный контейнер из списка.
container_names = ["amnezia-awg2", "amnezia-awg"]
interface_candidates = ["awg0", "wg0", "amnezia0", "tun0"]
interface_patterns = ["awg*", "wg*", "amnezia*", "tun*"]
# Утилита для чтения peer state внутри контейнера. Пробуются по порядку,
# используется первая успешная. В официальном образе AmneziaWG реальный бинарь —
# /usr/bin/awg, а /usr/bin/wg является symlink на него.
# Значения выполняются внутри контейнера: только имена команд, без путей и пробелов.
# На хосте wireguard-tools не требуется.
wg_binaries = ["awg", "wg"]
# Подсеть VPN peers.
# Проверка:
# C="$(docker ps --format '{{.Names}}' | grep -E '^(amnezia-awg2|amnezia-awg)$' | head -n1)"
# docker exec "$C" ip -4 addr
# docker exec "$C" awg show
peer_ipv4_cidr = "10.8.1.0/24"
# Ожидаемый внешний UDP-порт, опубликованный Docker для AWG.
# Это diagnostic contract, а не правило host INPUT firewall.
expected_host_udp_port = 443
[traffic]
enabled = true
peer_limit = "50mbit"
root_rate = "500mbit"
reconcile_interval_secs = 15
container_ready_timeout_secs = 120
# Textual minor id для tc: допустимо только 10..=9999. Число peers также
# не должно выводить последний class id за 9999.
class_start_id = 10
# Созданный Harness IFB получает alias awg2-harness:traffic. Существующий
# интерфейс с тем же именем без этого alias считается чужим и не удаляется.
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 = "off"
# none | fq
# fq управляется только когда BBR выбран desired policy.
default_qdisc = "fq"
# Лимиты socket buffers в байтах.
# Баланс для хоста порядка ~500 Mbit/s.
rmem_max = 67108864
wmem_max = 67108864
# По умолчанию harness не меняет receive backlog хоста. 10000 — только
# стартовое opt-in значение для хоста, где рост drops подтверждён метриками.
netdev_backlog_enabled = false
netdev_max_backlog = 10000
udp_rmem_min_enabled = false
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
allow_icmp = true
# Конечный verdict собственной AWG2H_A/AWG2H_B chain; policy встроенного
# INPUT Harness не меняет.
default_input_policy = "drop"
[anti_torrent]
enabled = true
max_connections_per_peer = 500
# Обычно та же подсеть, что и [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