华为eNSP防火墙NAT配置

NAT技术的基本原理

NAT转换
NAT技术通过对IP报文头中的源地址或目的地址进行转换,可以使大量的私网IP地址通过少量的公网IP地址来访问公网。

NAT是将IP数据报文报头中的IP地址转换为另一个IP地址的过程。从实现上来说,一班的NAT转换设备(实现NAT功能的网络设备)都维护者一张地址转换表,所有经过NAT转换设备并且需要进行地址转换的报文,都会通过这个表做相应的修改。地址转换的机制分为如下两个部分:

  • 内部网络主机的IP地址和端口转换为NAT转换设备网布网络地址和端口
  • 外部网络地址和端口转换为NAt转换设备内部网络主机的IP地址和端口

也就是<私有地址+端口>与<公有地址+端口>之间的相互转化。


NAT分类

  • 源NAT(Source NAT):用来使多个私网用户能够同时访问Internet:

    • 地址池方式:采用地址池中的公网地址为私网用户进行地址转换。
    • 出接口地址方式(Easy IP):内网主机直接借用公网接口的IP地址访问Internet,特别适用于公网接口IP地址是动态获取的情况。
  • 服务器映射:用来使外网用户能够访问私网服务器:

    • 静态映射(NAT Server):公网地址和私网地址一对一进行映射,用在公网用户访问私网内部服务器的场景。
    • 目的NAT(Destination NAT):用来使手机上网的业务流量送往正确的WAP网关。主要用在转换手机用户WAP网关地址,使手机用户可以正常上网的场景。

NAT的优点与缺点

优点:

  • 实现IP地址复用,节约宝贵的地址资源
  • 地址转换过程对用户透明
  • 对内网用户提供隐私保护
  • 可实现对内部服务器的负载均衡

缺点:

  • 网络监控难度加大
  • 限制某些具体应用

源NAT配置

基于源IP地址的NAT是指对发起连接的IP报文头中的源地址进行转换。它可以实现内部用户访问外部网络的目的,通过将内部主机的私有地址转换为公有地址,使一个局域网中的多台主机使用少数的合法地址访问外部资源,又掉的隐藏了内部局域网的主机IP地址,起到了安全保护作用。

源NAT配置命令

