Mythologyli / zju-connect

ZJU RVPN 客户端的 Go 语言实现
GNU Affero General Public License v3.0
313 stars 20 forks source link

zju-connect zju dns解析挂了 #32

Closed cxz66666 closed 10 months ago

cxz66666 commented 10 months ago

今天下午时候程序报错,怀疑是rvpn server端加了什么限制

Resolve IPv4 addr failed using ZJU DNS: cspo.zju.edu.cn, using local DNS instead.

Mythologyli commented 10 months ago

可以观察到此现象

DNS 修改为通过 TCP 请求,则正常

var remoteResolver = &net.Resolver{
    PreferGo: true,
    Dial: func(ctx context.Context, network, address string) (net.Conn, error) {
        addrDns := tcpip.FullAddress{
            NIC:  defaultNIC,
            Port: uint16(53),
            Addr: tcpip.Address(net.ParseIP(dnsServer).To4()),
        }

        //bind := tcpip.FullAddress{
        //  NIC:  defaultNIC,
        //  Addr: tcpip.Address(selfIp),
        //}

        return gonet.DialTCP(ipStack, addrDns, header.IPv4ProtocolNumber)
    },
}
cxz66666 commented 10 months ago

我正在提供一个customdns的pr,现在看起来需要一个这个功能

Mythologyli commented 10 months ago

我正在提供一个customdns的pr,现在看起来需要一个这个功能

用来设置 DNS 走 TCP 还是 UDP 吗

cxz66666 commented 10 months ago

我正在提供一个customdns的pr,现在看起来需要一个这个功能

用来设置 DNS 走 TCP 还是 UDP 吗

手动设置host的dns解析,持久化

Mythologyli commented 10 months ago

https://github.com/githuu5y5u/EasierConnect/issues/3

另外一种思路是找到 EasyConnect 能正确解析的原理

Mythologyli commented 10 months ago

测试了一下 10.10.0.21 UDP 失败 10.10.0.21 TCP 成功 10.10.2.21 UDP 失败 10.10.2.21 TCP 失败

现在也没有什么头绪,下一步测试下是否所有 UDP 服务都会失败

cxz66666 commented 10 months ago

我觉得应该额外提供一个customDNS的能力,以及自动fallback选择tcp/udp dns的功能,目前我正在实现前面的功能

Mythologyli commented 10 months ago

我觉得应该额外提供一个customDNS的能力,以及自动fallback选择tcp/udp dns的功能,目前我正在实现前面的功能

嗯,不过如果出现 DNS UDP/TCP 均不能使用的情况,仅靠手动设置 customDNS,使用会相当不便

cxz66666 commented 10 months ago

同意,不过现在也只能先这样了 😢

cxz66666 commented 10 months ago

@Mythologyli 有近期增加fallback选择tcp/udp dns的功能吗,没有的话我可以再整个pr

Mythologyli commented 10 months ago

@Mythologyli 有近期增加fallback选择tcp/udp dns的功能吗,没有的话我可以再整个pr

拜托了!非常感谢

另外有消息说 RVPN 的异常是特殊时期导致的,也有同学给我反馈平时能连上的实验室服务器现在连不上了,但访问 CC98 没有问题

cxz66666 commented 10 months ago

@Mythologyli 有近期增加fallback选择tcp/udp dns的功能吗,没有的话我可以再整个pr

拜托了!非常感谢

另外有消息说 RVPN 的异常是特殊时期导致的,也有同学给我反馈平时能连上的实验室服务器现在连不上了,但访问 CC98 没有问题

是的,appservice.zju.edu.cn特殊时期也限制了内网访问,ical项目迫切需要zju-connect的这个功能 😸

Mythologyli commented 10 months ago

我这边测试 10.10.0.21 UDP53 似乎可以正常解析了

cxz66666 commented 10 months ago

我这边也观察到可以了