NAT概述

  1. NAT(网络地址转换)是将IP数据报文头中的IP地址转换为另一个IP地址的过程。应用于连接两个网络的边缘设备上,实现允许内部网络用户访问外部公共网络、允许外部公共网络访问部分内部网络资源(例如内部服务器)的目的。

  2. 全局NAT策略的优先级>接口NAT。建议不要同时配置接口NAT和全局NAT。

  3. 设备上经过NAT转换的报文不会再进行AFT转换。

  4. NAT/NAPT解决最根本问题是ipv4地址不足;根据管理需求,也可以隐藏真实IP地址;

NAT基本概念

  1. NAT设备:配置了NAT功能的连接内部网络和外部网络的边缘设备。

  2. NAT接口:NAT设备上应用了NAT相关配置的接口。

  3. NAT规则:用于进行地址转换的NAT配置称为NAT规则。NAT规则的位置决定了匹配的优先级,位置越靠前的NAT规则,其匹配优先级越高。

  4. NAT地址:用于进行地址转换的公网IP地址,与外部网络路由可达,可静态指定或动态分配。

  5. NAT表项:NAT设备上用于记录网络地址转换映射关系的表项。关于NAT表项的详细介绍请参见“1.6 NAT表项”。

  6. Easy IP功能:NAT转换时直接使用设备上接口的IP地址作为NAT地址。设备上接口的地址可静态指定或通过DHCP或PPPoE等协议动态获取。

  7. 全局NAT:NAT规则的应用范围为全局。对于全局NAT,所有经过NAT设备的流量都会进行匹配,并对匹配NAT规则的流量进行地址转换。

  8. 接口NAT:NAT规则的应用范围为接口。对于接口NAT,只有经过应用NAT规则的接口的流量才会进行匹配,并对匹配NAT规则的流量进行地址转换。

NAT工作过程

  1. NAT设备连接内网和外网,当有报文经过NAT,NAT工作过程如下:

    1. 当内网用户主机(192.168.1.3)向外网服务器(1.1.1.2)发送的IP报文通过NAT设备时,NAT设备查看报文的IP头内容,发现该报文是发往外网的,则将其源IP地址字段的内网地址192.168.1.3转换成一个可路由的外网地址20.1.1.1,并将该报文发送给外网服务器,同时在NAT设备上建立表项记录这一映射关系。

    2. 外网服务器给内网用户发送的应答报文到达NAT设备后,NAT设备使用报文信息匹配建立的表项,然后查找匹配到的表项记录,用内网私有地址192.168.1.3替换初始的目的IP地址20.1.1.1。

  2. NAT过程对终端来说是透明的。对外网服务器而言,它认为内网用户主机的IP地址就是20.1.1.1;NAT“隐藏”了企业的私有网络。

NAT转换方式

  1. 静态:一对一转换

    
      

    nat static outbound 192.168.1.1 202.100.12.100 nat static outbound 192.168.1.2 202.100.12.101 inter g0/1 nat static enable ------------------------------------------------------ display nat static ------------------------------------------------------ <R1>terminal debugging <R1>debugging nat packet //开启当前终端对调试信息的显示功能 当PC机ping外网时,R1会显示NAT一对一信息

    1. 静态一对一转换是双向互访:一个私网对一个公网,没有缓解地址紧缺。

  1. 动态:多对一转换(EASY-IP)NAPT

    1. 俩个步骤:

      1. 确定感兴趣流的ACL(需要地址转换的私网IP地址)

      2. 将感兴趣流ACL与outside接口做关联

    
      

    acl basic 2000 rule 5 permit source 192.168.1.0 0.0.0.127 inter g0/1 nat outbound 2000 -------------------------------------- <R1>display nat session // PC机ping外网时,R1会显示NAT多对一转换信息

    1. 动态NAT转换后,PC的私网IP访问公网时都使用出接口的IP地址,但主机的端口号(1-65535)不同,可以区分。

  1. 动态:多对少转换

    1. NAT多对一转化会导致私网内大批量的用户,在同时访问外网不同的应用时,形成多个转换表项,那么端口号也会被耗尽。所以采用多对少的转换-----有多个公网IP地址。

    2. 两个步骤:

      1. 确定感兴趣流的ACL;

      2. 确定公网地址池;

      3. 将感兴趣流的ACL与公网地址池做关联。

    
      

    acl basic 2000 rule 5 permit source 192.168.1.0 0.0.0.127 nat address-group 1 address 202.100.12.100 202.100.12.101 inter g0/1 nat outbound 2000 address-group 1 ---------------------------------------- display nat outbound //查看nat会话信息 display nat all //查看nat配置

    1. nat outbound 2000 address-group 1 后的参数 no-pat reversible // 动态一对一转换,2个公网地址都被使用,其它私网地址没法转 //允许反向地址转换【使外网可以访问内网,前提是内网先主动发起连接,生成有效的NAT表项】

Nat server

公网通过NAT访问内网server

可以将内网的server的IP地址和端口号映射到公网上。


inter g0/1 nat server protocol tcp global 202.100.12.200 20 21 inside 192.168.1.100 20 21 //在公网访问202.100.12.200,基于TCP的20、21端口、自动转为地址为192.168.1.100地址 20、21端口 -------------------------------------------------------------------- nat server protocol tcp global current-interface //转为当前接口的地址 display nat server --------------------------------优化命令----------------------------- nat server protocol tcp global 202.100.12.200 20001 inside 192.168.1.100 21 //用随机高端口(大于1024)20001匹配FTP的21,这样更安全。因为网络中的扫描软件会首先扫描知名端口

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