①配置NAT地址池(地址池方式才需要)

  1. 创建地址池,并进入地址池视图
    nat address-group address-group-name

  2. 确定地址池的起始地址和结束地址
    section [section-id | section-name] start-address end-addresssection [section-id | section-name] start-address end-address

  3. 确定是否进行端口转换(pat表示地址转换的同时进行端口转换,no-pat表示地址转换的同时不进行端口转换
    nat-mode {pat | no-pat}

  4. 剔除地址池中某些特殊的IP地址
    exclude-ip ipv4-address1 [to ipv4-address2 | mask {mask-address | mask-length}]

  5. 剔除地址池中某些特殊的端口,端口的取值范围为2048-65535
    exclude-port port1 [to port2]

②系统视图下进入NAT策略视图
nat-policy

③在NAT策略视图下创建NAT规则并进入NAT规则视图
rule name rule-name

④创建NAT策略,进入策略ID视图

  1. 设置源IP地址或目的IP地址(可以使地址集)
    source/destination-address {address-set address-set-name | ipv4-address}

  2. 设置源安全区域或目的安全区域
    source/destination-zone {zone-name | any}

  3. 设置出端口端口号(easy-ip方式才需要)
    egress-interface interface-type interface-number

  4. 设置服务(可选)
    service {service-name | any}

  5. action {nat {{address-group address-group-name} | easy-ip} | no-nat}

注:配置NAT地址池时,应将上网接口地址和地址池配置在同一网段,即和分配的公网IP地址在同一网段;如果不在同一网段,则需要在下一跳路由器上配置到地址池的路由


服务器映射配置(NAT Server)

NAT Server
NAT Server,即内部服务器,NAT隐藏了内部网络的结构,具有“屏蔽”内部主机的作用。需要提供给外部一个访问内部主机的机会。
当外部用户访问内部服务器时,有如下两部分操作

  • 防火墙将外部用户的请求报文的目的地址转换成内部服务器的私有地址
  • 防火墙将内部服务器的回应报文的源地址(私网地址)转换成公网地址

NAT Server配置命令

在系统视图下:
nat server [id] protocol protocol-type global {global-address [global-address-end] | interface inteface-type interface-number} inside host-address [host-address-end] [no-reverse] [vpn-instance vpn-instance-name]

例子:
NAT Server例子

注:

  • 不带no-reverse:当公网用户访问服务器时,设备能将服务器的公网地址转换成私网地址;同时,当服务器主动访问公网时,设备也能将服务器的死亡地址转换成公网地址。
  • 带no-reverse:表示设备只能将公网地址转换成私网地址,不能将私网地址转换成公网地址。当内部服务器主动访问外部网络时需要执行outbound的NAT策略,引用的地址池里必须是NAT server配置的公网IP得知,否则反向NAT地址与正向访问的公网IP地址不一致,会导致网络连接失败。
  • 多次执行带参数no-reverse的NAT server命令,可以为该内部服务器配置多个公网地址;未配置参数no-reverse则表示只能为该内部服务器配置一个公网地址。

目的NAT(destination NAT)

目的NAT
手机用户需要通过登录WAP(Wireless Application Protocol)网关来实现上网的功能。目前,大量用户使用直接从国外购买的手机,这些手机出厂时,缺省设置的WAP网关地址与本国WAP网关地址不符,且无法自行修改,从而导致用户不能移动上网。为解决这一问题,无线网络中,在WAP网关与用户之间部署防火墙。通过在设备上配置目的NAT功能,使这部分手机用户能够正常获取网络资源。

当手机用户上网时,目的NAT处理过程如下:

  1. 当手机用户上网时,请求报文经过基站及其他中间设备到达防火墙。
  2. 到达防火墙的报文如果匹配防火墙上所配置的目的NAT策略,则将此数据报文的目的IP地址转换为已配置好的WAP网关的IP地址,并送往WAP网关。
  3. WAP网关对手机客户端提供相应的业务服务,并将回应报文发往防火墙。
  4. 回应报文在防火墙上命中会话表,防火墙转换该报文的源IP地址,并将该报文发往手机用户,完成一次通信。

注:这里可将WAP网关理解为代理服务器

目的NAT配置命令

  1. 在系统视图下,进入安全区域视图
    firewall zone [name] zone-name

  2. 在安全区域视图下配置目的NAT
    destination-nat acl-number address ip-address [port port-number]

例子:
[USG] firewall zone trust
[USG-zone-trust] destination-nat 3333 address 202.1.1.2


域间双向NAT

域间双向NAT
当配置NAT Server时,服务器需要配置到公网地址的路由才可正常发送回应报文。如果要简化配置,避免配置到公网地址的路由,则可以对外网用户的源IP地址也进行转换,转换后的源IP地址与服务器的私网地址在同一网段,这样内部服务器会缺省将回应报文发给网关,即设备本身,由设备来转发回应报文。


域内双向NAT

域内双向NAT


NAT ALG

NAT ALG(Application Level Gateway,应用级网关)是特定的应用协议的转换代理,可以完成应用层数据中携带的地址及端口号信息的转换

需要NAT ALG的原因:
  • 很多协议会通过IP报文的数据载荷进行新端口甚至新IP地址的协商。协商完成之后,通信双方会根据协商结果建立新的连接进行后续报文的传输。而这些协商出来的端口和IP地址往往是随机的,管理员并不能为其提前配置好相应的NAT规则,这些协议在NAT转换过程中就会出现问题。
  • 普通NAT实现了对UDP或TCP报文头中的的IP地址及端口转换功能,但对应用层数据载荷中的字段无能为力,在许多应用层协议中,比如多媒体协议(H.323、SIP等)、FTP、SQLNET等,TCP/UDP载荷中带有地址或者端口信息,这些内容不能被NAT进行有效的转换,就可能导致问题。而NAT ALG(Application Level Gateway,应用层网关)技术能对多通道协议进行应用层报文信息的解析和地址转换,将载荷中需要进行地址转换的IP地址和端口或者需特殊处理的字段进行相应的转换和处理,从而保证应用层通信的正确性。
  • 例如,FTP应用就由数据连接和控制连接共同完成,而且数据连接的建立动态地由控制连接中的载荷字段信息决定,这就需要ALG来完成载荷字段信息的转换,以保证后续数据连接的正确建立。
  • 为了实现应用层协议的转发策略而提出了ASPF功能。ASPF功能的主要目的是通过对应用层协议的报文分析,为其开放相应的包过滤规则,而NAT ALG的主要目的,是为其开放相应的NAT规则。由于两者通常都是结合使用的,所以使用同一条命令就可以将两者同时开启。
NAT ALG实现原理

NAT ALG实现原理
通信过程:

  1. 私网主机和公网FTP服务器之间通过TCP三次握手成功建立控制连接。

  2. 控制连接建立后,私网主机向FTP服务器发送PORT报文,报文中携带私网主机指定的数据连接的目的地址和端口,用于通知服务器使用该地址和端口和自己进行数据连接。

  3. PORT报文在经过支持ALG特性的NAT设备时,报文载荷中的私网地址和端口会被转换成对应的公网地址和端口。即设备将收到的PORT报文载荷中的私网地址192.168.1.2转换成公网地址8.8.8.11,端口1084转换成12487。

  4. 公网的FTP服务器收到PORT报文后,解析其内容,并向私网主机发起数据连接,该数据连接的目的地址为8.8.8.11,目的端口为12487(注意:一般情况下,该报文源端口为20,但由于FTP协议没有严格规定,有的服务器发出的数据连接源端口为大于1024的随机端口,如本例采用的是wftpd服务器,采用的源端口为3004)。由于该目的地址是一个公网地址,因此后续的数据连接就能够成功建立,从而实现私网主机对公网服务器的访问。

猜你喜欢

转载自blog.csdn.net/weixin_43915762/article/details/86361003