V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
neroanelli
V2EX  ›  宽带症候群

RouterOS 连接 IPv6 域名无法解析

  •  
  •   neroanelli · 2023-04-03 11:38:36 +08:00 · 1051 次点击
    这是一个创建于 387 天前的主题,其中的信息可能已经有所发展或是发生改变。

    服务器

    • 系统及版本:RouterOS 7.7
    • 有 IPv4 和 IPv6 的公网,并解析到了不同的域名
    • 搭建了 Wireguard 和 OpenVPN 服务

    客户端

    • 系统及版本:RouterOS 7.6/7.7
    • 有 IPv6 的公网
    • 有 3 台,在不同的地方,同样的配置,同样的现象

    当客户端使用 IPv4 的域名和服务器连接,一切正常。而使用 IPv6 的域名作为服务器地址的时候,Wireguard 可以连接,OpenVPN 一直连接不上,日志提示:ovpn-out-ipv6: disconnected <could not resolve name>

    但是使用 IPv6 的地址测试,不使用域名,则可以连接成功,一切正常。 后来又测试了 L2TP 、PPTP 等服务,也是同样的问题。

    说明:服务配置是正确的,IPv6 配置也是正确的。问题还是在客户端的 OpenVPN/PPTP/L2TP 那里。 有同学遇到类似的问题吗,现在的RouterOS问题真的有点多啊,每次看到更新都是一堆fix...

    10 条回复    2023-09-21 14:47:18 +08:00
    gemcjz
        1
    gemcjz  
       2023-04-03 14:17:29 +08:00
    看报警信息应该是域名解析的问题,最好先排除一些这方面的问题。
    yunisky
        2
    yunisky  
       2023-04-10 16:30:57 +08:00
    我在 macOS 上,用 ping6 命令拿来 ping 解析到 ipv4 的域名,以及 ping 命令拿来 ping 解析到 ipv6 的域名,得到的结果也是类似的“无法解析”的结果。楼主这可能还在很是解析的问题
    neroanelli
        3
    neroanelli  
    OP
       2023-04-10 22:33:24 +08:00 via iPhone
    @gemcjz
    @yunisky
    应该是解析的问题,可是无从下手啊。/ip/dns 也配置了 IPv4 和 IPv6 ,RouterOS 下的 PC 都能正确解析并连接上服务器
    makaflow
        4
    makaflow  
       217 天前
    一样的问题 ipv6 的域名没办法解析 直接换成 ipv6 的地址可以连接 ipv4 的域名也可以连接。目前没有找到解决办法 版本:7.11.2
    neroanelli
        5
    neroanelli  
    OP
       217 天前
    @izhangxm 我弄了个脚本每几分钟解析 ipv6 域名的地址,再填入服务器…
    makaflow
        6
    makaflow  
       217 天前 via iPhone
    @neroanelli #5 改完之后 openvpn 链接会断一下对吧 影响大不大 比如下载文件时 会突然显示下载失败吗
    neroanelli
        7
    neroanelli  
    OP
       217 天前 via iPhone
    @izhangxm #6 是这样的:首先这个脚本是跑在客户端上的,它的主要功能就是每几分钟解析一下 ipv6 的域名,看这个域名对应的 ip 是否和 openvpn 客户端中的 ip 一致。如果一致就什么都不做,否则就将新解析的 ipv6 地址写入 oenvpn 客户端。
    这个断不断的问题不重要了,因为服务器的 ipv6 已经变化了,openvpn 的连接本来也要断开了
    makaflow
        8
    makaflow  
       217 天前
    可否分享下脚本 感谢!
    neroanelli
        9
    neroanelli  
    OP
       216 天前
    @makaflow
    把下面的"ipv6.xxxxx.com"改成你的 ipv6 域名,ovpn-out-ipv6 改成你对应的接口。然后设置定时脚本即可。
    ------------------------------------------------------------------------------
    :local domain "ipv6.xxxxx.com"
    :local serveripv6 [:resolve $domain server=119.29.29.29]
    :local recordip [interface/ovpn-client/get ovpn-out-ipv6 connect-to]

    #set-ovpn-serveripv6
    :if ($serveripv6!=$recordip) do={
    interface/ovpn-client/set ovpn-out-ipv6 connect-to=$serveripv6
    :log info ("ovpn-ipv6 CHANGE [".$domain."] CHANGE FORM [".$recordip."] TO [".$serveripv6."]")
    } else={
    # :log info ("ovpn-ipv6 [".$domain."] KEEP [".$recordip."]")
    }
    makaflow
        10
    makaflow  
       216 天前
    @neroanelli 谢谢 我试试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3201 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:22 · PVG 22:22 · LAX 07:22 · JFK 10:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.