动态NAT、静态NAT和华为NAT 一、NAT概述 1、(network address translation )网络地址转换。 2、NAT的工作过程: NAT设备收到内网的数据包以后, 1、首先查看本地是否有去往数据包目地地址的路由; 2、再次查看本地设备是否存在对应的nat转换条目; -- 如果有,则进行地质转换,然后发送出去; -- 如果无,则不进行地质转换,然后发送出去。 3、静态NAT: 私有-公有 1:1,不节省IP地址; 4、配置静态NAT: 1、给R1(即内部最末端的路由器)配置一个去往运营商的缺省路由 [R1]Ip route-static 0.0.0.0 0.0.0.0 100.1.12.2 2、在R1(即内部最末端的路由器)上创建“静态NAT转换条目” [R1] nat static global 100.1.12.3 inside 192.168.1.1 可以创建多条 3、在R1(即内部最末端的路由器)上数据包的出端口,启用“静态NAT”功能 [R1]interface gi0/0/1 [R1-gi0/0/1] nat static enable 5、动态NAT:不节省IP地址,不做细致讲解 私有-公有 1:1,不节省IP地址; 6、PAT/PNAT/NAT-Port/端口复用/端口NAT/ port NAT 私有-公有 多:1,节省IP地址; 7、配置思路 1、搭建拓扑图,给终端设备和服务器配置IP地址和网关 2、给各路由器各端口配置IP地址 3、配置终端路由器到运营商服务器的默认路由 4、在终端路由器的出口或者入口配置ACL,无需在接口下调用 5、在终端路由器的出口上配置动态NAT(即在出口上调用ACL) 8、配置命令: 1、定义感兴趣的流量,即创建ACL [R1] acl 2000 [R1-acl-basic-2000] rule 5 permit source 192.168.1.1 0.0.0.0 2、在出端口上调用 NAT 命令 [R1]interface gi0/0/1 [R1-gi0/0/1] nat outbound + ACL的号码 -->在改端口发送出去的数据包,如果被 acl 2000 匹配,并且执行 permit 动作, 则对这些数据的 源IP地址进行 NAT 转换,转换成该接口的 公网IP 地址; 注意: 在 NAT 中调用的 ACL与在接口上调用的 ACL ,稍有不同: NAT中调用的ACL的最后一个隐含的默认动作是 --- 拒绝所有; 接口上调用的ACL的最后一个隐含的默认动作是 --- 允许所有; 案例1: -环境 内网有2台主机,PC-1/2,IP:192.168.1./24 和 192.168.1.2/24 网关IP:192.168.1.254 公司购买的公网IP地址:100.1.12.1/24 和 100.1.12.3/24

-要求: PC-1可以访问外网的服务器:200.1.1.2/24 并测试 PC-2 是否可以访问外网的服务器 -配置: 1、配置PC-1,PC-2以及 网关设备的 IP 地址信息 2、配置网关去往外网的路由 -- 默认路由 [R1] ip route-static 0.0.0.0 0.0.0.0 100.1.12.2 3、在网关设备上配置 静态 NAT : [R1] nat static global 100.1.12.3 inside 192.168.1.1 [R1] interface gi0/0/1 [R1-gi0/0/1] nat static enable 4、测试 PC-1: ping 200.1.1.2 ,OK ; PC-2: ping 200.1.1.2 ,不通;因为没有进行 NAT 转换。
-结论: 静态 NAT 中,私有地址与公有地址的关系是:1:1 , 不节省IP地址; 静态 NAT 需要在 数据包的出接口 “启用”,才能实现数据互通。

-优化方案: 使用“PNAT”,即端口 NAT ,来替换原来的“静态NAT”。 配置思路如下: # 创建感兴趣流量 -- 通过 ACL 实现; acl 2000 rule 5 permit source 192.168.1.1 0.0.0.0

				&&以上的 ACL 条目仅仅能匹配 PC-1 发送的数据包,
				  然后进行 NAT 转换,从而实现 PC-1 可以访问外网;     				   
	   # 创建 NAT 转换条目
			interface gi0/0/1 
			   nat outbound 2000 
			   
			    && 通过该接口发送出去的数据,都要经过 ACL 2000 的检查,
				   能被 ACL 匹配,并且执行 permit 动作的,则进行 NAT 
				   转换,即最终可以实现上网。此案例中,PC-1可以上网,
				   PC-2不可以。
				   
				   如果想实验 PC-2 上网,则必须修改 ACL 2000 的配置,
				   如下: 
				      acl 2000
					     rule 5 permit 192.168.1.0  0.0.0.255

案例2: -- 环境 内网有一台 web 服务器,IP:192.168.1.8/24 ,使用的默认端口; 内网有2台主机,PC-1/2,IP:192.168.1.1/24、192.168.1.2/24 网关IP:192.168.1.254/24 公司购买了2个公网IP地址:100.1.12.1/24 100.1.12.3/24 -- 要求 PC-1可以访问外网的服务器(200.1.1.1/24) PC-2不可以访问外网 外网的 http-client 可以直接通过外网IP的 8080 访问到内部的 web服务器;(100.1.12.3/24) -- 配置步骤 1、PC-1/2/Web-server 配置好对应的IP地址和网关IP地址; 给PC机和Web-server配置好IP地址和网关IP地址 2、配置网关设备 R1 的出现路由 --- 默认路由 <R1>system-view [R1]ip route-static 0.0.0.0 0.0.0.0 100.1.12.2 3、配置好 模拟器的 ISP 端的设备 4、配置路由器R1、R2的各端口配置相应的IP地址 <Huawei>system-view [Huawei]sysname R1 [R1]interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24 [R1]interface GigabitEthernet 0/0/1 [R1-GigabitEthernet0/0/1]ip address 100.1.12.1 24

<Huawei>system-view [Huawei]sysname R2 [R2]interface GigabitEthernet 0/0/1 [R2-GigabitEthernet0/0/1]ip address 100.1.12.2 24 [R2]interface GigabitEthernet 0/0/2 [R2-GigabitEthernet0/0/2]ip address 200.1.1.254 24 5、在边界设备上配置 - NAT [R1]acl 2000 [R1-acl-basic-2000]rule 5 permit source 192.168.1.1 0.0.0.0 [R1-acl-basic-2000]rule 10 permit source 192.168.1.2 0.0.0.0 6、在数据包的出端口配置 NAT ,实现 PNAT [R1]interface GigabitEthernet 0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2000 7、NAT-Server (端口映射) 在数据包的出端口上配置 [R1]interface GigabitEthernet 0/0/1 (公司所购买的公网段内IP地址除了两端的IP地址) [R1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.12.3 8080 inside 192.168.1.8 80 8、在桌面上新建一个文本文档,文件书写格式如下: (Server的IP + 端口号) <html><head><title> + 内容 </title></head></html>写完之后(保存在一个文件夹里)另存为
随便取一个名字 + 后缀是.html 保存类型选所有文件 9、打开Server1,选择HttpServer --- 选择保存Html文件的文件夹 -- 启动 10、打开Client --- 客户端信息 -- 输入http://100.1.12.10:8080 -- 获取 就可以了