DNSCrypt - это протокол шифрования и набор готового программного обеспечения для организации защищённого канала передачи
Ни для кого не секрет, что провайдеры любят заглядывать в наш
Несколько лет я использовал только dnscrypt-proxy на роутере. Все запросы на
К примеру,
😴 Конечной точкой долгое время был сервер Яндекса. Буквально пару дней назад он устал и запросы перестали ходить. Видимо, пришло время поднять свой encrypted-dns-server.
😵 Пакет, который разработчик любезно собрал для
Пробую собрать.
Остаётся последний вариант. Изучив трёхэтажный однострочник для запуска
🛠 Перед первым запуском нужно проинициализировать сервис:
В ответ будет выведена строка
✨ Интернет дома снова работает. Теперь ещё чуточку надёжнее.
#traffic #iptables #dns #dnscrypt #devops #linux #docker #compose
DNS
-трафика: https://github.com/DNSCryptНи для кого не секрет, что провайдеры любят заглядывать в наш
DNS
-трафик, а порой даже берут на себя ответственность нарушать работу протокола.Несколько лет я использовал только dnscrypt-proxy на роутере. Все запросы на
53
порт, которые пытались пройти мимо, неумолимо заворачивались:iptables -t nat -I PREROUTING -i br0 -p udp --dport 53 -j DNAT --to $(nvram get lan_ipaddr)
К примеру,
Chrome
старается игнорировать системные настройки и ходит за DNS
к себе, в Google
. Поэтому порт 853
, а также адреса вроде 8.8.8.8
и 8.8.4.4
тоже заблокированы в моей домашней сети. Остаётся только одна полностью контролируемая точка выхода DNS
-запросов.Debian
, на моей Ubuntu 20.04 LTS
не поделил память с OOM Killer
.Пробую собрать.
Rust
. Cargo
, кажется, пытается выкачать весь GitHub
. Последние 500Мб на моей скромной VPS
'ке стремительно заканчиваются приблизительно на 27%
готовности зависимостей.Остаётся последний вариант. Изучив трёхэтажный однострочник для запуска
Docker
решил лучше накатать простейший Compose
:services:
server:
image: jedisct1/dnscrypt-server
command:
- start
ports:
- 123.123.123.123:12345:12345/udp
- 123.123.123.123:12345:12345/tcp
volumes:
- /etc/dnscrypt-server:/opt/encrypted-dns/etc/keys
docker compose run server init -N example.com -E 123.123.123.123:12345
В ответ будет выведена строка
sdns://AQQAAAAAAAAAEDc3Ljg4...
Она нужна для настройки клиента.#traffic #iptables #dns #dnscrypt #devops #linux #docker #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3❤2
Ubuntu 24.04
не устанавливается SSL
-соединение из Docker
-контейнера до некоторых хостов, если… Если запущен Wireguard
.Выглядит это так:
docker compose run --rm service curl -v https://example.com
* Trying 172.16.64.10:443...
* Connected to example.com (172.16.64.10) port 443 (#0)
* ALPN: offers h2,http/1.1
* TLSV1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
⌛️ Здесь долго висит...
* Recv failure: Connection reset by peer
* OpenSSL SSL_connect: Connection reset by peer in connection to example.com:443
* Closing connection 0
curl: (35) Recv failure: Connection reset by peer
ℹ️ Дело в том, что
WG
для своего интерфейса устанавливает MTU
1420
, оставляя 80
байт на собственный оверхед:cat /sys/class/net/wg0/mtu
1420
Docker
же использует стандартный размер пакета 1500
байт:docker compose run --rm service cat /sys/class/net/eth0/mtu
1500
При такой конфигурации
TLS handshake
в некоторых случаях не влазит в целый пакет.Беглое чтение документации подсказывает, что настройки
WG
можно трогать только в крайнем случае, а вот для Docker Compose
значение MTU
можно смело изменить.cat > docker-compose.override.yml << EOF
networks:
default:
driver: bridge
driver_opts:
com.docker.network.driver.mtu: 1420
EOF
MTU
:docker compose down
docker compose run --rm service cat /sys/class/net/eth0/mtu
1420
docker compose run --rm service curl -v https://example.com
HTTP/2 200
И никакой магии 🐰🎩
#docker #compose #wireguard #ubuntu #mtu #networking #issue #solved
Please open Telegram to view this post
VIEW IN TELEGRAM
👏7