DNS
V2Ray имеет внутренний DNS-сервер, используемый другими компонентами.
Конфигурация:
{
"hosts": {
"baidu.com": "127.0.0.1"
},
"servers": [
{
"address": "1.2.3.4",
"port": 5353,
"domains": [
"domain:v2ray.com"
],
},
"8.8.8.8",
"8.8.4.4",
"localhost"
],
"clientIp": "1.2.3.4"
}
Где:
hosts: Список статических IP-адресов. Каждая запись имеет имя домена в качестве ключа и IP-адрес как значение. Если цель DNS-запроса есть в списке, немедленно будет возвращен соответствующий IP, а запрос DNS дальше не пойдёт. Формат домена:"v2ray.com": Домен для разрешения, должен быть идентичен заданному."domain:v2ray.com": По такой схеме будет разрешаться как заданный домен, так и его поддомены.
servers: Список DNS-серверов. Каждый сервер может быть указан в двух форматах:- Упрощённый: строка типа
"8.8.8.8"для DNS-сервера, слушающего порт53. Ели указан"localhost", V2Ray разрешает имена через localhost. - Полный (V2Ray 3.42+):
address: Адрес DNS-сервера, типа"8.8.8.8".port: Порт DNS-сервера, например53.domains: Список доменов, приоритетных для этого сервера. Формат доменов такой же, как и в Маршрутизации.
- Упрощённый: строка типа
clientIp: IPv4-адрес текущей системы. Используется для уведомления DNS-сервера для лучшего разрешения IP. Значение не может быть адресом из частных ("серых") диапазонов.
Чтобы использовать внутренний DNS, вам необходимо настроить domainStrategy в маршрутизации.
Запросы DNS, ретранслируемые этой службой DNS, также будут отправляться на основе параметров маршрутизации. Никакой дополнительной настройки не требуется.
Стратегия запросов
Служба DNS попытается получить и A, и AAAA в одном DNS-запросе. Поскольку не все DNS-серверы поддерживают такой формат, V2Ray отправляет объединённые запросы только на следующие DNS-серверы. С остальных серверов запрашивается только A-запись.
8.8.8.8
8.8.4.4
9.9.9.9
Советы
- Рекомендуется использовать DNS с вашего локального хоста с DNS-сервером от третьей стороны, например CoreDNS.
- При использовании localhost в качестве DNS-сервера исходящие DNS-запросы по умолчанию не отправляются через V2Ray. Возможно, вам понадобится изменить некоторые настройки для перехвата этих запросов.
- When a DNS server has the domain in its domain list, the domain will be queries in this server first, and then other servers. Otherwise DNS queries are sent to DNS servers in the order they appear in the config file.