NAT Server与目的NAT的区别和联系

NAT Server是一种静态目的NAT技术,与基于策略的静态目的NAT一样,都可以用于解决私网IP与公网IP存在固定映射关系的场景,但是基于策略的目的NAT在一条策略中可以匹配多个地址段,且支持地址排除功能,配置更为灵活。NAT Server可以逐条配置地址转换关系,命令简单清晰。

两者还有如下区别

1、nat server 配置后创建静态server-map表项,destination-nat不创建

2、nat server 优先级高于destination-nat,首包到达防火墙后先进行nat server处理查server-map表,查不到server-map表的情况下,再进行destination-nat处理

3、nat server不配置no-reverse的情况下,双向都可以进行nat转换,destination-nat只能单向nat转换。

实验一:公网用户通过NAT Server访问内部服务器

需求和拓扑

某公司在网络边界处部署了FW作为安全网关。为了使私网Web服务器和FTP服务器能够对外提供服务,需要在FW上配置NAT Server功能。除了公网接口的IP地址外,公司还向ISP申请了一个IP地址(1.1.1.10)作为内网服务器对外提供服务的地址。网络环境如图1所示,其中Router是ISP提供的接入网关。

操作步骤

1、配置接口地址,划分安全区域

2、配置路由

ip route-static 2.2.2.0 255.255.255.0 1.1.1.254

3、配置安全区域

security-policyrule name 1source-zone untrustdestination-zone dmzsource-address 2.2.2.0 mask 255.255.255.0destination-address 10.2.0.0 mask 255.255.255.0service ftpservice httpservice icmpaction permit

4、配置nat server

nat server 0 protocol tcp global 1.1.1.10 ftp inside 10.2.0.7 ftp no-reverse
nat server 1 protocol tcp global 1.1.1.10 www inside 10.2.0.8 www no-reverse
nat server 2 protocol icmp global 1.1.1.10 inside 10.2.0.7 no-reverse

验证和分析

不做任何操作,直接检查fw的server-map

[f1]dis fire server-map
2022-02-11 00:57:51.620 Current Total Server-map : 3Type: Nat Server,  ANY -> 1.1.1.10:80[10.2.0.8:80],  Zone:---,  protocol:tcpVpn: public -> publicType: Nat Server,  ANY -> 1.1.1.10[10.2.0.7],  Zone:---,  protocol:icmpVpn: public -> publicType: Nat Server,  ANY -> 1.1.1.10:21[10.2.0.7:21],  Zone:---,  protocol:tcpVpn: public -> public

在公网client上分别访问1.1.1.10提供的ftp和http服务后,检查fw的session table

[f1]dis fire sess table
2022-02-11 00:57:54.200 Current Total Sessions : 2ftp  VPN: public --> public  2.2.2.2:2049 +-> 1.1.1.10:21[10.2.0.7:21]http  VPN: public --> public  2.2.2.2:2051 --> 1.1.1.10:80[10.2.0.8:80]

在访问了ftp服务后,再检查一次server-map表项,发现多了一条aspf表项,说明ftp的数据通道也是由aspf动态建立的。

Type: ASPF,  2.2.2.2 -> 1.1.1.10:2049[10.2.0.7:2049],  Zone:---Protocol: tcp(Appro: ftp-data),  Left-Time:00:00:00Vpn: public -> public

如果我们使用ftp主动模式,这条aspf的server-map表项是下面这样的。

Type: ASPF,  10.2.0.7[1.1.1.10] -> 2.2.2.2:2053,  Zone:---Protocol: tcp(Appro: ftp-data),  Left-Time:00:00:13Vpn: public -> public

可见建立方向是不同的,相同点是始发方向都不会确定端口号,这当然没法做到像session table那样的精确和安全,但这毕竟只是临时通道,你可以理解成它是对多通道协议的妥协,但同时又何尝不是一种迂回和捷径呢?

我们如果和上一篇讲目的NAT的实验进行对比的话,很容易发现它的优点,配置简单,不需要再配置地址池和nat-policy,甚至我们还可以不去做no-reverse的限制,让私网设备主动去访问公网,但同时我们也发现它并不能做到目的nat那样的灵活应用,比如我们只有一个公网地址,就没有办法让公网用户同时ping通私网的不同设备,但是在目的nat中,我们就可以使用端口对地址的映射来解决(参考)。

