Что такое DNS-резолвер и зачем он нужен? Link to heading
DNS-резолвер – это ПО, которое преобразует доменные имена в IP-адреса и наоборот. Локальный резолвер особенно полезен как на домашнихсерверах, и прям на самих рабочих машинах, поскольку ускорить процесс разрешения доменных имен или настроить форвадинг. Основные плюсы: — Кэширование запросов – мгновенные ответы на уже известные DNS-запросы — Защита конфиденциальности – провайдер не видит, какие сайты вы посещаете — Стабильность работы – минимизация влияния перегруженных публичных резолверов — Prefetch-механизм – автоматическое обновление записей в фоне — Безопасность – возможность настройки зашифрованного форвардинга — Форвардинг — Prefetch-механизм
Установка Link to heading
У меня в диструбитве он уже был установлен по умолчанию. Но на debian based системах его можно установить с помощью пакетного менеджера:
sudo apt update
sudo apt install unbound
Настройка Link to heading
В основном конфиге /etc/unbound/unbound.conf
у меня только одна настройка: include-toplevel: "/etc/unbound/unbound.conf.d/*.conf
, т.е все настройки берутся из конфигов по пути: /etc/unbound/unbound.conf.d/
И в каталоге /etc/unbound/unbound.conf.d/
у меня несколько файлов с настройками. Перейдем к ним всем по очереди:
dietpi.conf Link to heading
Для моего сервера это деффолтный файл, он уже был. В нем живут все основные настройки. У вас это может быть и с другим именем или все настройки оставите в файле /etc/unbound/unbound.conf
.
Основные пункты моих настроек:
Основные настройки Link to heading
do-daemonize: no
num-threads: 1
— do-daemonize: no — - запрещает демонизацию процесса для лучшего контроля через systemd, а именно им он и запускается. — num-threads: 1 - использует один поток, мне пока хватает
Логирование Link to heading
verbosity: 0
log-queries: no
log-replies: no
— Минимальная детализация логов — Отключено логирование запросов и ответов
Сетевые настройки Link to heading
interface: 0.0.0.0
port: 53
— Слушает на всех сетевых интерфейсах — Использует стандартный DNS-порт 53
Контроль доступа Link to heading
access-control: 0.0.0.0/0 refuse
access-control: 10.0.0.0/8 allow
access-control: 127.0.0.1/8 allow
access-control: 192.168.0.0/16 allow
— Запрещает доступ всем, кроме этих локальных сетей
Настройки протоколов Link to heading
do-udp: yes
do-tcp: yes
do-ip4: yes
do-ip6: no
— Включает UDP и TCP протоколы — Отключаем IPv6
Безопасность и защита Link to heading
harden-glue: yes
harden-dnssec-stripped: yes
harden-algo-downgrade: yes
harden-large-queries: yes
harden-short-bufsize: yes
— Набор настроек для “усиления” безопасности DNS-резолвера
Конфиденциальность Link to heading
use-caps-for-id: yes
rrset-roundrobin: yes
qname-minimisation: yes
minimal-responses: yes
hide-identity: yes
identity: "Server"
hide-version: yes
— Минимизация информации, передаваемой в DNS-запросах
Кэширование Link to heading
cache-min-ttl: 300
cache-max-ttl: 86400
serve-expired: yes
neg-cache-size: 4M
prefetch: yes
prefetch-key: yes
msg-cache-size: 50m
rrset-cache-size: 100m
— Минимальный и максимальный TTL для кэширования — Размер различных типов кэша
Ограничения и буферы Link to heading
ratelimit: 1000
unwanted-reply-threshold: 10000
edns-buffer-size: 1232
so-rcvbuf: 4m
so-sndbuf: 4m
— Ограничение количества запросов в секунду — Защита от нежелательных ответов — Настройки буферов для оптимизации производительности
Дополнительные настройки Link to heading
module-config: "validator iterator"
— Активирует модуль DNSSEC
root-auto-trust-anchor-file.conf Link to heading
auto-trust-anchor-file: "/var/lib/unbound/root.key"
Это и есть сама настройка для работы DNSSEC (Domain Name System Security Extensions)
— auto-trust-anchor-file - указывает путь к файлу, содержащему корневой ключ доверия (trust anchor)
“/var/lib/unbound/root.key” - это сам файл, который содержит ключ корневой DNS-зоны
forward-default.conf Link to heading
forward-zone:
name: "."
forward-addr: 8.8.8.8
forward-addr: 8.8.4.4
— forward-zone - определяет зону для форвардинга DNS-запросов — name: “.” - точка (.) указывает, что все DNS-запросы будут форвардиться — forward-addr - IP-адреса гугловыхDNS-серверов, на которые будут перенаправляться запросы
forward-ru.conf Link to heading
forward-zone:
name: "ru"
forward-addr: 77.88.8.8
forward-addr: 77.88.8.1
— forward-zone - определяет зону для форвардинга DNS-запросов — name: “ru” - указывает, что эта конфигурация применяется только к доменам зоны .ru — forward-addr - IP-адреса Яндекс DNS-серверов, на которые будут перенаправляться запросы
openai.conf Link to heading
forward-zone:
name: "chatgpt.com"
forward-addr: 83.220.169.155
forward-zone:
name: "ab.chatgpt.com"
forward-addr: 83.220.169.155
forward-zone:
name: "api.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "arena.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "auth.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "auth0.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "beta.api.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "beta.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "blog.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "cdn.oaistatic.com"
forward-addr: 83.220.169.155
forward-zone:
name: "cdn.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "chat.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "community.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "contest.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "debate-game.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "discuss.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "files.oaiusercontent.com"
forward-addr: 83.220.169.155
forward-zone:
name: "gpt3-openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "gym.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "help.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "ios.chat.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "jukebox.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "labs.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "microscope.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "oaistatic.com"
forward-addr: 83.220.169.155
forward-zone:
name: "openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "openai.fund"
forward-addr: 83.220.169.155
forward-zone:
name: "openai.org"
forward-addr: 83.220.169.155
forward-zone:
name: "platform.api.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "platform.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "spinningup.openai.com"
forward-addr: 83.220.169.155
forward-zone:
name: "universe.openai.com"
forward-addr: 83.220.169.155
Настройка для форварда доменов ChatGPT от OpenAI через DNS от Comss.one чтобы работал ChatGPT на ПК и всех устройств в локалке.
Запускаем Link to heading
sudo systemctl enable unbound
sudo systemctl start unbound