socat getaddrinfo()“名称解析暂时失败”

时间:2019-12-28 20:37:00

标签: linux tcp vpn ipv6 socat

你好,

我目前正在尝试建立与我的DS-Lite附加家庭网络的“ ipv4” TCP-VPN连接。 为此,我有一个同时具有ipv4和ipv6地址的外部根服务器。 服务器将提取由我的主服务器(vpn6.server.me)创建的最新DNS条目,并开始使用socat将v4端口转发到已解析的v6端口。到目前为止,一切正常。

缩短的脚本:

# local forward 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进入给定端口。

我还确认解析的地址$myipv6是正确的并且可以从服务器ping通:

> ping6 vpn6.server.me
PING vpn6.server.me(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地址。.因此也许有一种方法可以禁用专门针对socat的这种“解析” 哪个失败?

谢谢!

0 个答案:

没有答案