V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
amiwrong123
V2EX  ›  程序员

请问我家里这个路由器 会做 NAT 转换吗

  •  
  •   amiwrong123 · 2021-11-10 19:05:53 +08:00 · 4061 次点击
    这是一个创建于 890 天前的主题,其中的信息可能已经有所发展或是发生改变。

    家里的是 移动宽带。

    如上为 WAN 口的 IP 地址,192.168.1.2 ,很明显这不是一个 公网地址。它处于 192.168.1.0/24 这个子网。

    如上为 LAN 口的 IP 地址,192.168.0.1 ,处于另一个子网。处于 192.168.0.0/24 这个子网.

    我想问,当我的流量 从 LAN 端 到达 WAN 端 时,会需要做 NAT 转换吗? 还是说不会做,只在当 WAN 口端口是公网 ip 时,才会做 NAT 转换? (网络太菜,希望这个问题不会显得太蠢。。。)

    41 条回复    2021-11-12 14:18:55 +08:00
    Tianao
        1
    Tianao  
       2021-11-10 19:17:57 +08:00   ❤️ 1
    「我想问,当我的流量 从 LAN 端 到达 WAN 端 时,会需要做 NAT 转换吗? 」
    楼主这种傻瓜路由器的 LAN-WAN NAT (准确地说是 NAPT 或 PAT) 一般是关不掉的。
    kqz901002
        2
    kqz901002  
       2021-11-10 19:19:35 +08:00   ❤️ 1
    会,可以关掉,关闭 DHCP 变成桥接即可
    ZRS
        3
    ZRS  
       2021-11-10 19:19:41 +08:00 via iPhone   ❤️ 1
    会 而且你这上网至少有三层以上的 NAT
    Tianao
        4
    Tianao  
       2021-11-10 19:20:05 +08:00
    楼主 ID 眼熟,初学计算机网络不要把家用的傻瓜路由器理解为典型的通用 IP 路由器。
    TomChaai
        5
    TomChaai  
       2021-11-10 19:36:04 +08:00
    @Tianao 我也觉得,好像这几天看到几次了
    TomChaai
        6
    TomChaai  
       2021-11-10 19:37:52 +08:00   ❤️ 1
    这是你路由器的设置界面的话,上面一层光猫其实也是一样有个 NAT ,等于是个套娃结构。
    而且光猫 WAN 口未必也是公网 ipv4 ,而是拿了个内网地址然后到移动机房里最终才转成公网。现在直接给宽带连接发放公网 ipv4 的运营商非常少见了
    manfred4527
        7
    manfred4527  
       2021-11-10 19:41:19 +08:00   ❤️ 1
    你这种情况是移动的 ONU 自带了路由功能。移动的 ONU 通过 pppoe 或 ipoe 已经拿到了一个私网地址(移动家宽不给公网),然后在 NAT 转换给你上图 192.168.1.0/24 的网段,你的路由器又 NAT 一次 192.168.0.0/24 网段。所以楼上说至少三层 NAT😂
    amiwrong123
        8
    amiwrong123  
    OP
       2021-11-10 20:03:39 +08:00
    @Tianao #1
    谢谢回答。NAPT 是特殊一种的 NAT 呗,即 流量到达 WAN 端时,只能固定变成一个 ip 地址。
    amiwrong123
        9
    amiwrong123  
    OP
       2021-11-10 20:07:14 +08:00
    @kqz901002 #2
    @Tianao
    <img src = 'https://i.bmp.ovh/imgs/2021/11/cb61788454ab66b9.png' />
    是指这个吗,但我感觉关掉这个,只是让我需要手动 给我这一侧的子网的设备们 分配 ip 地址而已。并不会关掉 NAT.

    就算可以关掉 NAT ,我是不是 也得考虑 我这个子网的地址块 是否和别的子网冲突 呢?
    amiwrong123
        10
    amiwrong123  
    OP
       2021-11-10 20:09:09 +08:00
    amiwrong123
        11
    amiwrong123  
    OP
       2021-11-10 20:11:11 +08:00
    @TomChaai #6
    @manfred4527 #7
    所以 移动机房里的 路由器 做了一次 NAT
    光猫 做了一次 NAT
    我家里这个路由器 做了一次 NAT ,这样的呗?

    ONU 就是指 光猫哈?
    darknoll
        12
    darknoll  
       2021-11-10 20:16:17 +08:00
    光猫桥接,公网 ip ,路由器 lan 口接 lan 口
    amiwrong123
        13
    amiwrong123  
    OP
       2021-11-10 20:38:53 +08:00
    @Tianao
    另外还有几个问题,就是 10 楼图片里。登录路由器的那个 ip 地址的网址( 192.168.0.1 ),一定是 LAN 测的 ip 呗?

    我知道 路由器的每个物理接口都是拥有一个 ip 地址的,但我家里只用了 wifi ,所以路由器上 的四个 lan 口都没有插线。那这个 192.168.0.1 指的是哪个物理接口呢😂

    ![]( https://s3.bmp.ovh/imgs/2021/11/cbe62ffa1f1328dc.jpg)
    上图里面,我改成手动后,就是说 我在 手动配置 我这一侧的子网的地址块 呗
    coolan
        14
    coolan  
       2021-11-10 20:48:45 +08:00   ❤️ 1
    路由器上的口都是交换机,没有 IP ,内部有两个网卡,做 WAN 和 LAN ,或者一个网卡,使用 VLAN 区分 WAN ,LAN 。WIFI 单独一个网卡,桥接在 LAN 口的网卡上。可以看这个: https://www.cnblogs.com/happygirl-zjj/p/6008365.html
    amiwrong123
        15
    amiwrong123  
    OP
       2021-11-10 21:10:41 +08:00
    @coolan #14
    原来如此,得震撼我好几天了。

    那根据你的那篇博客,我 WAN 口的 IP 地址,192.168.1.2 ,是分配给 eth0 这个网卡的? (还是说,是分配给 Port5 的)
    LAN 口的 IP 地址,192.168.0.1 ,是分配给 eth2 这个 wifi 网卡的?
    coolan
        16
    coolan  
       2021-11-10 21:20:31 +08:00   ❤️ 1
    那文章是单网卡,eth0 通过 vlan 虚拟了两个 interface ,所以 WAN 口 IP 192.168.1.2 就是 eth0 在 vlan1 的 IP ,LAN 口 IP192.168.0.1 ,是 eth0 在 vlan0 的 IP 。wifi 网卡都是桥接,也相当于纯交换机,没有 IP 。
    coolan
        17
    coolan  
       2021-11-10 21:28:02 +08:00   ❤️ 1
    相当于交换机有 6 个口,其中 port0-4 是对外的,port5 口是内置在路由器里,路由器自己的网卡 eth0 连在上面,通过 VLAN 做了单臂路由来同时传输 WAN 和 LAN 。wifi 的网卡可以直接当做没有,纯桥接,并且在 LAN 这个 VLAN 里。
    manfred4527
        18
    manfred4527  
       2021-11-10 22:04:35 +08:00
    @amiwrong123 对的 这样三次,ONU 就是光猫
    Tianao
        19
    Tianao  
       2021-11-10 22:53:36 +08:00   ❤️ 2
    @amiwrong123 #2
    @kqz901002 的意思是关掉 DHCP 把光猫接自己路由器 LAN 口可以让流量少过一次 NAT ,但是自己的傻瓜路由器本身的 LAN-WAN NAT 是写死的关不掉,只是能通过不接 WAN 口来避免。

    「并不会关掉 NAT.」
    是的,并不会关掉 NAT 。

    「就算可以关掉 NAT ,我是不是 也得考虑 我这个子网的地址块 是否和别的子网冲突 呢?」
    冲突是次要的,最主要的是光猫自带的 NAT 路由没法处理内网多子网的场景——这涉及到两个问题:
    1. NAT 感兴趣流是不可配置的,可能无法匹配 LAN 口接口地址所在子网以外的子网(这取决于 NAT 实现);
    2. 光猫没有去往自己 LAN 口接口地址所在子网以外的非直联子网的路由,且不可配置。

    「所以 移动机房里的 路由器 做了一次 NAT
    光猫 做了一次 NAT
    我家里这个路由器 做了一次 NAT ,这样的呗?」
    是的,移动做的叫 CGN ,CGN 后的共享地址(也就是光猫的网络侧 /WAN 口地址)被称为共享地址或 CGN 地址。

    「 ONU 就是指 光猫哈?」
    是的,根据业务场景不同,也有时候叫 ONT (但现在没有明确界限了)。现在的光猫一般会带些简单的三四层功能(比如 NAT 网关),面向企业园区网场景的甚至会带有标准的二三四层特性(其实固件都是可定制的,比如办宽带运营商送给你的是经过定制的故意阉割过的,行业型号主要是硬件二三四层 offload )。

    「另外还有几个问题,就是 10 楼图片里。登录路由器的那个 ip 地址的网址( 192.168.0.1 ),一定是 LAN 测的 ip 呗?」
    不太理解你的问题,这个 IP 是自己的路由器的 LAN 侧的,但是配置到哪里并没有限制。私网地址可以在公网上使用(作为中间传输地址或者 underlay 地址),公网地址也可以在私网中使用(比如经典的美国国防部地址)。LAN 和 WAN 这个叫法在傻瓜设备上只是个相对的称呼,比如你自己路由器的 WAN 就是光猫的 LAN ;实际上 WAN 和 LAN 这两个词不是这么定义的。

    「我知道 路由器的每个物理接口都是拥有一个 ip 地址的,但我家里只用了 wifi ,所以路由器上 的四个 lan 口都没有插线。那这个 192.168.0.1 指的是哪个物理接口呢」
    首先还是那句话,计算机网络初学者不要把家里的傻瓜路由器当作典型的通用 IP 路由器。傻瓜路由器的所谓 LAN 口其实是一个内部的虚拟 /逻辑接口(在硬件组成上可能是一个桥给傻瓜交换芯片的物理口,也可能是一个单臂挂在交换芯片上的 dot1q 子接口,但先别纠结这个),你家的傻瓜路由器可以简单看做是一个两口(物理 WAN+刚才说的内部 LAN )路由器接了一台傻瓜二层交换机(四个你看到的物理 LAN 口+一个内部上联口到路由器内部的 LAN+一个内部接口去 WLAN 芯片)。所以 192.168.0.1 是这台傻瓜路由器的内部逻辑三层口,你看到的四个所谓 LAN 口和 Wi-Fi 接入点都是与这个逻辑三层口处在一个广播域内的二层口。

    最后再总结一下:计算机网络初学者不要试图用课本上的理论去解释家里的傻瓜无线路由器,家用无线路由器是一种高度集成的、非典型的 IP 以太网 WLAN 多业务网关。
    xh3ccc
        20
    xh3ccc  
       2021-11-10 22:59:46 +08:00   ❤️ 1
    一般便宜的路由器可能不会提供选项关闭 NAT 。一般默认 on 。

    NAT 和 WAN 端是不是公网 IP 没必然关系。WAN 端是公网 IP 的话必须开 NAT 了,因为私网流量不允许跑在公网上。WAN 端私网 IP 的话不开 NAT 也没问题。
    amiwrong123
        21
    amiwrong123  
    OP
       2021-11-10 23:24:42 +08:00
    @Tianao #19
    非常感谢,我先消化一下。

    >关掉 DHCP 把光猫接自己路由器 LAN 口可以让流量少过一次 NAT
    我如果这样做了,会发生什么呀? 是不是 我的路由器这一侧就没有新的子网了,比如我的电脑连着 wifi ,那么我电脑的 ip 就会处于 192.168.1.0/24 这个地址块内吗
    Tianao
        22
    Tianao  
       2021-11-10 23:28:06 +08:00   ❤️ 1
    @amiwrong123 #21 「
    >关掉 DHCP 把光猫接自己路由器 LAN 口可以让流量少过一次 NAT
    我如果这样做了,会发生什么呀? 是不是 我的路由器这一侧就没有新的子网了,比如我的电脑连着 wifi ,那么我电脑的 ip 就会处于 192.168.1.0/24 这个地址块内吗」

    是的,完全如你描述的这样。
    hanguofu
        23
    hanguofu  
       2021-11-11 02:40:03 +08:00
    学习了,感谢感谢!
    wd
        24
    wd  
       2021-11-11 05:58:51 +08:00 via iPhone   ❤️ 1
    nat 的目的是解决回包能不能回来。如果对方看到你的 src ip 之后能正确发送回来响应包,那就不需要 nat 。
    blueboyggh
        25
    blueboyggh  
       2021-11-11 08:22:13 +08:00   ❤️ 1
    移动现在家宽一般都是直接给私网 ip ,所以在 internet 公网和你的终端之间,目前来看经过了移动机房、光猫、路由器的 3 层 nat ,目前你能操控的只能是把光猫这层 nat 去掉,就是把光猫改成桥接。

    路由器是肯定要经过一层 nat 的,移动机房那层基本也是不可能取消的
    yuanyemoon
        26
    yuanyemoon  
       2021-11-11 08:30:28 +08:00   ❤️ 1
    @blueboyggh 移动光猫改桥接也不方便,可以光猫不动,路由器直接 ap 模式
    blueboyggh
        27
    blueboyggh  
       2021-11-11 08:34:38 +08:00
    @yuanyemoon 也倒是,不过移动给的光猫,路由性能有限
    chengyiqun
        28
    chengyiqun  
       2021-11-11 09:35:45 +08:00   ❤️ 1
    移动上层网关至少有一层 NAT, 192.168.1.2 是你路由器 ip, 从光猫获取的, 那么可以推测, 光猫是 192.168.1.1, 也是内网地址, 光猫有一层 NAT.
    然后路由器 LAN 口是 192.168.0.0 网段, 所以, 路由器也有一层 NAT.
    所以你的网络至少有三层 NAT.
    建议的设置
    到光猫里, 把 NAT 关掉, 换成桥接模式.
    让路由器拨号.
    这样操作大概率可以提高 NAT 等级.
    我租房的地方也是移动宽带, 但是测试了下是 NAT1, 全锥形 NAT, 限制最少的 NAT. 总体还是可以接受的.
    路由器支持 upup, 自己的局域网只有一层 NAT 就行了, 多了就不好了. 上层网关应该也有类似 upup 的东西, 所以我这里可以是 NAT1 网络.
    chengyiqun
        29
    chengyiqun  
       2021-11-11 09:40:24 +08:00
    @chengyiqun upnp, 打错了.
    SmiteChow
        30
    SmiteChow  
       2021-11-11 09:44:39 +08:00
    会,不是一个网
    Elissa
        31
    Elissa  
       2021-11-11 12:20:55 +08:00   ❤️ 1
    @amiwrong123 DCHP 关掉后,有线都接 LAN 口,tp-link 这样的傻瓜路由器就变成了带有 wifi 功能的交换机,既不负责拨号也不做 NAT 套娃转换
    amiwrong123
        32
    amiwrong123  
    OP
       2021-11-11 20:41:27 +08:00
    @chengyiqun #28

    >到光猫里, 把 NAT 关掉, 换成桥接模式.
    让路由器拨号.

    问一下,你说的 让路由器拨号,是不是就是指 下图里的 从“自动获得 IP 地址” 变成“宽带拨号上网”。 另外,你说的操作里,我是不是得让 光猫出来的线连到路由器的某个 LAN 而不是 WAN 口。
    ![]( https://i.bmp.ovh/imgs/2021/11/c5d52b1bf8c81ef5.png)
    amiwrong123
        33
    amiwrong123  
    OP
       2021-11-11 20:42:26 +08:00
    @chengyiqun #28
    另外,你是怎么测试 你是“ NAT1, 全锥形 NAT”的呀😂
    amiwrong123
        34
    amiwrong123  
    OP
       2021-11-11 20:50:26 +08:00
    @yuanyemoon #26
    ap 模式是什么意思?我百度了下,就是说,我现在再找 另外一台 ap 模式的路由器,让它和我的移动给的路由器的 LAN 口相连,这个新路由器的 wifi 那也可以上网。
    相当于桥接模式,没有产生新的子网呗
    chengyiqun
        35
    chengyiqun  
       2021-11-12 09:02:45 +08:00   ❤️ 1
    @amiwrong123 对于路由器来说, lan 口和 wifi 网卡之间相当于交换机.
    ap 模式, 从用法上就是, 关掉路由器的 NAT, 路由, dhcp 服务, 多用于存在子路由, 辅助路由只想用来扩充信号用的(不是 mesh 这种东西), 比如我家一楼有个路由器, 二楼的路由器就开 ap 模式, 网线不接到二楼路由器 WAN 口, 而是 LAN 口(小米的 mesh 是接到 WAN 口, 所以一切以实际为准, TPLINK 一般都是接 LAN 口), 反正就是, 对于 AP 模式的路由器, WAN 口就没用了, 因为它没有两个网段, 这样接, 我家 2 楼和 1 楼的设备其实在同一个网段的, 只是路由器自己的 LAN 口也要占用一个局域网 ip. 实际上不通过它上网, 这个 ap 模式的路由器就当它是个交换机即可.
    chengyiqun
        36
    chengyiqun  
       2021-11-12 09:04:15 +08:00   ❤️ 1
    @amiwrong123
    [从“自动获得 IP 地址” 变成“宽带拨号上网”]
    对的

    [是不是得让 光猫出来的线连到路由器的某个 LAN 而不是 WAN 口]
    不是
    路由器拨号, 一定是光猫连 WAN 口的. 而且这样, 路由器也一定有一层 NAT.
    chengyiqun
        37
    chengyiqun  
       2021-11-12 09:17:27 +08:00   ❤️ 1
    @amiwrong123
    https://tupian.li/images/2021/11/12/Snipaste_2021-11-12_09-10-31.jpg
    NAT1 → Full Cone NAT
    NAT2 → Address-Restricted Cone NAT
    NAT3 → Port-Restricted Cone NAT
    NAT4 → Symmetric NAT

    一般游戏联机要求 NAT1 和 NAT2, 任天堂用 ABC 表示, NAT1 在任天堂里应该是 NAT A. 应该和上面 123 是对应的

    在 ps 就不好区分了里不一样,
    NAT1 =无 NAT
    NAT2 应该说是分为三种(Full cone NAT\Address-Restricted cone NAT\Port-Restricted cone NAT\Symmetric NAT)
    NAT3 也属于 Symmetric NAT

    下载:https://cleanery.lanzoui.com/ixHdpwesdwj 密码:hzeu
    https://github.com/HMBSbige/NatTypeTester
    chengyiqun
        38
    chengyiqun  
       2021-11-12 09:28:55 +08:00   ❤️ 1
    @amiwrong123 如果你使用过"微力同步", 那么在诊断模式里也可以看到 NAT 类型.
    这里可以看到, 我公司的网络是 端口受限锥形, 就是 NAT3, 而我家里的树莓派是 NAT1, 所以是能通过 udp 打洞, 直连的.
    https://tupian.li/images/2021/11/12/Snipaste_2021-11-12_09-20-05.jpg
    https://tupian.li/images/2021/11/12/Snipaste_2021-11-12_09-20-51.jpg

    不同 NAT 的穿透性参考这个
    https://www.cnblogs.com/yorkyang/p/9995441.html
    chengyiqun
        39
    chengyiqun  
       2021-11-12 09:38:16 +08:00   ❤️ 1
    @amiwrong123 也可以看出来, NAT1(全锥形) 和 NAT2(受限锥形) 其实基本没啥限制, 这也是很多游戏要求 NAT 类型为 1 和 2 的原因.
    ysc3839
        40
    ysc3839  
       2021-11-12 10:33:40 +08:00   ❤️ 1
    @kqz901002 #2 很多路由器关闭 DHCP 就只是关闭了 DHCP 服务,还是有 NAT 的,印象中这种面向普通用户的路由器支持桥接模式的很少,支持的路由器一般会有一个独立的配置项,而不是关掉 DHCP 就自动关闭 NAT 。
    chengyiqun
        41
    chengyiqun  
       2021-11-12 14:18:55 +08:00
    @ysc3839 直接没有关闭 NAT 的选项, 直接网线插 LAN 口就行了, WAN 口都没网络, NAT 也就没用了.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4012 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:14 · PVG 13:14 · LAX 22:14 · JFK 01:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.