本文用GNS3搭建环境,vpc模拟pc,进而取代原文路由器关闭路由来模拟pc,节约内存,精简命令
拓扑图如下
实验目的:
1将R1上PC1和PC2的私网地址静态映射成公网地址.(一对一的转换)
2然后将R1连接的内网网段用动态转换出去.(动态转换)
3将R1连接的内网用PAT发布出去.(端口多路复用技术)
调试命令:
showipnattranslations
showipnatstatistics
实验步骤:
给所有的PC和路由器配置IP地址,并确保所有vpc能ping通自己的网关
R1(config)#ints1/0
R1(config-if)#ipadd10.0.0.1255.255.255.0
R1(config-if)#noshut
R1(config-if)#intf0/0
R1(config-if)#ipadd192.168.1.1255.255.255.0
R1(config-if)#noshut
R1(config-if)#intf0/1
R1(config-if)#ipadd192.168.2.1255.255.255.0
R1(config-if)#noshut
R2(config)#intf0/0
R2(config-if)#ipaddress172.16.2.1255.255.255.0
R2(config-if)#noshut
R2(config-if)#intf0/1
R2(config-if)#ipaddress172.16.1.1255.255.255.0
R2(config-if)#noshut
R2(config-if)#ints1/0
R2(config-if)#ipaddress10.0.0.2255.255.255.0
R2(config-if)#noshut
实验一:将R1上PC1和PC2的私网地址静态映射成公网地址
注意:这里的配置是一个公网地址对一个私网地址
R1(config)#intf0/0
R1(config-if)#ipnatinside
R1(config)#intf0/1
R1(config-if)#ipnatinside
R1(config-if)#ints1/0
R1(config-if)#ipnatoutside
R1(config-if)#exit
R1(config)#ipnatinsidesourcestatic192.168.1.210.0.0.100
R1(config)#ipnatinsidesourcestatic192.168.2.210.0.0.200
R2(config)#intf0/0
R2(config-if)#ipnatinside
R2(config)#intf0/1
R2(config-if)#ipnatinside
R2(config-if)#ints1/0
R2(config-if)#ipnatoutside
R2(config-if)#exit
R2(config)#ipnatinsidesourcestatic172.16.1.210.0.0.10
R2(config)#ipnatinsidesourcestatic172.16.2.210.0.0.11
测试
R1#shipnattranslations
ProInsideglobalInsidelocalOutsidelocalOutsideglobal
---10.0.0.100192.168.1.2------
---10.0.0.200192.168.2.2------
R2#shipnattranslations
ProInsideglobalInsidelocalOutsidelocalOutsideglobal
---10.0.0.10172.16.1.2------
---10.0.0.11172.16.2.2------
VPCS1>ping10.0.0.10
10.0.0.10icmp_seq=1time=140.000ms
10.0.0.10icmp_seq=2time=125.000ms
10.0.0.10icmp_seq=3time=109.000ms
10.0.0.10icmp_seq=4time=94.000ms
10.0.0.10icmp_seq=5time=94.000ms
VPCS1>ping10.0.0.11
10.0.0.11icmp_seq=1time=109.000ms
10.0.0.11icmp_seq=2time=109.000ms
10.0.0.11icmp_seq=3time=94.000ms
10.0.0.11icmp_seq=4time=94.000ms
10.0.0.11icmp_seq=5time=110.000ms
VPCS3>ping10.0.0.100
10.0.0.100icmp_seq=1time=204.000ms
10.0.0.100icmp_seq=2time=140.000ms
10.0.0.100icmp_seq=3time=125.000ms
10.0.0.100icmp_seq=4time=157.000ms
10.0.0.100icmp_seq=5time=141.000ms
VPCS3>ping10.0.0.200
10.0.0.200icmp_seq=1time=203.000ms
10.0.0.200icmp_seq=2time=109.000ms
10.0.0.200icmp_seq=3time=93.000ms
10.0.0.200icmp_seq=4time=125.000ms
10.0.0.200icmp_seq=5time=141.000ms
实验
二:
将
R1
连接的内网网段用动态转换出去
.
这里是:比如你申请了多个公网
IP
的时候,可以做一个地址池,让地址池里面的
IP
轮流为你的内网的
IP
做转换
先删除实验1中的命令
R1(config)#noipnatinsidesourcestatic192.168.1.210.0.0.100
R1(config)#noipnatinsidesourcestatic192.168.2.210.0.0.200
R2(config)#noipnatinsidesourcestatic172.16.1.210.0.0.10
R2(config)#noipnatinsidesourcestatic172.16.2.210.0.0.11
然后允许的网段
R1(config)#access-list1permit192.168.1.00.0.0.255
R1(config)#access-list1permit192.168.2.00.0.0.255
设定地址池的范围
R1(config)ipnatpoolhaha10.0.0.1010.0.0.15netmask255.255.255.0typerotary
R1(config)ipnatinsidesourcelist1poolhaha
R2如R1一样设置
R2(config)#access-list1permit172.16.1.00.0.0.255
R2(config)#access-list1permit172.16.2.00.0.0.255
设定地址池的范围
R2(config)ipnatpoolhehe10.0.0.2010.0.0.25netmask255.255.255.0
R2(config)ipnatinsidesourcelist1poolhehe
而后用vpcping一个确定存在的外网地址
VPCS1>ping10.0.0.2
10.0.0.2icmp_seq=1time=203.000ms
10.0.0.2icmp_seq=2time=156.000ms
10.0.0.2icmp_seq=3time=203.000ms
10.0.0.2icmp_seq=4time=125.000ms
10.0.0.2icmp_seq=5time=62.000ms
VPCS2>ping10.0.0.2
10.0.0.2icmp_seq=1time=141.000ms
10.0.0.2icmp_seq=2time=78.000ms
10.0.0.2icmp_seq=3time=79.000ms
10.0.0.2icmp_seq=4time=141.000ms
10.0.0.2icmp_seq=5time=110.000ms
在R1中查看他们的地址,因为是随机分配,所以开始并不知道
R1#shipnattranslations
ProInsideglobalInsidelocalOutsidelocalOutsideglobal
---------10.0.0.1110.0.0.1
---10.0.0.10192.168.1.2------
---10.0.0.12192.168.2.2------
用PC3pingpc1和pc2
VPCS2>3
VPCS3>ping10.0.0.10
10.0.0.10icmp_seq=1time=234.000ms
10.0.0.10icmp_seq=2time=156.000ms
10.0.0.10icmp_seq=3time=110.000ms
10.0.0.10icmp_seq=4time=78.000ms
10.0.0.10icmp_seq=5time=109.000ms
VPCS3>ping10.0.0.12
10.0.0.12icmp_seq=1time=172.000ms
10.0.0.12icmp_seq=2time=125.000ms
10.0.0.12icmp_seq=3time=156.000ms
10.0.0.12icmp_seq=4time=187.000ms
10.0.0.12icmp_seq=5time=125.000ms
在R2中查看
R2#shipnattranslations
ProInsideglobalInsidelocalOutsidelocalOutsideglobal
---------10.0.0.2010.0.0.2
icmp10.0.0.21:30953172.16.1.2:3095310.0.0.10:3095310.0.0.10:30953
icmp10.0.0.21:36073172.16.1.2:3607310.0.0.12:3607310.0.0.12:36073
icmp10.0.0.21:36329172.16.1.2:3632910.0.0.12:3632910.0.0.12:36329
---10.0.0.21172.16.1.2------
---10.0.0.22172.16.2.2------
实验2完成
注:如果想删除已经动分配的地址池,会出现
%Poolheheinuse,cannotdestroy
清空一下即可
R2#clearipnatstatistics
R2#clearipnatt*
实验
三
将
R1
连接的内网用
PAT
发布出去
.
端口多路复用技术,通过区分端口,是内网所有用户通过一个公网
IP
上网
删除实验2的步骤
R1(config)#noipnatpoolhaha10.0.0.1010.0.0.15netmask255.255.255.0typerotary
R1(config)#noipnatinsidesourcelist1poolhaha
R2(config)#noipnatpoolhehe10.0.0.2010.0.0.25netmask255.255.255.0
R2(config)#noipnatinsidesourcelist1poolhehe
然后开始实验3,
R1(config)#ipnatpoolone10.0.0.1010.0.0.10netmask255.255.255.0
R1(config)#ipnatinsidesourcelist1poolone
overload
R2(config)#ipnatpoolone10.0.0.2010.0.0.20netmask255.255.255.0
R2(config)#ipnatinsidesourcelist1poolone
overload
VPCS1>ping10.0.0.2
10.0.0.2icmp_seq=1time=218.000ms
10.0.0.2icmp_seq=2time=79.000ms
10.0.0.2icmp_seq=3time=141.000ms
10.0.0.2icmp_seq=4time=234.000ms
10.0.0.2icmp_seq=5time=140.000ms
VPCS4>ping10.0.0.1
10.0.0.1icmp_seq=1time=172.000ms
10.0.0.1icmp_seq=2time=172.000ms
10.0.0.1icmp_seq=3time=171.000ms
10.0.0.1icmp_seq=4time=141.000ms
10.0.0.1icmp_seq=5time=125.000ms
R1#shipnattranslations
ProInsideglobalInsidelocalOutsidelocalOutsideglobal
icmp10.0.0.10:38131192.168.1.2:3813110.0.0.2:3813110.0.0.2:38131
icmp10.0.0.10:38387192.168.1.2:3838710.0.0.2:3838710.0.0.2:38387
icmp10.0.0.10:38899192.168.2.2:3889910.0.0.2:3889910.0.0.2:38899
icmp10.0.0.10:39155192.168.2.2:3915510.0.0.2:3915510.0.0.2:39155
R2#shipnattranslations
ProInsideglobalInsidelocalOutsidelocalOutsideglobal
icmp10.0.0.20:31219172.16.1.2:3121910.0.0.1:3121910.0.0.1:31219
icmp10.0.0.20:31475172.16.1.2:3147510.0.0.1:3147510.0.0.1:31475
icmp10.0.0.20:33523172.16.2.2:3352310.0.0.1:3352310.0.0.1:33523
icmp10.0.0.20:33779172.16.2.2:3377910.0.0.1:3377910.0.0.1:33779
如果只申请了一个IP,则直接映射s1/0口
ipnatinsidesourcelist1interfaces1/0overload
最后总结一下NAT的优缺点
原理
:
转换内部地址
,
转换外部地址
,PAT,
解决地址重叠问题
.
优点
:
节省
IP
地址
,
能够处理地址重复的情况
,
增加了灵活性
,
消除了地址重新编号
,
隐藏了内部
IP
地址
.
缺点
:
增加了延迟
,
丢失了端到端的
IP
的跟踪过程
,
不能够支持一些特定的应用
(
如
:SNMP),
需要更多的内存来存储一个
NAT
表
,
需要更多的
CPU
来处理
NAT
的过程
.
原博客地址为http://51ceo.blog.51cto.com/865507/237484