我目前正在尝试建立与我的DS-Lite附加家庭网络的“ ipv4” TCP-VPN连接。为此,我有一个同时具有ipv4和ipv6地址的外部根服务器。服务器将提取由我的家庭服务器(vpn6.server.me
)创建的最新DNS条目,并开始使用socat
将v4端口转发到已解析的v6端口。到目前为止,这一切正常。
缩短的脚本:
# local forwaard port to bind
loport=8443
# remote host to forward to
# this has to be a ipv6 AAAA dns record
myhost=vpn6.server.me
myport=8443
myipv6=$(getent hosts $myhost | awk '{ print $1 }' | head -n 1)
screen -dmSL ipv6proxy socat -d -d TCP4-LISTEN:$loport,fork TCP6:[$myipv6]:$myport
我在家庭路由器上采取了必要的步骤,以允许ipv6-traffic进入给定的端口。
我也已经确认解析的地址$mmyipv6
是正确的并且可以从服务器ping通:
> ping6 2a02:908:2212:XXXX:ba27:XXXX:XXXX:116c
PING 2a02:908:2212:XXXX:ba27:XXXX:XXXX:116c(2a02:908:2212:XXXX:ba27:XXXX:XXXX:116c) 56 data bytes
64 bytes from 2a02:908:2212:XXXX:ba27:XXXX:XXXX:116c: icmp_seq=1 ttl=245 time=41.2 ms
64 bytes from 2a02:908:2212:XXXX:ba27:XXXX:XXXX:116c: icmp_seq=2 ttl=245 time=38.3 ms
64 bytes from 2a02:908:2212:XXXX:ba27:XXXX:XXXX:116c: icmp_seq=3 ttl=245 time=26.5 ms
[当尝试建立连接时,VPN将加载一段时间,并失败,并显示TCP recv EOF
。
在socat屏幕中显示以下错误:
2019/12/28 21:00:56 socat[3569] E getaddrinfo("[2a02:908:2212:XXXX:ba27:XXXX:XXXX:116c]", "NULL", {1,10,1,6}, {}): Temporary failure in name resolution
而且我真的不知道为什么会这样。
几种不同的解决方法总是返回正确的ipv6,我能够对其进行ping操作。
我已经尝试过重启服务器,但没有成功。
也许我错过了一些东西,但是首先由于我不需要解析该错误,因为不需要解析IPv6地址。所以也许有一种方法可以禁用失败的“解析”?
谢谢!