-
Notifications
You must be signed in to change notification settings - Fork 26
DNS over VLESS
Источник: jameszero.net/3398.htm
Безопасность в интернете с каждым днём становится всё более насущной необходимостью. Утечка личных данных может обойтись слишком дорого, поэтому о своей цифровой неприкосновенности лучше позаботиться заранее. И начать стоит, например, с защиты DNS-запросов. Обычно для этого используются такие протоколы, как DNS-over-TLS, DNS-over-HTTPS и другие. Я же предлагаю рассмотреть ещё один способ — направить DNS-трафик через прокси-сервер на базе Xray, назовём этот метод DNS-over-VLESS.
В сети немало инструкций по настройке самого Xray, но вот проброс DNS-трафика через него раскрыт недостаточно подробно. Попробуем восполнить этот пробел.
Первоначальное условие — у вас уже должен быть настроен и функционировать прокси xray VLESS с XTLS Reality по одной из многочисленных инструкций. Все действия по его "прокачке" выполняем локально на компьютере или роутере, сервер xray не трогаем.
Замечание от пользователя:
Во многих конфигурациях серверов xray есть секция для предотвращения проблем с локальной маршрутизацией, в ней блокируется "geoip:private", куда попадает дефолтный адрес DNS-резолвера - 127.0.0.53. Для нашей задачи данное правило необходимо удалить, либо направить 127.0.0.53 выше этого правила в директ.
Разобьём единый файл настроек xray config.json на файлы по разделам: inbounds.json, outbounds.json, dns.json, routing.json. Этих четырёх файлов достаточно для нашей задачи.
Для реализации задуманного необходимо использовать входящее подключение (inbounds), поддерживающее UDP-протокол, например, TProxy.
{
"inbounds": [
{
"port": 1181,
"protocol": "dokodemo-door",
"settings": {
"network": "tcp,udp",
"followRedirect": true
},
"sniffing": {
"enabled": true,
"routeOnly": true,
"destOverride": ["http","tls","quic"]
},
"streamSettings": {
"sockopt": {"tproxy": "tproxy"}
},
"tag": "tproxy"
}
]
}{
"outbounds": [
{
"protocol": "vless",
"settings": {
"address": "***.***.***.***",
"port": 443,
"id": "****************************",
"encryption": "none",
"flow": "xtls-rprx-vision"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "*********",
"publicKey": "****************************",
"shortId": "********",
"spiderX": "/"
},
"sockopt": {
"domainStrategy": "ForceIP"
}
},
"tag": "proxy"
},
{
"protocol": "freedom",
"streamSettings": {
"sockopt": {
"domainStrategy": "ForceIP"
}
},
"tag": "direct"
},
{
"protocol": "dns",
"tag": "dns-out"
}
]
}{
"dns": {
"tag": "dns-in",
"servers": [
"8.8.8.8"
],
"queryStrategy": "UseIP"
}
}{
"routing": {
"rules": [
{
"inboundTag": ["dns-in"],
"outboundTag": "proxy"
},
{
"port": 53,
"outboundTag": "dns-out"
},
{
"domain": [
"browserleaks",
"ip.me"
],
"outboundTag": "proxy"
},
{
"network": "tcp,udp",
"outboundTag": "direct"
}
]
}
}Настройка завершена, выполняем проверку.
Если ошибок не допущено, то проксируемый ресурс browserleaks.com покажет DNS страны нахождения вашего VPS. Не стоит бояться использования обычных DNS в рассмотренных конфигах, их трафик будет передан на VPS-сервер транспортом VLESS с TLS-шифрованием.
В итоге результат получен, DNS-over-VLESS настроен и работает. Никто не прослушает ваши DNS-запросы к проксируемым сайтам и не подменит ответы по своему усмотрению. Для дополнительной защиты в интернете обратите внимание на возможность отключения WebRTC и QUIC в браузере.
Навигация
- Главная
- FAQ - Часто задаваемые вопросы и ответы
- Отличия форка XKeen от оригинала
- Таблица совместимости роутеров
- Режимы работы XKeen
- Порядок установки
- Описание установочного скрипта
- Конфигурационный файл xkeen.json
- Описание настроек некоторых возможностей
- DNS-over-VLESS
- Маршрутизация по DSCP-меткам
- Известные проблемы