Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V2ray在非标准linux环境中的DNS域名解析问题 #1909

Closed
nexw opened this issue Sep 28, 2019 · 6 comments
Closed

V2ray在非标准linux环境中的DNS域名解析问题 #1909

nexw opened this issue Sep 28, 2019 · 6 comments

Comments

@nexw
Copy link

nexw commented Sep 28, 2019

提交 Issue 之前请先阅读 Issue 指引,然后回答下面的问题,谢谢。
除非特殊情况,请完整填写所有问题。不按模板发的 issue 将直接被关闭。
如果你遇到的问题不是 V2Ray 的 bug,比如你不清楚要如何配置,请使用Discussion进行讨论。

  1. 你正在使用哪个版本的 V2Ray?(如果服务器和客户端使用了不同版本,请注明)
    v2ray 4.20

  2. 你的使用场景是什么?比如使用 Chrome 通过 Socks/VMess 代理观看 YouTube 视频。
    在Android的模拟终端类应用中使用v2ray二进制(APP:termux, CPU:aarch)

  3. 你看到的不正常的现象是什么?(请描述具体现象,比如访问超时,TLS 证书错误等)
    无法解析配置文件中指定的域名。

  4. 你期待看到的正确表现是怎样的?
    在另一个项目中遇到过同样的问题,并且已经得到解决。修复这个问题有助于v2ray在一些特殊环境中运行,具有更好的兼容性。参见FRP在Android中的DNS问题issuesGOLANG中的DNS问题

  5. 请附上你的配置(提交 Issue 前请隐藏服务器端IP地址)。

服务器端配置:

    // 在这里附上服务器端配置文件
//服务器端运行正常,且与本问题无关。

客户端配置:

    // 在这里附上客户端配置
