- Переписан весь README с корректной markdown-разметкой (закрыты код-блоки, убраны литеральные "Bash"/"Ini, TOML"/"Code snippet", исправлены заголовки и съехавшие таблицы, устранена двойная нумерация раздела 4) - install -m 755 вместо cp+chmod, бинарник ФАЙЛОМ (частая ошибка на Pi) - Раздел 5 "Известные нюансы": автозагрузка с порядком запуска, диагностика "не все сайты" (QUIC/MTU), устранение дублей nftables
28 lines
1.6 KiB
Plaintext
28 lines
1.6 KiB
Plaintext
# RASPBERRY PI 4 (клиент/роутер)
|
|
# uplink : usbnet 192.168.200.13/24, шлюз+DNS 192.168.200.1 (моб. канал, провайдер режет UDP)
|
|
# downstream: wlan0 192.168.77.0/24 (клиенты уходят в интернет через туннель)
|
|
# /etc/wireguard/wg0.conf
|
|
|
|
[Interface]
|
|
Address = 10.66.66.2/24
|
|
# Приватный ключ Raspberry Pi (из файла client_private.key)
|
|
PrivateKey = eKiGDY62/9pgFrwzoNIb7URRLPgEHC1W7zHwIIDYQVw=
|
|
# Уменьшенный MTU для компенсации оверхеда WG (+60) и фейковых TCP-заголовков udp2raw (+~40)
|
|
MTU = 1200
|
|
|
|
# КРИТИЧНО: закрепляем маршрут до публичного входа сервера ЧЕРЕЗ реальный uplink.
|
|
# Иначе при AllowedIPs=0.0.0.0/0 сам транспорт udp2raw уйдёт в wg0 -> петля, туннель рвётся.
|
|
# 192.168.200.1 — шлюз usbnet; при смене канала поправить здесь (см. README).
|
|
PreUp = ip route replace 95.174.102.77/32 via 192.168.200.1 dev usbnet
|
|
PostDown = ip route del 95.174.102.77/32 2>/dev/null || true
|
|
|
|
[Peer]
|
|
# Публичный ключ Сервера (из файла server_public.key)
|
|
PublicKey = dVIwnwxkjan/K278vzhOjp5A79N98j0O1zsYqT24qzs=
|
|
# Стучимся в локальный порт udp2raw, запущенный прямо на Малинке
|
|
Endpoint = 127.0.0.1:51821
|
|
# Маршрутизируем абсолютно весь трафик через VPN туннель
|
|
AllowedIPs = 0.0.0.0/0
|
|
# Пакет удержания сессии через NAT провайдера
|
|
PersistentKeepalive = 25
|