谁更优秀呢?很难给你准确的答案啊,只能说具体场景具体判断吧。当然这也正是网工的魅力所在。

实验二:双出口环境下公网用户通过NAT Server访问内部服务器(双出口属于不同安全区域)

需求和拓扑

某公司在网络边界处部署了FW作为安全网关,通过两个ISP接入Internet。为了使私网FTP服务器能够对外提供服务,需要在FW上配置指定zone参数的NAT Server功能。除了公网接口的IP地址外,公司还向ISP1和ISP2分别申请了1.1.1.10和2.2.2.10作为内网服务器对外提供服务的地址。网络环境如图所示,其中Router是ISP1和ISP2提供的接入网关。

操作步骤

1、配置接口地址和安全区域

2、配置路由

ip route-static 1.1.2.0 255.255.255.0 1.1.1.254
ip route-static 1.1.3.0 255.255.255.0 2.2.2.254

3、配置安全策略

security-policyrule name 1source-zone untrust1source-zone untrust2destination-zone trustdestination-address 10.2.0.0 mask 255.255.255.0service ftpaction permit

4、配置nat server

nat server 0 protocol tcp global 1.1.1.10 ftp inside 10.2.0.10 ftp no-reverse
nat server 1 protocol tcp global 2.2.2.10 ftp inside 10.2.0.10 ftp no-reverse

验证和分析

检查server-map表项

[f1]dis fire server-map
2022-02-11 11:27:52.940 Current Total Server-map : 2Type: Nat Server,  ANY -> 2.2.2.10:21[10.2.0.10:21],  Zone:---,  protocol:tcpVpn: public -> publicType: Nat Server,  ANY -> 1.1.1.10:21[10.2.0.10:21],  Zone:---,  protocol:tcpVpn: public -> public

server-map表项的内容只有目的地址和端口转换前后的信息,不包括源地址和端口的信息。将表项翻译成文字就是:任意客户端向2.2.2.10:21发起访问时,报文的目的地址和端口就会被转换成10.2.0.10:21。

检查session table

[f1]dis fire sess table
2022-02-11 11:27:47.460 Current Total Sessions : 2ftp  VPN: public --> public  1.1.2.1:2049 +-> 1.1.1.10:21[10.2.0.10:21]ftp  VPN: public --> public  1.1.3.1:2049 +-> 2.2.2.10:21[10.2.0.10:21]

实验三:双出口环境下公网用户通过NAT Server访问内部服务器(双出口属于同一安全区域)

需求和拓扑

某公司在网络边界处部署了FW作为安全网关,通过两个ISP接入Internet。为了使私网FTP服务器能够对外提供服务,需要在FW上配置指定no-reverse参数的NAT Server功能。除了公网接口的IP地址外,公司还向ISP1和ISP2分别申请了1.1.1.10和2.2.2.10作为内网服务器对外提供服务的地址。

操作步骤

1、配置接口地址和安全区域

2、配置路由

ip route-static 1.1.2.0 255.255.255.0 1.1.1.254
ip route-static 1.1.3.0 255.255.255.0 2.2.2.254

双出口环境中,还需要考虑两个ISP中的公网用户使用哪个公网地址访问私网服务器的问题。如果防火墙上只是配置了缺省路由,那么私网的回包就可能从错误的出接口发出,不能回到始发者。所以要配置明细路由,让防火墙严格按照公网地址选路,但是如果公网地址数量很大,配置起来工作量就很大,不太现实....

防火墙提供了源进源出功能,即:请求报文从哪条路径进入,响应报文就依然沿着同样的路径返回,而不用查路由表来确定出接口,保证了报文从同一个接口进出。

所以,这一步也可以不配置路由而是用源进源出配合默认网关搞定。

具体命令是

[FW] interface GigabitEthernet 1/0/1
redirect-reverse next-hop 1.1.1.254
gateway 1.1.1.254
[FW] interface GigabitEthernet 1/0/2
redirect-reverse next-hop 2.2.2.254
gateway 2.2.2.254

3、配置安全策略

security-policyrule name 1source-zone untrustdestination-zone trustdestination-address 10.2.0.0 mask 255.255.255.0service ftpaction permit

4、配置nat server

nat server 0 protocol tcp global 1.1.1.10 ftp inside 10.2.0.10 ftp no-reverse
nat server 1 protocol tcp global 2.2.2.10 ftp inside 10.2.0.10 ftp no-reverse

