V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
hronro
V2EX  ›  路由器

请教个路由器 NAT 相关的问题

  •  
  •   hronro · Feb 21, 2022 · 3927 views
    This topic created in 1532 days ago, the information mentioned may be changed or developed.

    我之前用华硕路由器的时候,XBOX 显示 NAT 类型是开放,然后我电脑用 zerotier 打洞也能打洞成功。然而我并没有在华硕路由器里面为某台设备设置进行过相关的设置,按理说就算是 fullcone NAT 的话,也只能为路由器下的某一台设备设置成 fullcone NAT ,但现在来看好像路由器下所有的设备都有类似的效果?

    然后我换了一台 RouterOS 的路由器,也开启 uPNP 了,但结果是 XBOX 里显示 NAT 类型变成受限了,然后电脑上用 zerotier 打洞也不成功了。

    所以华硕路由器到底是用了什么黑科技?

    PS:本来我应该是自己先实验实验的,但迫于家里还有其他人要用网,我不好自己一个人霸着网做实验,所以先来请教一下 V 友看有没有对此比较了解的。

    8 replies    2023-02-02 02:32:21 +08:00
    ScepterZ
        1
    ScepterZ  
       Feb 21, 2022
    按理说就算是 fullcone NAT 的话,也只能为路由器下的某一台设备设置成 fullcone NAT
    并不是这样的

    随便百度一下就可以得到:
    Full Cone NAT:所有来自同一个内部 Tuple X 的请求均被 NAT 转换至同一个外部 Tuple Y ,而不管这些请求是不是属于同一个应用或者是多个应用的。

    除此之外,当 X-Y 的转换关系建立之后,任意外部主机均可随时将 Y 中的地址和端口作为目标地址和目标端口,向内部主机发送 UDP 报文,由于对外部请求的来源无任何限制,因此这种方式虽然足够简单,但却不那么安全。

    很容易发现,这是路由器的整体策略,不是只对一台生效的

    你可能是再说 dmz (名字不一定记得对)之类的
    cpstar
        2
    cpstar  
       Feb 21, 2022
    窃以为,可能华硕路由器的 uPnP 做的比 RouterOS 好。你看一下 ASUS 上 uPnP 的开放情况吧。再对一下 RouterOS 上的。
    这个大概率使用 uPNP 搞定的,DMZ 的话,需要专门手动设置。实在不行就 ROS 上设置 DMZ 。
    cpstar
        3
    cpstar  
       Feb 21, 2022
    另外,我的认知,uPNP 是通过 UDP 协议让路由器知道客户机想做哪些端口映射,实际上还是在做 NAT 映射。
    wtfdsy
        4
    wtfdsy  
       Feb 21, 2022
    依稀记得华硕首页那个优化什么的是有游戏相关的,不过我华硕的路由有点怪,群晖的 NAT 映射经常过一段时间就失效,需要经常重新应用一下,换回 ERX 就好了
    hronro
        5
    hronro  
    OP
       Feb 21, 2022
    @ScepterZ #1

    确实,我脑子一下没转过来搞混了。

    RouterOS 作为一个“专业级”路由系统,却不支持 fullcone NAT ,感觉有点离谱。
    MonoLogueChi
        6
    MonoLogueChi  
       Feb 21, 2022 via Android
    先明确一下,nat 就是地址转换,是发生在路由器上的,是对路由器 nat 规则的设置,和下面的设备无关,没有说为某台设备单独设置成 full cone nat 这个说法。设置为完全锥形 nat 之后,从内网发数据出去,就会形成一个内网和端口对路由器 wan 口 IP 的某个端口的映射关系,这就形成了一个通道,而且是双向的,还有一个特点是不会验证来源 IP ,只要知道整个路由的 IP 和端口,从其他任意主机都可以访问。但是,这东西安全性是所有 nat 类型里最差的,一些主打安全的路由器会禁止使用
    xsourse
        7
    xsourse  
       Sep 7, 2022
    @hronro ROS 支持 fullcone 的,你在 IP - firewall - NAT 里面给你的 client 设置一个 src nat 到公网地址就好了
    IAPYANG
        8
    IAPYANG  
       Feb 2, 2023 via iPhone
    @MonoLogueChi 所以意思是有限服务端口进行路由器转发就好,比如 zerotier 就开放 9993 出去,这样的话安全些,不知道理解的对不对
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2378 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 15:36 · PVG 23:36 · LAX 08:36 · JFK 11:36
    ♥ Do have faith in what you're doing.