1.内部全局:使具有网地址接入Internet的公网地址
2.内部本地:局域网内部的所有主机
3.外部全局:
4.外部本地:ISP与本地公网地址链接的对端的公网地址
二、实验
(一)【实验名称】静态NAT(一对一关系,即一个局域网地址对一个公网地址)
【实验目标】一个局域网内有一台主机,需要接入Internet,现有一个
公网IP地址,局域网内的主机通过这个公网IP地址,经
过静态NAT技术,实现局域网内的这台主机接入Internet。
【实验设备】两台CISCO 7200 路由器
【实验拓扑】
、
【实验步骤】
(一)给R1和R2配置各端口的IP
1.R1
rack01(config)#int loop 0
rack01(config-if)#ip add 192.168.1.1 255.255.255.0
rack01(config)#int s1/0
rack01(config-if)#ip add 202.102.1.1 255.255.255.0
rack01(config-if)#no shut
2.R2
rack02(config-if)#int s1/0
rack02(config-if)#ip add 202.102.1.2 255.255.255.0
rack02(config-if)#no shut
(二)在R1和R2上开启路由功能,让各端口之间可以互相Ping通
1.R1
rack01(config)#router eigrp 100
rack01(config-router)#network 192.168.1.0
rack01(config-router)#network 202.102.1.0
2.R2
rack02(config)#router eigrp 100
rack02(config-router)#network 202.102.1.0
(三)在R1上设置静态NAT,使之能够接入Inetnet
rack01(config)#ip nat inside source static 192.168.1.1 202.102.1.5
!设置静态NAT,其中inside:内部 source:源 static:静态
192.168.1.1为局域网内部的IP,202.102.1.5为公网IP
(四)应用到端口上
rack01(config)#int loop 0
rack01(config-if)#ip nat inside !将NAT应用到内部接口
rack01(config-if)#int s1/0
rack01(config-if)#ip nat outside !将NAT应用到外部接口
测试结果:
rack01#debug ip nat 开启debug功能查看更新情况
IP NAT debugging is on
rack01#ping 扩展Ping
Protocol [ip]:
Target IP address: 202.102.1.2 目标地址
Repeat count [5]:
Extended commands [n]: y
Source address or interface: 192.168.1.1 源地址
Type of service [0]:
Sending 5, 100-byte ICMP Echos to 202.102.1.2, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!! 说明链路是通的
随机的编号
看debug信息
*Jan 18 14:34:00.635: NAT: s=192.168.1.1->202.102.1.5, d=202.102.1.2 [15] 去信息
*Jan 18 14:34:00.683: NAT*: s=202.102.1.2, d=202.102.1.5->192.168.1.1 [15]回信息
总结:看以上debug信息可以看出当192.168.1.1要接入Internet时,NAT将其转换成了公网地址:202.102.1.5
(二)【实验名称】动态NAT(多对多的关系,即多个局域网地址对多个公网地址)
【实验目标】一个局域网内有多台主机,需要接入Internet,现有两个公网IP地址,局域网内的主机通过这个两个公网IP地址,经过动态NAT技术,实现局域网内的多台主机接入Internet。
【实验设备】两台CISCO 7200 路由器
【实验拓扑】
【实验步骤】
(一)给R1和R2配置各端口的IP
1.R1
rack01(config)#int loop 0
rack01(config-if)#ip add 192.168.1.1 255.255.255.0
rack01(config-if)#ip add 192.168.1.2 255.255.255.0 secondary
rack01(config-if)#ip add 192.168.1.3 255.255.255.0 secondary
rack01(config)#int s1/0
rack01(config-if)#ip add 202.102.1.1 255.255.255.0
rack01(config-if)#no shut
2.R2
rack02(config-if)#int s1/0
rack02(config-if)#ip add 202.102.1.2 255.255.255.0
rack02(config-if)#no shut
(二)在R1和R2上开启路由功能,让各端口之间可以互相Ping通
1.R1
rack01(config)#router eigrp 100
rack01(config-router)#network 192.168.1.0
rack01(config-router)#network 202.102.1.0
2.R2
rack02(config)#router eigrp 100
rack02(config-router)#network 202.102.1.0
(三)在R1上设置动态NAT实现多台主机,通过两个公网IP接入Internet
rack01(config)#access-list 10 permit 192.168.1.0 0.0.0.7
!设置标准ACL,其中192.168.1.0是三个IP汇总后的网段,0.0.0.
是它的反子网掩码
rack01(config)#ip nat pool cisco 202.102.1.5 202.102.1.6 netmask 255.255.255.0
!设置动态NAT,其中pool是地址池,cisco是给地址池起的名字,202.102.1.5和
202.102.1.6是它们的公网IP,1.5是起,1.6是址,需要注意的是起IP地址必须小于
址IP地址。
rack01(config)#ip nat inside source list 10 pool cisco
(四)将动态NAT应用到接口上
rack01(config)#int loop 0
rack01(config-if)#ip nat inside
rack01(config-if)#int s1/0
rack01(config-if)#ip nat outside
测试结果:
rack01#ping 扩展Ping
Target IP address: 202.102.1.2 目的地址
Extended commands [n]: y
Source address or interface: 192.168.1.1
Type of service [0]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.102.1.2, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max=48/68/96 ms
rack01#
*Jan 18 14:34:00.635: NAT: s=192.168.1.1->202.102.1.5, d=202.102.1.2 [15]
*Jan 18 14:34:00.683: NAT*: s=202.102.1.2, d=202.102.1.5->192.168.1.1 [15]
*Jan 18 14:34:00.683: NAT: s=192.168.1.1->202.102.1.5, d=202.102.1.2 [16]
(三) 【实验名称】PAT(一对多的关系,即一个公网地址对多个局域网地址)
【实验目标】一个局域网内有多台主机,需要接入Internet,现有一个公网IP地址,局域网内的主机通过这个公网IP地址,经过PAT技术,实现局域网内的多台主机接入Internet。
【实验设备】两台CISCO 7200 路由器
【实验拓扑】
【实验步骤】
(一)给R1和R2配置各端口的IP
1.R1
rack01(config)#int loop 0
rack01(config-if)#ip add 192.168.1.1 255.255.255.0
rack01(config-if)#ip add 192.168.1.2 255.255.255.0 secondary
rack01(config-if)#ip add 192.168.1.3 255.255.255.0 secondary
rack01(config)#int s1/0
rack01(config-if)#ip add 202.102.1.1 255.255.255.0
rack01(config-if)#no shut
2.R2
rack02(config-if)#int s1/0
rack02(config-if)#ip add 202.102.1.2 255.255.255.0
rack02(config-if)#no shut
(二)在R1和R2上开启路由功能,让各端口之间可以互相Ping通
1.R1
rack01(config)#router eigrp 100
rack01(config-router)#network 192.168.1.0
rack01(config-router)#network 202.102.1.0
2.R2
rack02(config)#router eigrp 100
rack02(config-router)#network 202.102.1.0
(三)在R1上设置PAT实现多台主机,通过一个公网IP接入Internet
rack01(config)#access-list 10 permit 192.168.1.0 0.0.0.7
rack01(config)#ip nat pool cisco 202.102.1.5 202.102.1.5 netmask 255.255.255.0
rack01(config)#ip nat inside source list 10 pool cisco overload
!需要注意的是与上面动态NAT相比,只多了个overload 但却可以多台主机地址通过一个公网IP接入Internet
(四)将PAT应用到接口上
rack01(config)#int loop 0
rack01(config-if)#ip nat inside
rack01(config-if)#int s1/0
rack01(config-if)#ip nat outside
测试结果:
rack01#ping
Protocol [ip]:
Target IP address: 202.102.1.2
Repeat count [5]:
Datagram size [100]:
Extended commands [n]: y
Source address or interface: 192.168.1.1
Type of service [0]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.102.1.2, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max=72/100/144 ms
rack01#debug ip nat
IP NAT debugging is on
rack01#ping
Protocol [ip]:
Target IP address: 202.102.1.2
Repeat count [5]:
Extended commands [n]: y
Source address or interface: 192.168.1.1
Type of service [0]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.102.1.2, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max=68/95/120 ms
rack01#
*Jan 18 15:18:39.431: NAT: s=192.168.1.1->202.102.1.5, d=202.102.1.2 [35]
*Jan 18 15:18:39.495: NAT*: s=202.102.1.2, d=202.102.1.5->192.168.1.1 [35]
*Jan 18 15:18:39.495: NAT: s=192.168.1.1->202.102.1.5, d=202.102.1.2 [36]
*Jan 18 15:18:39.615: NAT*: s=202.102.1.2, d=202.102.1.5->192.168.1.1 [36]
总结:
静态NAT:只能是一个私有地址对一个公网地址,即一对一的关系
动态NAT:多个私有地址对多个公网地址,即多对过的关系
PAT:多个私有地址对一个公网地址,即多对一的关系
Router#show ip nat translations !查看NAT列表
Router#clear ip nat translation * !清除NAT转换中所有的动态地址转换条件
三、TFTP软件的应用
TFTP:文件传输协议,为CISCO专有协议
(一)copy命令(特权模式下)
1.copy running-config startup-running !对路由器当前的配置复制到路由器的NVRAM中
2.copy startup-running running-config !接着上次保存的配置继续配置
3.copy running-config tftp !将配置复制到TFTP软件上,即备份
4.copy tftp running-config !将备份的设置从TFTP软件上提取出来
5.copy running-config startup-running !对路由器当前的配置复制到路由器的NVRAM中,
此条命令可以在做完所有配置后,在运用,即再保存
(二)升级IOS(操作系统)
1.router(config)#config-register 0x2101 !将寄存器的值修改为0x2101,即可读可写寄存器
2.router#write !保存
3.router(config)#copy tftp flash !将TFTP中的IOS复制到flash中
4.router(config)#config-register 0x2142 !将寄存器的值修改为0x2142,即可读寄存器
这一步是必须的,因为这样才不会随便被别人修改寄存器
(三)TFTP软件的应用实例
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int e0
Router(config-if)#ip add 199.99.1.1 255.255.255.0
Router(config-if)#no shu
changed sta
te to up
Router#copy running-config tftp !将配置复制到TFTP软件上,即备份
Address or name of remote host []? 199.99.1.180
Destination filename [router-confg]?
!!
697 bytes copied in 5.580 secs (139 bytes/sec)
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#host rack01
rack01(config)#^Z
rack01#cop
00:11:22: %SYS-5-CONFIG_I: Configured from console by console
rack01#copy tftp running-config !将备份的设置从TFTP软件上提取出来
Address or name of remote host [199.99.1.8]? 199.99.1.180
Source filename [router-confg]?
Destination filename [running-config]?
Accessing tftp://199.99.1.180/router-confg...
Loading router-confg from 199.99.1.180 (via Ethernet0): !
[OK - 697/1024 bytes]
697 bytes copied in 4.304 secs (174 bytes/sec)
Router#write !保存
Router(config)#config-register 0x2101 升级Flash
Router#write 保存
Router#reload 重启路由器
Proceed with reload? [confirm]
Router(boot)#copy tftp flash !从TFTP中的IOS复制到路由器的FLASH
Partition Size Used Free Bank-Size State Copy
Mode
1 8192K 7851K 340K 8192K Read/Write Direct
2 8192K 0K 8192K 8192K Read/Write Direct
[Type ? for partition directory; ? for full directory; q to abort]
Which partition? [default=1]
System flash directory, partition 1:
File Length Name/status
1 8039948 c2500-c-l.121-ospf-12.bin
[8040012 bytes used, 348596 available, 8388608 total]
Address or name of remote host [255.255.255.255]?
Source file name? c2500-c-l.121-ospf-12.bin 要升级,用的IOS文件
Destination file name [c2500-c-l.121-ospf-12.bin]?
Accessing file 'c2500-c-l.121-ospf-12.bin' on 255.255.255.255...
Loading c2500-c-l.121-ospf-12.bin from 199.99.1.180 (via Ethernet0): !
[OK]
Erase flash device before writing? [confirm]
Flash contains files. Are you sure you want to erase? [confirm]
Copy 'c2500-c-l.121-ospf-12.bin' from server
as 'c2500-c-l.121-ospf-12.bin' into Flash WITH erase? [yes/no]y
Erasing device... eeeeeeeeeeeeeeeeee...erased 正在清除Flash中原有的IOS文件
Loading c2500-c-l.121-ospf-12.bin from 199.99.1.180 (via Ethernet0): !!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 成功
Router(boot)(config)#config-register 0x2142 !设置寄存器的值为只读,这一步是必须的,因为这样才不会随便被别人修改寄存器
Router(boot)#write 保存