• 计算机网络基础 ---- NAT----网络地址转换----详解


    NAT----网络地址转换

    一、基本概念:

    • 公网 IP: 具有全球唯一性,可以在互联网通讯,需要付费使用;
    • 私网 IP: 具有本地唯一性,不能在互联网通讯,无需付费使用;
    • 私网 IP地址: 10.0.0.0/8; 172.16.0.0/16~172.31.0.0/16; 192.168.0.0/24~192.168.255.0/24;
    • NAT 网络地址转换: (在边界路由器上,连接公网的公网 IP地址所在的接口上配置)
      • 边界路由器上,对进、出的流量进入源或目标 IP地址的修改
      • 一对一、一对多、多对多、端口映射;
      • 私网到公网,改源 IP;
      • 公网到私网,改目标 IP;

    二、配置命令:

    (1)一对一:

    配置思路:

    1. 到私网的边界路由器公网 IP的接口
    2. 写一条静态的 NAT(把公网 IP和私网 IP绑定起来,一般是公司网站);
      这个公有IP可能是漂浮的,但是漂浮的IP和真正的公有IP的MAC地址是一样的
    [r2-GigabitEthernet0/0/2]nat static global 12.1.1.3 inside 192.168.1.10
    
    • 1

    (2)一对多:

    配置思路:

    1. 先用ACL抓取感兴趣的流量;
    2. 进接口调用 NAT;
    • 先使用ACL定义可以被转换的私网 IP地址范围:
    [r2]acl 2000
    [r2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
    
    • 1
    • 2
    • 在对应接口开启 NAT:
    //公网所在的接口,acl 2000的列表中关注的私网IP地址,通过该接口转出时,其源ip地址修改为该接口公网IP
    [r2]int g0/0/2       
    [r2-GigabitEthernet0/0/2]nat outbound 2000
    
    • 1
    • 2
    • 3

    (3)端口映射:

    配置思路:

    1. 到私网的边界路由器公网 IP的接口
    2. 把公网 IP和私网 IP绑定起来,再加上端口号;
      端口映射和一对一的区别,就是端口映射多加了端口号;

    要求: 外部访问该接口 12.1.1.1且口标端口号为 80时,将被修改为 192.168.1.10目标端口 80;

    [r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 80 inside 192.168.1.10 80
    Warning:The port 80 is well-known port. lf you continue it may cause function failure.
    Are you sure to continue?[Y/N]:y
    
    • 1
    • 2
    • 3

    端口映射的扩展配置:

    • 情景:当私网中有多个相同端口的服务的时,此时就要在边界路由器上配置一个新的端口,和私网中的端口进行绑定;

    要求:

    [r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 8888 inside 192.168.1.20 80
    
    • 1

    (4)多对多:

    配置思路:

    1. 先划分公网IP范围;
    2. 用 ACL抓取流量,划分私网IP范围;
    3. 去到边界路由器接口,将抓取的私有范围和公网范围绑定
    4. 如果需要多个一对一,就在命令后面加 no-pat
    • 划分公网IP范围:
    [r1]nat address-group 1 12.1.1.10 12.1.1.15 
    
    • 1
    • 划分私网IP范围
    [r1]acl 2000
    [r1-acl-basic-2000]rule permit source 192.168.1.1 0 
    
    • 1
    • 2
    • 进接口绑定:
    [r1-GigabitEthernet0/0/0]nat outbound 2000 address-group 1 
    
    • 1
  • 相关阅读:
    SDL2 简明教程(二):创建一个空的窗口
    C,C++中原生数组索引的奇怪写法
    《深入理解Spark RDD缓存机制》(第4天)
    Android12 禁用adb
    uniapp前端对数据的处理
    关于js_表单事件的介绍与使用
    Source Insight 宏-添加单行的c注释
    解决Django执行定时调度器出现MySQL server has gone away
    (Network)私有IP地址
    static关键字的一些注意点
  • 原文地址:https://blog.csdn.net/MonsterGibson200/article/details/127535112