动态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 -- 获取 就可以了
原文地址:http://blog.51cto.com/13700952/2119275