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

为 macOS 固定 IPV6 后缀,设置 DDNS 及防火墙

  •  
  •   GHvyuR7N · 2022-02-06 20:03:40 +08:00 · 2270 次点击
    这是一个创建于 1025 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为 macOS 固定 IPV6 后缀,设置 DDNS 及防火墙

    说明:测试环境为 macOS 10.14.6

    1. /etc/sysctl.conf 配置文件中添加:

      net.inet6.send.opmode=0
      

      用以关闭随机地址(目录无此文件可同文件夹就近复制重命名一个 conf 文件并清空内容以避免权限问题)。

    2. 重启 macOS,运行命令:

      $ sysctl -a | grep opmode
      

      检查 net.inet6.send.opmode 的值是否为 0 ,运行命令:

      $ ifconfig -a | grep -E 'inet.*?autoconf'
      

      得到两个 IPV6 地址,检查非隐私拓展 IPV6 地址是否符合 EUI64 标准。

      例如,MAC 地址为 68:8c:29:d7:7a:bb,则 IPV6 后缀 :6a8c:29ff:fed7:7abb

    3. 配置网关防火墙规则,提取 IPV6 后缀与掩码组成本地地址,形如::0:0:0:0/::ffff:ffff:ffff:ffff

      例如,IPV6 地址为2409:8a21:a814:b830:6a8c:29ff:fed7:7abb,华硕路由器传入防火墙规则的本地 IP 地址为::6a8c:29ff:fed7:7abb/::ffff:ffff:ffff:ffff

    4. 配置 IPV6 DDNS 解析,此处需要用到 dynv6 提供的服务。申请好 ZONEAPI KEY,添加 AAAA 记录,数据填写 MAC 地址,并使用命令(注意替换[your_domain][your_token]):

      $ curl "https://ipv6.dynv6.com/api/update?ipv6prefix=auto&zone=[your_domain]&token=[your_token]"
      

      更新前缀,即可拼接出 macOS 完整 IPV6 地址。

      例如ZONEexample.dns.army,添加 AAAA 记录 NamemacosData68:8c:29:d7:7a:bb,即可生成 IPV6 后缀 ::6a8c:29ff:fed7:7abb,利用命令:

      $ curl "https://ipv6.dynv6.com/api/update?ipv6prefix=auto&zone=example.dns.army&token=[your_token]"
      

      即可更新 IPV6 前缀2409:8a21:a814:b830::,最后 dynv6 自动拼接出完整 IPV6 EUI64 地址2409:8a21:a814:b830:6a8c:29ff:fed7:7abb,对应 DDNS 域名为macos.example.dns.army

    这么做的好处是访问 macOS 地址相对固定,防火墙设置简单,DDNS 相对稳定,又不影响使用隐私扩展地址对外进行访问,隐私性得到保证,同局域网下其他符合 EUI64 标准的 IPV6 地址可一次性批量生成和更新。

    1 条回复    2022-02-06 20:28:10 +08:00
    titanium98118
        1
    titanium98118  
       2022-02-06 20:28:10 +08:00 via iPhone
    自从用了 tailscale ,基本不管 ddns 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3455 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 10:57 · PVG 18:57 · LAX 02:57 · JFK 05:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.