注意这里一定要加no-reverse。不配的话都没有办法敲下命令。

nat server 0 protocol tcp global 1.1.1.10 ftp inside 10.2.0.10 ftp
nat server 1 protocol tcp global 2.2.2.10 ftp inside 10.2.0.10 ftp
Error:Incomplete command found at '^' position.

验证和分析

为什么要加no-reverse呢?我们可以分析以下,如果可以不加no-reverse,就可以生成反向的server-map表项,这个表项一定是目的地址和端口转换前后都是any的。具体应该是这样的。

Type: Nat Server Reverse,  10.2.0.10[1.1.1.10] -> ANY,  Zone:---,  protocol:tcp
Vpn: public -> public,  counter: 1
Type: Nat Server Reverse,  10.2.0.10[2.2.2.10] -> ANY,  Zone:---,  protocol:tcp
Vpn: public -> public,  counter: 1

第一条吧报文的源地址由10.2.0.10转换为1.1.1.10,另一条把报文的源地址由10.2.0.10转换为2.2.2.10,除此之外,两条表项是完全一样的。那作为防火墙,如果这样的报文来了,我该怎么处理呢?我凌乱了。

所以一定要加上no-reverse,这样就不会生成反向的server-map表,也不会出现上面的问题了。

那如果我们非得实现私网服务器主动访问公网的需求呢?比如我们想知道公网的client在线否,那我们只有在nat server的基础上再做源nat了。

做源nat的话稍微有点麻烦。首先得做trust到untrust的安全策略。

security-policy
rule name 2source-zone trustdestination-zone untrustsource-address 10.2.0.10 mask 255.255.255.255service icmpaction permit

其次得配置源nat地址池,因为我们只有两个公网地址,所以只好复用他们了。不过逻辑上还是讲得通,因为nat server时也是使用它们做私网server的公网地址嘛。

nat address-group 1 0mode patsection 0 1.1.1.10 nat address-group 2 0mode patsection 0 2.2.2.10

最后做源nat策略,注意要根据两个地址池做两个策略哦。(哎,确实麻烦了)

nat-policyrule name 1source-zone trustdestination-zone untrustsource-address 10.2.0.10 mask 255.255.255.255destination-address 1.1.2.1 mask 255.255.255.255action source-nat address-group 1rule name 2source-zone trustdestination-zone untrustsource-address 10.2.0.10 mask 255.255.255.255destination-address 1.1.3.1 mask 255.255.255.255action source-nat address-group 2

实验四:双出口环境下不同ISP的公网用户通过同一个公网IP地址访问内部服务器(源进源出)

需求和拓扑

某公司在网络边界处部署了FW作为安全网关,通过两个ISP接入Internet。公司内网的FTP服务器只向ISP1申请了一个公网IP地址(1.1.1.10)对外提供服务,ISP1和ISP2的外网用户都通过ISP1的这个公网地址访问FTP服务器。

操作步骤

1、配置接口地址和安全区域

2、配置源进源出和默认网关

interface GigabitEthernet1/0/1ip address 1.1.1.1 255.255.255.0gateway 1.1.1.254redirect-reverse next-hop 1.1.1.254interface GigabitEthernet1/0/2ip address 2.2.2.2 255.255.255.0gateway 2.2.2.254redirect-reverse next-hop 2.2.2.254

3、配置安全策略

security-policyrule name 1destination-zone trustdestination-address 10.2.0.0 mask 255.255.255.0service ftpaction permit

4、配置nat server

nat server 0 protocol tcp global 1.1.1.10 ftp inside 10.2.0.10 ftp no-reverse

5、r1/r2/r3配静态路由

//R1
ip route-static 1.1.10.0 255.255.255.0 1.1.1.1
ip route-static 3.3.3.3 255.255.255.255 13.1.1.3
//R2
ip route-static 1.1.1.10 255.255.255.255 2.2.2.2
ip route-static 3.3.3.3 255.255.255.255 23.1.1.3
//R3形成负载
ip route-static 1.1.1.10 255.255.255.255 13.1.1.1
ip route-static 1.1.1.10 255.255.255.255 23.1.1.2

验证和分析

登录后检查fw的session table和server-map

