surge中按照官方文档添加了wireguard
代理,之后可以通过wirehguard
内网域名+端口访问内网服务,查看wireguard
中转服务器也是有流量的,因此配置应该没有问题。
但是使用域名进行访问的时候就有问题,我确认我设置了dns-server
,并且在下述条件下测试过:
- 使用
script
解析域名。
- 使用公共DNS解析域名。
- 使用
local mapping
直接添加hosts
。
- 开启和关闭增强模式。
以上条件下,均不能通过域名访问内网服务。而位于同一个wireguard
网络内的其他两台服务器均可以通过域名访问内网服务,且Mac切换到使用wireguard
官方客户端之后也可以通过域名访问内网服务。
Surge的日志如下:
07:52:43.856465 [Connection] Incoming proxy protocol: HTTP
07:52:43.856692 [TLS] TLS Client Hello SNI: example.com
07:52:43.856935 [Rule] Rule evaluating requires DNS lookup for rule: IP-CIDR 10.88.10.0/24
07:52:43.857142 [Rule] DNS completed in 0.16ms, IPv4 address for matching: 10.88.10.2, IPv6 address for matching: N/A
07:52:43.857201 [Rule] Rule matched: IP-CIDR 10.88.10.0/24
07:52:45.341190 [WireGuard-DNS] Remote DNS error: Error Domain=SGErrorDomain Code=0 "Timeout" UserInfo={NSLocalizedDescription=Timeout}
07:52:45.341455 [Connection] Disconnect with reason: Failed to establish connection (Timeout)
07:52:45.341611 [Connector] Connection setup failed: Error Domain=SGErrorDomain Code=0 "Timeout" UserInfo={NSLocalizedDescription=Timeout}, abort
curl -v
如下:
curl -v https://example.com
* Trying 198.18.10.115:443...
* Connected to example.com (198.18.10.115) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/cert.pem
* CApath: none
* LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to example.com:443
* Closing connection
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to example.com:443
已经参考过前人的帖子进行过修改https://community.nssurge.com/d/2284-wireguard-ip,但是没有能够解决问题。
请问我应该调整什么设置才能通过域名访问内网服务呢?