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

upnp/Port-forwarding 在 ipv6 场景下对应的技术是什么?

  •  
  •   xxfye · 2023-02-14 01:47:51 +08:00 · 1987 次点击
    这是一个创建于 409 天前的主题,其中的信息可能已经有所发展或是发生改变。

    众所周知,upnp 能够自动打开 ipv4 防火墙上的某个端口,并把该端口的流量全部转发到局域网主机的某个端口上。

    那么我想知道,假设我有一个默认阻断入站的 ipv6 防火墙,那么我想知道能否存在下面两种技术。

    1. 类似 ipv4 upnp ,在路由器上打开 ipv6 的端口 A ,并把该端口的流量全部转发到局域网主机的某个端口 B 上。即外网只需要访问路由器 IPv6:A,就能直接访问到主机 IPv6:B

    2. 打开 ipv6 的转发,即外网只能访问到主机 IPv6:B,其余入站按防火墙规则一律阻断

    注意,上面的操作过程应该是程序自动化配置的,类似 upnp ,而非手动配置防火墙。

    9 条回复    2023-02-15 12:38:07 +08:00
    bao3
        1
    bao3  
       2023-02-14 03:15:25 +08:00 via iPhone
    好家伙,你这是把 IPv6 当 IPv4 用……为了这么用,你还需要 IPv6 NAT 。你直接 IPv4 ,再加一个 6to4 ,就实现你想要的了。
    cnbatch
        2
    cnbatch  
       2023-02-14 03:38:42 +08:00
    IPv6 套用 IPv4 家用网络的惯用 NAT (即 NAPT ,到了 IPv6 时代这种做法叫做 NAT66 ),以往 IPv4 的端口转发操作可以继续套用,只不过这种 NAT 并非 IPv6 正式标准的组成部分
    https://openwrt.org/docs/guide-user/network/ipv6/ipv6.nat6

    顺便还可以了解下 NPTv6 ,可以做到 IPv6 内外网前缀自动转换。如果防火墙支持的话,可以只开放指定的 IPv6 地址,效果则是外部只能连接指定的内网主机。

    NPTv6 还有个好处,那就是对于动态 IP 以及多 ISP 线路的用户来说非常方便,可以直接在防火墙端给内网主机生成两个不同的 IPv6 地址,内网主机继续使用单一 IPv6 地址,这样外部 IP 怎么变都不用理会,多 ISP 线路的话还能更方便地匹配双线路由表(目前 IPv6 前缀分配还不至于像 IPv4 那样严重碎片化)。

    目前 NPTv6 唯一的问题是,动态公网环境下完美支持 NPTv6 的防火墙几乎不存在
    LnTrx
        3
    LnTrx  
       2023-02-14 04:29:36 +08:00
    应该没有,比较接近的是 Port Control Protocol

    毕竟 IPv6 已经不再需要网关转发来克服 NAT 了
    jim9606
        4
    jim9606  
       2023-02-14 07:32:12 +08:00
    UPnP 规范定义了第二种控制方式——WANIPv6FirewallControl ,可以通过 UPnP 放行内网特定主机特定端口的入站流量。

    goupnp 包对此有实现,但不清楚路由器的 upnpd 支持状况如何,似乎 openwrt 都没支持这个。
    mrzx
        5
    mrzx  
       2023-02-14 10:12:04 +08:00
    一开始就理解错误了。。。

    不是放行某个端口。。。而是自动跟路由器协商,自动形成 DNAT 端口关系。

    IPV6 已经不需要 NAT 了,每个设备都有个公网 IP 地址。。。如果考虑安全性。更该考虑的是 IPv6 防火墙,

    防火墙一定要支持数据流向动态放行的功能(通常叫“基于状态的检测”)才行。。有些路由器上就算集成了防火墙,防火墙也很 low ,大多数是包过滤,对一些动态协商端口没有办法设置规则,无法支持这类操作。。
    systemcall
        6
    systemcall  
       2023-02-15 01:52:52 +08:00 via Android
    还是 UPnP ,慢慢等吧,等到鸡啄完米、狗舔完面、蜡烛烧断锁、wsl2 支持 ipv6 、主流 nas ipv6 开箱即用,大多数设备就支持 ipv6 的 UPnP 了
    ipv6 不需要 nat ,但是要防火墙放行。这个很好理解,因为 ipv4 本来就可以不 nat ,一样可以是路由器拿一个前缀再来下发,只不过 ipv4 地址太少了,点出了 nat 的科技树
    systemcall
        7
    systemcall  
       2023-02-15 01:54:38 +08:00 via Android
    另外,没记错的话,很多应用是支持 ipv6 打洞的,从结果看有点像 nat1 打洞,但是不清楚到底是怎么做的,各种防火墙的行为并不是很统一。也许你可以查看一下 libtorrent 的文档
    lns103
        8
    lns103  
       2023-02-15 11:13:16 +08:00 via Android
    @systemcall 只要两边设备都有公网 ipv6 地址,防火墙再严格也是类似 Nat3 的级别,UDP 是肯定可以打通的
    zsr123
        9
    zsr123  
       2023-02-15 12:38:07 +08:00
    这都回的是些啥,楼主根本不是问 NAT 的问题。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2606 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:36 · PVG 23:36 · LAX 08:36 · JFK 11:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.