"outbounds": [
    {
      "mux": {
        "enabled": false
      },
      "protocol": "shadowsocks",
      "settings": {
        "servers": [
          {
            "address": "******",
            "level": 8,
            "method": "aes-256-gcm",
            "ota": false,
            "password": "***",
            "port": 443
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "security": "tls",
        "tlssettings": {
          "allowInsecure": true,
          "serverName": "******"
        },
        "wssettings": {
          "connectionReuse": true,
          "headers": {
            "Host": ""
          },
          "path": "/test"
        }
      },
      "tag": "proxy"
    },
  1. 请附上出错时软件输出的错误日志。在 Linux 中,日志通常在 /var/log/v2ray/error.log 文件中。

服务器端错误日志:

    // 在这里附上服务器端日志
//服务器端运行正常,且与本问题无关。

客户端错误日志:

2019/09/27 09:42:31 [Warning] [2843975150] v2ray.com/         core/app/proxyman/outbound: failed to process outbound        traffic > v2ray.com/core/proxy/shadowsocks: failed to         find an available destination > v2ray.com/core/common/        retry: [v2ray.com/core/transport/internet/websocket:          failed to dial WebSocket > v2ray.com/core/transport/          internet/websocket: failed to dial to (wss://***/***):  > dial tcp: lookup *** on [::1]:53: read udp        [::1]:42862->[::1]:53: read: connection refused v2ray.        com/core/transport/internet/websocket: failed to dial         WebSocket > v2ray.com/core/transport/internet/                websocket: failed to dial to (wss://***/***):  >           dial tcp: lookup ****** on [::1]:53: read udp [::1]:        42608->[::1]:53: read: connection refused v2ray.com/          core/transport/internet/websocket: failed to dial             WebSocket > v2ray.com/core/transport/internet/                websocket: failed to dial to (wss://***/***):  >           dial tcp: lookup ****** on [::1]:53: read udp [::1]:        46042->[::1]:53: read: connection refused v2ray.com/          core/transport/internet/websocket: failed to dial             WebSocket > v2ray.com/core/transport/internet/                websocket: failed to dial to (wss://***/***):  >           dial tcp: lookup ***** on [::1]:53: read udp [::1]:        39998->[::1]:53: read: connection refused v2ray.com/          core/transport/internet/websocket: failed to dial             WebSocket > v2ray.com/core/transport/internet/                websocket: failed to dial to (wss://***/***):  >           dial tcp: lookup ***** on [::1]:53: read udp [::1]:        38482->[::1]:53: read: connection refused] > v2ray.com/       core/common/retry: all retry attempts failed
    // 在这里附上客户端日志
  1. 请附上访问日志。在 Linux 中,日志通常在 /var/log/v2ray/access.log 文件中。
    // 在这里附上服务器端日志
//服务器端运行正常,且与本问题无关。
  1. 其它相关的配置文件(如 Nginx)和相关日志。

  2. 如果 V2Ray 无法启动,请附上 --test 输出。

通常的命令为 /usr/bin/v2ray/v2ray --test --config /etc/v2ray/config.json。请按实际情况修改。

  1. 如果 V2Ray 服务运行不正常,请附上 journal 日志。

通常的命令为 journalctl -u v2ray

请预览一下你填的内容再提交。

@kslr kslr added the Wontfix label Oct 29, 2019
@supppig
Copy link

supppig commented Oct 30, 2019

这是go自带的dns库的问题。因为读不到/etc/resolv.conf,所以默认返回了一个 127.0.0.1:53 作为dns服务器。然而这个服务器并不存在(除非你自己在本机端口搭建一个端口53的dns)。
解决方案:
1、改go的dns的package,自己编译一个v2ray。
2、在本机搭建一个53端口的dns服务器,可以用pdnsd或者类似的一堆软件完成,也可以用v2ray自带的功能完成。

我用的是方案2,用v2ray自带搭建了dns,已经解决了这个问题。

@fastfading
Copy link

这是go自带的dns库的问题。因为读不到/etc/resolv.conf,所以默认返回了一个 127.0.0.1:53 作为dns服务器。然而这个服务器并不存在(除非你自己在本机端口搭建一个端口53的dns)。
解决方案:
1、改go的dns的package,自己编译一个v2ray。
2、在本机搭建一个53端口的dns服务器,可以用pdnsd或者类似的一堆软件完成,也可以用v2ray自带的功能完成。

我用的是方案2,用v2ray自带搭建了dns,已经解决了这个问题。

请问2 具体如何操作, 我ubuntu v2ray看youtube 视频也是看一段就卡住了,但是在windows android 下面没有问题, 怀疑与你说的有关。 求教如何设置

@rhjdvsgsgks
Copy link

已复现,即使在dns servers里指定了可用的dns服务器地址,依旧会尝试使用本地的53端口解析dns

v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: failed to open connection to tcp:***:443 > v2ray.com/core/common/retry: [dial tcp: lookup *** on [::1]:53: read udp [::1]:47033->[::1]:53: read: connection refused dial tcp: lookup *** on [::1]:53: read udp [::1]:37884->[::1]:53: read: connection refused dial tcp: lookup *** on [::1]:53: read udp [::1]:47125->[::1]:53: read: connection refused dial tcp: lookup *** on [::1]:53: read udp [::1]:37442->[::1]:53: read: connection refused dial tcp: lookup *** on [::1]:53: read udp [::1]:43888->[::1]:53: read: connection refused] > v2ray.com/core/common/retry: all retry attempts failed

解决方案2在未root的Android设备上又无法实现,因为Android不让非系统应用监听低于某个数值的端口,而53在该数值之下

@Vincent-SOE
Copy link

@rhjdvsgsgks 完成内置 dns 配置后,您还需要配置 Freedom 出站协议,指定其使用内置DNS将域名解析为 IP 之后再建立连接,而不是直接向域名发出连接。

outbounds 示例:

{
    "protocol": "freedom",
    "settings": {
        "domainStrategy": "UseIP"
    }
}

参考资料:官方文档->Freedom->OutboundConfigurationObject

在目标地址为域名时,Freedom 可以直接向此域名发出连接("AsIs"),或者将域名解析为 IP 之后再建立连接("UseIP""UseIPv4""UseIPv6")。解析 IP 的步骤会使用 V2Ray 内建的 DNS。

@rhjdvsgsgks
Copy link

虽然我现在已经没有当时的环境所以无法复现了,但还是感谢回复

@github-actions
Copy link

github-actions bot commented Jan 1, 2021

This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 5 days

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants