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

请教运营商分配内网 IP 时采用的 NAT 设备的 nat 类型是 full cone 的么

  •  
  •   c3824363 · 2018-06-04 17:27:44 +08:00 · 8347 次点击
    这是一个创建于 2370 天前的主题,其中的信息可能已经有所发展或是发生改变。
    按道理说 full cone 是最简单的,效率也是最高的。 不知道实际情况是怎么样的呢
    28 条回复    2018-06-08 11:05:34 +08:00
    cwbsw
        1
    cwbsw  
       2018-06-04 17:53:28 +08:00   ❤️ 1
    测试了一下电信是 Full Cone。
    s82kd92l
        2
    s82kd92l  
       2018-06-04 18:30:55 +08:00
    上海联通 4G 是 symmetric,宽带好像是 port restricted cone。

    full cone 最简单,但是 v4 地址利用率低。越复杂的 nat 越能用有限的外网地址支持更多的内网设备。
    cwbsw
        3
    cwbsw  
       2018-06-04 18:57:05 +08:00
    @s82kd92l 反了吧。对称 NAT 每一组目的地址端口都要在 NAT 网关上开一个端口,v4 地址利用率怎么会高呢。
    c3824363
        4
    c3824363  
    OP
       2018-06-04 19:11:23 +08:00
    @cwbsw Full Cone 最多只能 0xffff 个连接的
    symmetric nat 可以根据 dst ip dst port src port 查找 nat 表 实际支持的多的多了。
    cwbsw
        5
    cwbsw  
       2018-06-04 19:44:44 +08:00
    @c3824363 这也太丧心病狂了吧,连端口都要复用,运营商级别的不会这么干吧……
    ThirdFlame
        6
    ThirdFlame  
       2018-06-04 20:02:36 +08:00
    个人了解的情况是,,一个内网 IP 分配 500 或者更多的 tcp 端口。 例如 8.8.8.8:1-500 对应一个内网 ip,8.8.8.8:501-1000 对应另外一个 ip。
    有条件的可以测试下, 你找个外网服务器,抓下包,看看源地址是不是固定,源端口是不是一直在一个范围内。

    为何这样设置,为了反查 ip。
    不代表所有运营商的 nat 情况,仅代表个人了解的一种情况。
    yexm0
        7
    yexm0  
       2018-06-04 20:06:57 +08:00 via iPhone
    @ThirdFlame 我这深圳移动试过当 ssh 连接莫名其妙断线后再连上去时那 ip 会变的
    ThirdFlame
        8
    ThirdFlame  
       2018-06-04 20:13:06 +08:00
    @yexm0 有线宽带么? 如果路由器的 WAN ip 不变,一般来说 公网 IP 也不变。 全动态的 nat 固然简单,但是对 通过源 ip 和端口 定位哪个用户比较困难。需要全量 NAT 转换日志,一般不采用。

    运营商 nat 方案很多,得看当地的情况,也不是全是我说的那种。
    yexm0
        9
    yexm0  
       2018-06-04 20:20:23 +08:00 via iPhone
    @ThirdFlame 对,移动 20M 免费送的就拿来玩了一把,速度啥的是很快,就是那网很不稳。不知道是不是跟这个情况有关了。
    LoveParkHyomin
        10
    LoveParkHyomin  
       2018-06-04 20:43:09 +08:00
    广东联通是 symmetric
    LGA1150
        11
    LGA1150  
       2018-06-04 20:49:13 +08:00
    广东联通 4G full cone
    zhouyut001
        12
    zhouyut001  
       2018-06-04 22:58:37 +08:00 via Android
    重庆电信公网 IP,路由拨号,一样是 symmetric
    p64381
        13
    p64381  
       2018-06-04 23:08:16 +08:00 via Android
    @zhouyut001 公网 ip 的话就是你的路由器的事了,你用的 openwrt 系列的路由器吧
    LGA1150
        14
    LGA1150  
       2018-06-04 23:28:41 +08:00 via Android
    @zhouyut001 因为 Netfilter NAT 就是 Symmetric
    p64381
        15
    p64381  
       2018-06-04 23:48:53 +08:00 via Android
    @LGA1150 linux 为什么不用最简单的实现呢
    lqf96
        16
    lqf96  
       2018-06-05 01:34:21 +08:00
    @p64381 conntrack 的工作方式决定的,不过现在好像有人在搞 cone nat 的 kernel module
    artandlol
        17
    artandlol  
       2018-06-05 02:54:41 +08:00 via iPhone
    这时候只能用 frp 来转发了。现在电信都不给公网 ip 了
    zhouyut001
        18
    zhouyut001  
       2018-06-05 03:24:55 +08:00 via Android
    @p64381 普通千 M 华为无线路由器
    initialdp
        19
    initialdp  
       2018-06-05 09:37:28 +08:00
    @artandlol 电信宽带的话,只是默认不给公网 IP,打电话过去投诉,一般会给公网 IP。mobile 网络似乎目前各家都是只给私网 IP。希望 IPv6 早点到来。
    c3824363
        20
    c3824363  
    OP
       2018-06-05 10:04:26 +08:00
    @lqf96 你说的这个人就是 @LGA1150
    @p64381 同好奇
    @zhouyut001 这个是 linux 的系统
    @LGA1150 在使用 openwrt 后得到的是端口限制的类型 不是 Symmetric, 直接用 tplink 就是 full cone
    LGA1150
        21
    LGA1150  
       2018-06-05 12:21:42 +08:00 via Android
    @c3824363 如果 WAN INPUT 默认 ACCEPT,你再测就是 Symmetric。见 https://blog.chionlab.moe/2018/02/09/full-cone-nat-with-linux/
    zhouyut001
        22
    zhouyut001  
       2018-06-05 14:13:57 +08:00 via Android
    @c3824363 Windows 沒測試過,我 Debian9 測試確實是 symmetric
    c3824363
        23
    c3824363  
    OP
       2018-06-05 21:16:23 +08:00
    @zhouyut001 我是说你这个 nat 设备是 linux 系统的

    @LGA1150
    WAN INPUT 设成 ACCEPT 后对于到达本地的不可转发的 udp 数据包会返回一个 icmp 错误,而默认的时候是装作没听见
    是这个区别么,stun 检测的时候哪个环节导致的这两种情况的差异呢。

    这个文章也看了 https://blog.csdn.net/u011245325/article/details/9294229 没仔细看 stun 的源码, 还是不明白为什么会导致这个差异。
    zhouyut001
        24
    zhouyut001  
       2018-06-06 00:34:10 +08:00 via Android
    @c3824363 了解
    LGA1150
        25
    LGA1150  
       2018-06-06 01:22:22 +08:00
    c3824363
        26
    c3824363  
    OP
       2018-06-06 08:58:14 +08:00
    @LGA1150 这个很有必要推广开, 越来越多的路由器开始采用魔改的 openwrt 系统了
    LGA1150
        27
    LGA1150  
       2018-06-08 02:12:53 +08:00   ❤️ 1
    @c3824363 #23
    因为 Netfilter 尽可能不会改动源端口,所以会被误检测为 Port Restricted Cone。如果 ACCEPT 了 stun 服务器发过来的包,在 conntrack 表里就会产生一个新的连接记录。客户端再用同样的源端口发包时,由于那条连接记录的存在,不能复用原来的源端口而必须新分配一个(从 1024 开始往上找可用端口),这时才会被认为是 Symmetric
    c3824363
        28
    c3824363  
    OP
       2018-06-08 11:05:34 +08:00
    @LGA1150 多谢, 这么说就明白多了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2739 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:10 · PVG 10:10 · LAX 18:10 · JFK 21:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.