跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 关于 IPV6 地址的使用问题
未分類
15 5 月 2020

关于 IPV6 地址的使用问题

关于 IPV6 地址的使用问题

資深大佬 : vhus 4

抛个砖。
ipv6 地址有了,虽然是动态的……吐槽…省略…
好的地方:可以无视防火墙,透过内网,任意去访问每个网络设备,如远程桌面,文件服务器等。
不好的地方:
1.用这个 IPV6 地址是巨大的折磨。
如:在盒子里播放远程 NAS 里共享的电影:
\240e-3a1-63F-9390-201-32ff-fe2c-a603.ipv6-literal.netfiesmediaXXX.m2ts 要写这么一长串的字母,快疯了呀。
2.不是每个设备都能支持 DDNS 做域名转换,但很难找到它的 IPV6 地址。就算设备支持 DDNS,一堆设备配置起来也很头痛。
3.IPV6 的网络安全问题,所有设备暴露在公网上,这个就不讨论了。
不知有什么新的或更好的解决方案,请大神们来交流一下。
大佬有話說 (44)

  • 資深大佬 : Aoang

    不支持 ddns 做域名转换是什么意思?这个链接用的不是域名吗?

    关于多设备配置 ddns,弄个脚本丢在设备上跑就好了啊。

    安全问题,开防火墙,不用弱口令,定期更换。

    还有动态 ip 的问题,真给你一个静态的,某天被什么网站、服务 ban 了 ip,你怎么整?准备找运营商投诉?

    凡事都有多面性,有利必有弊,根据个人做取舍

  • 資深大佬 : cwbsw

    1. 远程地址,你 v4 也得用域名啊。本地局域网,可以用 ULA 地址,比如 fd::1 。
    2. DDNS 一行 curl 命令的事,能有多复杂。
    3. 我的方案,wireguard 连回家里,allowedip 为家里内网网段,在外面可以一直开着,不访问家里内网时不会占用资源。

  • 資深大佬 : wazon

    不知道你用的是什么 NAS,群晖里带 IPv6 的 DDNS 配置起来应该不麻烦
    如果想用一台机器自编脚本集中处理 DDNS,那么局域网内的其他设备可以用邻居发现协议( NDP )找到( https://www.v2ex.com/t/646082#r_8596830 )
    SLAAC 分配的 IP 地址你会暴露给 ISP 和你主动访问的对象。如果想进一步加强安全性可以配 IPv6 的防火墙( https://www.v2ex.com/t/669225?p=1#r_8930837 )

    IPv4 下因为内网的 NAT,所有的外部访问都由路由器集中转发,客观上方便了 DDNS
    IPv6 下不再有 NAT,为用户提供了更大的自由度(比如可以有多台 NAS 用同一套端口方案),同时配置的方式也出现了改变。在这种情况下,可以每台设备各自做 DDNS,可以选择一台中枢设备转发流量(模仿 NAT 的模式),也可以选择一台设备根据 NDP 的信息按 MAC 分别配置 DDNS

  • 資深大佬 : wazon

    补充:
    群晖里的 DDNS 是图形界面
    SLAAC 分配的 IP 地址除了 本地设备、ISP 和 该设备主动访问的对象,不容易被外人所知,且极难被暴力扫到,因此天生具有一定的安全性

  • 資深大佬 : wjswxp

    你甚至可以强制使用 IPv6 NAT 以增加安全性,只要网关是公网可访问的,你就可以外部接入啊。

  • 主 資深大佬 : vhus

    @Aoang @cwbsw @wazon
    谢谢各位,要给设备个分配个域名,但是设备不一定支持,不是所有的设备都能跑脚本,比如我的小米电饭煲。
    @Aoang 这个链接用的不是域名吗?—不是域名,那就是 ipv6 的地址。

  • 資深大佬 : locoz

    1 、内网 dns 解决,路由器上配一下就好了
    2 、ipv6 ddns 可以在路由器上做的,这个问题也不大,获取一下 dhcp 表就好了
    3 、安全问题也好解决,路由器有防火墙,即使内部设备是公网 ipv6 也仍然能被路由器的防火墙阻断特定端口的通信,你仍然可以只开放特定端口

  • 主 資深大佬 : vhus

    ipv6 的好处之一就是网关透明的,不用去考虑 NAT 、端口等问题。
    亟待解决的就是如何给每个设备分配个域名,而不是每次敲一长串地址,况且那地址总是在变。

  • 資深大佬 : AoTmmy

    不支持脚本的可以用端口转发,在内网设备上转发指定端口

  • 主 資深大佬 : vhus

    @AoTmmy 那又几乎退回到 IPV4 的配置方式了呀。

  • 資深大佬 : zro

    3.有公网 IP 不代表就暴露了,要取决网关帮不帮你路由进来的,默认只允许路由出去的。。

    @cwbsw #2 你是在 OpenWRT 搭的 WireGuard Server 吗?

  • 主 資深大佬 : vhus

    @locoz 如果用 ipv6 dhcp 分配地址,那就跟 ipv4 没有多大差异,也就没必要说这个问题了。
    比较容易的是 ND 方式自动分配。

  • 資深大佬 : AoTmmy

    @vhus 你设备连 curl 或者脚本都不支持的话用 IPv6 也没有什么意义吧,内网走 IPv4 也比 v6 方便。你这个输入的 v6 地址也不知道意义何在,ddns 到 a.ipv6-literal.net 或者 xx.ipb6-literal.net 不就行了

  • 主 資深大佬 : vhus

    @zro 常用的家用级路由器,只要获取了公网 ipv6 地址,如果没开防火墙每个设备就都暴露在公网上。
    网络安全不是我目前想解决的重点,重点是 ipv6 ddns 。

  • 資深大佬 : Atomo

    不能跑脚本的设备,根本就没打算让你主动访问,都是被动的,你主动访问小米电饭煲有啥用?

    如果该设备有跑服务程序,并且让你主动访问,肯定有设置 ip 的方式

    获取 ipv6 地址可以从互联网取得 ( https://)ipv6.ddnspod.com

  • 主 資深大佬 : vhus

    @AoTmmy 我的问题是在 ipv6 的使用方面,意义还是有的,ipv6 方便的地方也就是可以 IP 到 IP 的直接连接,不用通过 NAT 、端口转发。问题主要就是—-如何不写那么长的字符,转换成固定的域名。

  • 主 資深大佬 : vhus

    @Atomo
    访问电饭煲当然是做饭,而且设定环境为远程访问,常规方法的是路由器器上做端口映射或架 VPN 这个不用讨论了,我们说的是在 IPV6 环境下的应用。
    设备已有 ipv6 地址了。

  • 主 資深大佬 : vhus

    统一感谢上回复的兄弟们,可能做饭意义不大,我把电饭煲的例子换为打印机吧。^_^

  • 資深大佬 : Atomo

    从我的角度考虑,物联网设备最好有一个云平台,设备发心跳包告知平台状态和 ip,控制终端(手机或者电脑)通过认证接入平台,进而控制相应的设备

  • 資深大佬 : Atomo

    想把设备的当前 ipv6 地址和域名做绑定,还是要设备主动告知,不管是告知云平台,还是告知 ddns,否则比较难实现,因为 v6 地址是动态的,这也是 v6 的安全之处

  • 主 資深大佬 : vhus

    @Atomo 是的,这是相对理想状态,以后一定能实现,我们先回到现实,看看有什么经验可分享。

  • 資深大佬 : Atomo

    @vhus 对于没有开启 SLAAC 功能的设备来说,64 位后缀是固定的静态的,你可以通过网关或者 nas 或者电脑 ddns 获取到 64 位动态前缀,然后拼凑完整的 128 位地址到域名解析

  • 資深大佬 : AoTmmy

    感觉这种小的东西弄个专门的 ddns 像脱裤子放屁

  • 資深大佬 : leschans

    0. 如果是家庭宽带分配动态 IP 蛮合理的啊。
    1. 你写的这个就是域名啊,你不弄个这么长的不就是了。比如 nas.ipv6-literal.net
    2. 一般的设备都能弄 DDNS 吧,curl -6 一下就好了,Google 一下很多免费的。要是说内网的手机这类设备 curl 不了,先看看访问手机的用处大不大。
    3. 如果你不是真给内网全部设置了 IPv6,你暴露的顶多是 IPv6-PD 地址,要知道后面的得枚举了。实在有必要的可以绑定 MAC 访问。

  • 資深大佬 : CheekiBreeki

    ddns,用 dynv6 這個支持 4/6 雙桟,跑個腳本 2 分鐘檢測上報就 ok 了

  • 資深大佬 : qingxi

    支持 dhcpv6 可以指定分配后缀,像原生安卓只支持 slaac 后缀由网卡 mac 地址换算,这个后缀又长又难记

  • 資深大佬 : locoz

    @vhus #12 有差异的,ipv6 下分配的是公网 ip,ipv4 下分配的是 nat 后的内网 ip…

  • 資深大佬 : Michaelssss

    nas 看电影还要手输??地址超长就无视把,买个 10 块钱的.icu 域名,挂 AAAA,跑脚本 ddns 完全满足你的需求

  • 資深大佬 : wslzy007

    保持防火墙打开,使用 sg 穿透防火墙访问即可。访问 url 使用 ipv4 ( ipv4 over ipv6 )
    github.com/lazy-luo/smarGate

  • 資深大佬 : Atomo

    @Atomo #22 我尝试完善了针对固定 ipv6 后缀并且不能跑 ddns 脚本的设备,可通过同一内网的任意设备替它跑 ddns,

    1.获取自身 ipv6 外网地址
    curl ( https) ipv6.ddnspod.com 返回:2001:1234:1234:1234:1:1:1:1

    2.获取自身 ipv6 地址前缀
    curl ( https) ipv6.ddnspod.com/prefix 返回:2001:1234:1234:1234::

    3.获取自身 ipv6 前缀+自定义后缀
    curl ( https) ipv6.ddnspod.com/prefix/22 返回:2001:1234:1234:1234::22
    curl ( https) ipv6.ddnspod.com/prefix/2:2:2:2 返回:2001:1234:1234:1234:2:2:2:2

  • 主 資深大佬 : vhus

    @AoTmmy 兄弟,我们在说的是一种业务模式,别谈是否有意义。

  • 主 資深大佬 : vhus

    @Atomo 我目前也只能通过获取路由器获取网段 ipv6 地址,再通过记录设备 EUI-64 地址,换算为设备公网 ipv6 地址。
    地址长度过长这个梗,目前绕不开,如何把它分配个 DDNS 域名,就是最头痛的问题了。

  • 主 資深大佬 : vhus

    @Atomo 用一个设备代替其他不能运行脚本的客户端去进行 DDNS 更新,是个解决方案,还需研究一下,争取能在网关上直接运行它。

  • 資深大佬 : Atomo

    @vhus #33 我用的是这个 dnspod 的稍微修改了一下,加到定时任务就行了,
    https://github.com/kkkgo/dnspod-ddns-with-bashshell

  • 資深大佬 : Atomo

    针对 Only-ipv6

    “`
    token=”login_token=${API_ID},${API_Token}&format=json&domain=${domain}&record_type=AAAA&sub_domain=${host}”
    Record=$(curl -s -k -X POST https://dnsapi.cn/Record.List -d “${token}”)
    iferr=$(echo ${Record#*code} | cut -d'”‘ -f3)
    if [ “$iferr” == “1” ];then
    record_ip=$(echo ${Record#*value} | cut -d'”‘ -f3)
    echo “[API IP]:$record_ip”
    if [ “$record_ip” == “$DEVIP” ];then
    echo “IP SAME IN API,SKIP UPDATE.”
    exit
    fi
    record_id=$(echo ${Record#*”records”:[{“id”} | cut -d'”‘ -f2)
    record_line_id=$(echo ${Record#*line_id} | cut -d'”‘ -f3)
    echo Start DDNS update…
    ddns=$(curl -s -k -X POST https://dnsapi.cn/Record.Modify -d “${token}&record_type=AAAA&record_id=${record_id}&record_line_id=${record_line_id}&value=${DEVIP}”)
    ddns_result=”$(echo ${ddns#*message”} | cut -d'”‘ -f2)”
    echo -n “DDNS upadte result:$ddns_result “
    echo $ddns | grep -Eo “$IPREX” | tail -n 1
    else echo -n Get $host.$domain error :
    echo $(echo ${Record#*message”}) | cut -d'”‘ -f2
    fi
    “`

  • 主 資深大佬 : vhus

    @Atomo 谢谢,脚本有参考意义,我想在 ROUTEROS 路由器上实现它,ddns 用的是 he.net 稍有不同。

  • 資深大佬 : Aoang

    @vhus 不是我说…打印机、电饭煲这种设备是能直接暴露在公网上的吗?这和裸奔有啥区别???

    至于 ddns,我就想知道你是怎么知道设备的 ip 地址的。你都有办法获取到设备的 ip 地址了,我不信脚本完成不了这个功能。

  • 主 資深大佬 : vhus

    童鞋请给些有建设性的回复,
    打印机,电饭煲只是个业务场景的例子……
    如要回答你如何获得 IP 这样盖就歪了……

  • 資深大佬 : flyfishcn

    @vhus #38 那些没有提供渠道的场景,怎么获取地址和 ddns 的需求我觉得很可能只是你这样小众人群的需求,而且获取不获取对设备本身功能使用没有什么影响的吧?既然如此,开发者没有留入口给你也是很正常的。
    既然是自己的需求,也就别去怪别人把盖歪了。那么可以提供两个思路:
    1 、用有状态分配地址,这样 dhcpv6 服务器就会维护分配给设备的地址,之间去取来传给 ddns api 更新。
    2 、内网用固定的 ULA 地址,网关上做 1 对 1 的 nat,按后缀匹配,前缀从内网网关上取,合成完整的地址传给 ddns api 更新。
    或者 VPN 拨进内网,就干脆用 ula 地址访问。

  • 資深大佬 : tia

    所以静态 ip 才买那么贵啊。ddns 搞个阿里的支持 ipv6 短小好记

  • 資深大佬 : tia

    @Aoang #37 想太多。现在基本找不到能自己获取并且通过外网 p2p 管理的智能家居,就算等到那时候配套的安全措施也有了

  • 資深大佬 : wazon

    再总结一下,对于无法配置 DDNS 的物联网设备,可以在(旁)路由集中处理。
    理论可行的有以下方案:
    1. 仿照 IPv4 下的现状 做端口转发(利用相对稳定的本地链路地址)
    2. 后缀不变的设备,在路由器拼接动态前缀+固定后缀 做 DDNS
    3. 后缀会变的设备,在 NDP 的结果里照着 MAC 地址找到新的公网 IP 做 DDNS

  • 資深大佬 : qbqbqbqb

    @vhus 大部分家用路由器都自带 IPv6 防火墙默认开启,有的还不提供关闭防火墙的设置(比如 NETGEAR )。但凡是路由器拨号用户基本都不用考虑这个安全问题。
    有问题的反而是光猫自动拨号用户,光猫超级管理员页面有一个防火墙设置,设为高则默认阻断,设为低则默认暴露,这个设置都是运营商自动推送的,而且用户不破解超密也没法修改。

  • 資深大佬 : myzincx

    对于只是想个人访问的设备的话,我倾向于是自己搭建一个 vpn,类似于 wireguard 甚至 v2ray,然后在 vpn 服务器上跑 ddns 。
    这样既避免了直接暴露诸如物联网设备暴露在公网(虽然如果获取到了公网 ipv6 就是变相暴露,但是首先 ipv6 现阶段基本没可能暴力扫描出来,其次也可以配置路由器防火墙,只对外开放 vpn 服务器的对应端口),又解决了你此类设备不好跑 ddns 脚本的难题。
    个人使用的就是 v2ray 架设在 n1 上,然后关闭其他所有设备的 ipv6 入网。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具