[f1]dis fire server-map
2022-02-11 14:28:29.730 Current Total Server-map : 2Type: ASPF,  3.3.3.3 -> 1.1.1.10:2050[10.2.0.10:2050],  Zone:---Protocol: tcp(Appro: ftp-data),  Left-Time:00:00:12Vpn: public -> publicType: Nat Server,  ANY -> 1.1.1.10:21[10.2.0.10:21],  Zone:---,  protocol:tcpVpn: public -> public[f1]dis fire sess table
2022-02-11 14:28:31.090 Current Total Sessions : 3ftp-data  VPN: public --> public  3.3.3.3:2052 --> 1.1.1.10:2050[10.2.0.10:2050
]ftp  VPN: public --> public  3.3.3.3:2049 +-> 1.1.1.10:21[10.2.0.10:21]ftp  VPN: public --> public  3.3.3.3:2051 +-> 1.1.1.10:21[10.2.0.10:21]
[f1]

实验五:私网用户使用公网地址访问内部服务器

需求和拓扑

某公司在网络边界处部署了FW作为安全网关。为了使私网Web服务器和FTP服务器能够对外提供服务,需要在FW上配置NAT Server功能。另外,和两台服务器同在一个安全区域,并且IP地址同在一个网段的PC D也需要访问这两台服务器。由于公司希望PC D可以使用公网地址访问内部服务器,因此还需要在FW上配置源NAT功能。

除了公网接口的IP地址外,公司还向ISP申请了两个公网IP地址,其中1.1.1.10作为内网服务器对外提供服务的地址,1.1.1.11作为PC D地址转换后的公网地址。网络环境如图1所示,其中Router是ISP提供的接入网关。

操作步骤

1、配置接口地址和安全区域

2、不需要配置路由

3、不需要配置安全策略

4、配置nat server

nat server 0 protocol tcp global 1.1.1.10 ftp inside 10.2.0.8 ftp no-reversenat server 1 protocol tcp global 1.1.1.10 8080 inside 10.2.0.7 www no-reverse

5、配置源NAT和地址池

nat address-group 1 0mode patsection 0 1.1.1.11 1.1.1.11
nat-policyrule name 1source-zone trustdestination-zone trustsource-address 10.2.0.6 mask 255.255.255.255service ftpservice httpaction source-nat address-group 1

验证和分析

[f1]dis fire sess table
2022-02-11 14:42:22.520 Current Total Sessions : 2ftp-data  VPN: public --> public  10.2.0.6:2050[1.1.1.11:2050] --> 1.1.1.10:204
9[10.2.0.8:2049]ftp  VPN: public --> public  10.2.0.6:2049[1.1.1.11:2048] +-> 1.1.1.10:21[10.2.
0.8:21]
http  VPN: public --> public  10.2.0.6:2060[1.1.1.11:2049] --> 1.1.1.10:8080[10
.2.0.7:80][f1]dis fire server-map
2022-02-11 14:42:27.110 Current Total Server-map : 3Type: ASPF,  10.2.0.6[1.1.1.11] -> 1.1.1.10:2049[10.2.0.8:2049],  Zone:---Protocol: tcp(Appro: ftp-data),  Left-Time:00:00:03Vpn: public -> publicType: Nat Server,  ANY -> 1.1.1.10:8080[10.2.0.7:80],  Zone:---,  protocol:tcpVpn: public -> publicType: Nat Server,  ANY -> 1.1.1.10:21[10.2.0.8:21],  Zone:---,  protocol:tcpVpn: public -> public

以上实验拓扑和完整配置已打包,关注并回复nat server获得。

