Несколько дней назад я не смог обновить свой Devuan box. Ошибка «Временный сбой в разрешении имен». Это странно, при условии, что Brave Browser может получить доступ к deb.devuan.org. Позже я выяснил, что мой провайдер (Indihome — https://www.indihome.co.id/) использует прозрачный DNS-прокси, а Brave Browser имеет Secure DNS (также известный как DNS Over HTTPS), поэтому я могу получить доступ к deb.devuan.org из Brave Browser, но не могу получить доступ к deb.devuan.org из командной строки.
Вот почему, хотя я использую 8.8.8.8 в моем /etc/resolv.conf, все запросы к DNS серверу перехватываются ими, а затем запрос направляется провайдеру для того, что они хотят. Это неприемлемое поведение, но что ж, жалобы не будут услышаны, поэтому я решил использовать DNS через https.
Я искал инструменты и нашел dns-over-https. Этот инструмент использует Go (1.13 или новее), так что для меня это не большая проблема, поскольку я уже использую Go. Просто клонируйте репозиторий, скомпилируйте, а затем выполните doh-client (Go должен быть доступен в вашей системе):
$ git clone https://github.com/m13253/dns-over-https
$ cd dns-over-https
$ make
Я не использую systemd, поэтому просто зайдите в doh-client и запустите его:
$ cd doh-client
$ ./doh-client
Измените /etc/resolv.conf для использования 127.0.0.1 в качестве сервера имен:
nameserver 127.0.0.1
Затем я могу использовать apt из оболочки, как раньше.