|
本帖最后由 FashionCrazy 于 2023-1-2 23:08 编辑
如题。刷了padavan的多拨固件,不开启多拨的时候阿里云ddns正常,外网可以通过域名访问;
开启多拨之后。一共四拨(ppp0~ppp3),路由器日志里ipv4都是对的而且也显示更新成功,ipv6地址显示的野是对的,但是提示获取失败....(报错及配置如下)
另外想问一下,如果期望外网可以通过ipv6访问路由器后台,多拨之后是应该同步ppp0拨号的ipv6地址给阿里云域名解析吗?
ipv6报错:
Jan 2 23:01:22 【AliDDNS动态域名】: 开始更新 k2p.xxxx.cn 域名 IP 指向
Jan 2 23:01:22 【AliDDNS动态域名】: 目前 IP: 2408:xxxx:2420:23ca:994e:ca51:7db1:xxx
Jan 2 23:01:22 【AliDDNS动态域名】: 上次 IP:
Jan 2 23:01:28 kernel: nf_conntrack: automatic helper assignment is deprecated and it will be removed soon. Use the iptables CT target to attach helpers instead.
Jan 2 23:02:27 【AliDDNS动态域名】: 添加的记录
Jan 2 23:02:27 【AliDDNS动态域名】: 更新失败
Jan 2 23:02:27 【AliDDNS动态域名】: 更新动态DNS记录失败!请检查您的网络。
Jan 2 23:02:27 【AliDDNS动态域名】: 错误!2408:xxxx:2420:23ca:994e:ca51:7db1:xxx 获取目前 IPv6 失败,请在脚本更换其他获取地址,保证取得IPv6地址(例如:ff03:0:0:0:0:0:0:c1)
Jan 2 23:02:36 dnsmasq-dhcp[2182]: DHCPNAK(br0) 192.168.2.103 78:0f:77:cb:d5:e9 wrong server-ID
附上配置脚本:
# 自行测试哪个代码能获取正确的IP,删除前面的#可生效
arIpAddress () {
# IPv4地址获取
# 获得外网地址
curltest=`which curl`
if [ -z "$curltest" ] || [ ! -s "`which curl`" ] ; then
#wget --no-check-certificate --quiet --output-document=- "https://www.ipip.net" | grep "IP地址" | grep -E -o '([0-9]+\.){3}[0-9]+' | head -n1 | cut -d' ' -f1
#wget --no-check-certificate --quiet --output-document=- "https://ipv4.ip.mir6.com/" | grep -E -o '([0-9]+\.){3}[0-9]+' | head -n1 | cut -d' ' -f1
#wget --no-check-certificate --quiet --output-document=- "ip.6655.com/ip.aspx" | grep -E -o '([0-9]+\.){3}[0-9]+' | head -n1 | cut -d' ' -f1
wget --no-check-certificate --quiet --output-document=- "ip.3322.net" | grep -E -o '([0-9]+\.){3}[0-9]+' | head -n1 | cut -d' ' -f1
else
#curl -L -k -s "https://www.ipip.net" | grep "IP地址" | grep -E -o '([0-9]+\.){3}[0-9]+' | head -n1 | cut -d' ' -f1
#curl -L -k -s "https://ipv4.ip.mir6.com/" | grep -E -o '([0-9]+\.){3}[0-9]+' | head -n1 | cut -d' ' -f1
ip -4 address show ppp0 | grep inet | grep -v 127.0.0 | awk '{print $2}' | cut -d'/' -f1
#curl -L -k -s ip.6655.com/ip.aspx | grep -E -o '([0-9]+\.){3}[0-9]+' | head -n1 | cut -d' ' -f1
#curl -L -k -s ip.3322.net | grep -E -o '([0-9]+\.){3}[0-9]+' | head -n1 | cut -d' ' -f1
fi
}
# IPv6地址获取
# 因为一般ipv6没有nat ipv6的获得可以本机获得
arIpAddress6 () {
#ifconfig $(nvram get wan0_ifname_t) | awk '/Global/{print $3}' | awk -F/ '{print $1}'
#ifconfig $(nvram get lan0_ifname_t)| awk '/Global/{print $3}' | awk -F/ '{print $1}'
ip -6 address show ppp0 | grep inet6 | awk '{print $2}' | cut -d'/' -f1
#ifconfig ppp0 | awk '/Global/{print $3}' | awk -F/ '{print $1}'
}
if [ "$IPv6" = "1" ] ; then
arIpAddress=$(arIpAddress6)
else
arIpAddress=$(arIpAddress)
fi
|
|