HCIE-Security Day9:5个实验理解NAT Server相关推荐

  1. HCL实验-使用ACL进行SSH服务器的登录源限制的简单实验(NAT+SSH+ACL)

    HCL实验-使用ACL进行SSH服务器的登录源限制的简单实验(NAT+SSH+ACL) 文章目录 HCL实验-使用ACL进行SSH服务器的登录源限制的简单实验(NAT+SSH+ACL) 一.实验描述 ...

  2. 实验记录配置华为NAT Server

    1)将内部地址10.1.1.11/24的80端口静态转换为公网地址200.1.1.11/28的80端口,以便被外网(Client2)访问:同时Server1和Client2可以互相ping通. 2)将 ...

  3. 设备安全——防火墙策略实验【NAT、备份】

    防火墙策略实验[NAT.备份] 前提提要 实验初始拓扑图 实验 1.源NAT 2.NAT策略配置 2.server nat 3.域间双向NAT 3.1 配置安全策略 3.2 添加服务器 4.双机热备 ...

  4. 华为eNSP实验:NAT地址转换加端口地址映射

    文章目录 一.实验环境 二.实验拓扑 三.实验需求 四.实验步骤 PC1配置 PC2配置 PC3配置 PC4配置 Server配置 1,设置地址 2,配置Httpd服务 LSW1三层交换机配置 R1配 ...

  5. 强叔侃墙 NAT篇 NAT Server 三十二字真言(上篇)_实验一正一反,出入自如去反存正,自断出路

    拓扑结构 1,VPN配置 采用web方式配置. FW1配置 FW2配置 Vpn 协商策略 security-policyrule name untrust2local_vpnsource-zone u ...

  6. 100集华为HCIE安全培训视频教材整理 | 目的NAT及服务器负载均衡技术

    学习视频来源:<乾颐堂HCIP-HCIE-security安全 2019年录制> 针对内部到外部目的地址转换 放行的地址是NAT转换以后的地址,原因是先执行目的NAT,再执行安全策略 针对 ...

  7. NAT技术之NAT server

    技术背景: 在很多场景中,比如企业.学校.甚至家里都有一些对外访问的业务提供,比如门户网址.NAS.ERP等,在实际部署中,这些提供访问的服务器都属于内网内,配置的是内网地址,导致的情况是公网用户没法 ...

  8. 综合组网实例配置 双出口双墙主备+三层核心VRRP+MSTP+NAT+NAT SERVER+AC+IPsec+广域网PPPOE+专线

    一. 组网需求 企业的两台FW的业务接口都工作在三层,使用路由模式进行部署,上下行分别连接交换机.上行交换机连接路由器,下行连接核心交换机.路由器连接二个运营商的接入点,运营商其一为企业提供专线业务, ...

  9. 深入理解SQL Server的规划和安装

      深入理解SQL Server的规划和安装   实验背景: 在IT技术高速发展.互联网已***到千家万户.对于一个国家.一个企业甚至一个家庭来说,数据安全.可靠.高效的存储已成为重中之重的话题,任何 ...

  10. 如何配置NAT Server?

    5.1 问题 将内部地址10.1.1.11/24的80端口静态转换为公网地址200.1.1.11的80端口,以便被外网(Client1)访问 将内部地址10.1.1.12/24的21端口静态转换为公网 ...

最新文章

  1. 【Springboot】日志
  2. 如何查看Apache的连接数和当前连接数
  3. C++STL的vector容器
  4. 有用的SQL 语句(转)
  5. 整车厂核心制造系统及数据流
  6. assertj断言异常_编写自定义的AssertJ断言
  7. symantec backup exec 2010 基本错误总结
  8. LeetCode 202. 快乐数(快慢指针)
  9. AndroidStudio(7)---导入jar包方法
  10. 现男友代言!最强自拍手机荣耀20S正式发布:售价1899元起
  11. Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案
  12. JAVASCRIPT实现XML分页
  13. mysql 怎么存储毫秒_MySQL如何存储毫秒数据
  14. 生意参谋高阶指数换算api、指数换算api、生意参谋交易指数换算api、生意参谋数据查询api
  15. python迅雷下载器_简单的迅雷VIP账号获取器(Python)
  16. 三星手机微信下载的文件路径
  17. Linux中CPU亲和性(affinity)
  18. 年面向大学生的 9 个最佳 Chrome 扩展程序
  19. [Solved] Javax.Crypto.AEADBadTagException: Tag Mismatch
  20. Switch模拟器调研

热门文章

  1. pytorch自然语言处理之Pooling层的句子分类
  2. 用Python实现二叉树、二叉树非递归遍历及绘制
  3. Git的17条基本用法
  4. 《葵花宝典:WPF自学手册》三大网点书评集萃
  5. 演说之禅:幻灯片的演说是多多益善吗?
  6. operator 模块详解
  7. 16.2互联网媒体信息讽刺识别
  8. mysql从一个表查询插入另一个表存在时更新_漫谈MySQL的锁机制
  9. create方法 eslint关闭_详解create-react-app 自定义 eslint 配置
  10. 蓝桥杯2015年第六届javaB组省赛第一题-三角形面积