Nat英文全称是 NETWORK ADDRESS TRANSLATION, 中文意思是网络地址转换。是一种把内部私有网络地址翻译成合法网络IP地址的技术。
Nat转换包括多种不同类型,可用于多种目的。
1,静态Nat
按照一一对应的方式将每个内部IP地址转换为一个外部IP地址,这种方式经常用于企业网的内部设备需要能够被外部网络访问到时。
配置步骤:
1)在路由器上配置路由选择和IP地址;2)至少指定一个内部接口和一个外部接口。方法是进入接口配置模式下,执行命令
IP Nat INSIDE | OUTSIDE。指定内部地址和外部地址目的是让路由器知道哪个是内部网络,哪个是外部网络,以便进行相应地址转换。
3)使用全局命令 IP Nat INSIDE SOURCE STATIC LOcaL-IP GLOBAL-IP,配置静态转换条目。
配置实例:
Router#conf t
Router(config)#int fa 0/0
Router(config-if)#ip add 10.1.1.10 255.255.255.0
Router(config-if)#ip Nat inside
Router(config-if)#int s 0/0
Router(config-if)#ip add 192.16.2.1 255.255.255.0
Router(config-if)#ip Nat outside
Router(config)#ip Nat inside source static 10.1.1.5 192.16.2.5
2,静态端口地址转换NAPT
和静态Nat转换一样,静态NAPT也通常用于将内部主机发布到外部网络。但是静态NAPT与静态Nat不同,静态NAPT允许
将内部网络的多个服务(一台主机或多台主机上的服务,如ftp、http服务)发布到同一个地址上,并用不同的端口来区别不同的内部服务。
配置步骤:
1)在路由器上配置路由选择和IP地址;2)至少指定一个内部接口和一个外部接口。方法是进入接口配置模式下,执行命令
IP Nat INSIDE | OUTSIDE。指定内部地址和外部地址目的是让路由器知道哪个是内
部网络,哪个是外部网络,以便进行相应地址转换。
3)使用全局命令 IP Nat INSIDE SOURCE STATIC TCP | UDP LOcaL-IP LOcaL-PORT GLOBAL-IP LOcaL-PORT,配置静态NAPT转换条目。
配置实例:
Router#conf t
Router(config)#int fa 0/0
Router(config-if)#ip add 10.1.1.10 255.255.255.0
Router(config-if)#ip Nat inside
Router(config-if)#int s 0/0
Router(config-if)#ip add 192.16.2.1 255.255.255.0
Router(config-if)#ip Nat outside
Router(config)#ip Nat inside source static tcp 10.1.1.5 80 192.16.2.5 80
Router(config)#ip Nat inside source static tcp 10.1.1.6 21 192.16.2.5 21
Router(config)#ip Nat inside source static tcp 10.1.1.6 20 192.16.2.5 20
3,动态Nat
将一个内部IP地址转换为一组外部IP地址(地址池)中的一个IP地址。
配置步骤:
配置步骤:1)在路由器上配置路由选择和IP地址;2)至少指定一个内部接口和一个外部接口。方法是进入接口配置模式下,执行命令
IP Nat INSIDE | OUTSIDE。仅当报文从内部接口转发到外部接口时,才转换其源地址。
3)使用命令 access-list access-list-number permit|deny 定义IP访问控制列表,以明确哪些报文将被进行Nat转换,这里可以标准访问控制列
表或扩展访问控制列表。4)使用命令ip Nat pool pool-name start-ip end-ip netmask netmask定义一个地址池,用于转换地址。5)使用命令
ip Nat insde source list access-list-number pool pool-name将符合访问控制列表条件的内部本地地址转换到地址池中内部全局地址。
配置实例:
Router#conf t
Router(config)#int fa 0/0
Router(config-if)#ip add 10.1.1.10 255.255.255.0
Router(config-if)#ip Nat inside
Router(config-if)#int s 0/0
Router(config-if)#ip add 192.16.2.1 255.255.255.0
Router(config-if)#ip Nat outside
Router(config)#access-list 10 permit 10.1.1.0 0.0.0.255
Router(config)#ip 255.255.255.0
Nat pool 5ijsj 192.16.2.1 192.16.2.254 netmask
Router(config)#ip Nat inside source list 10 pool 5ijsj
注意:地址池定义、访问控制列表和地址池帮定后,想删除地址池、和帮定关系,无法删除。
提醒%Dynamic mapping in use, cannot remove
%Pool 5ijsj in use, cannot destroy
如果想删除,首先必须在特权视图下clear ip Nat translation *, 然后在内接口或外接口视图下no ip Nat inside 或no ip Nat outside;
接着,删除访问控制列表,再去删除帮定关系,最后才能清除地址池。
4,动态NAPT
动态NAPT是动态Nat的一种实现形式,NAPT利用不同的端口号将多个内部IP地址转换为一个外部IP地址,NAPT也称为PAT或端口复用Nat。
配置步骤:
配置步骤:1)在路由器上配置路由选择和IP地址;2)至少指定一个内部接口和一个外部接口。方法是进入接口配置模式下,执行命令
IP Nat INSIDE | OUTSIDE。仅当报文从内部接口转发到外部接口时,才转换其源地址。
3)使用命令 access-list access-list-number permit|deny 定义IP访问控制列表,以明确哪些报文将被进行Nat转换,这里可以标准访问控制列
表或扩展访问控制列表。4)使用命令ip Nat pool pool-name start-ip end-ip netmask netmask定义一个地址池,用于转换地址。5)使用命令
ip Nat insde source list access-list-number pool pool-name overload将符合访问控制列表条件的内部本地地址转换到地址池中内部全局地
址。在配置NAPT转换中,必须使用overload关键字,这样路由器才会将源端口也进行转换,已达到地址超载的目的。如果不指定overload,路由器
将执行动态Nat转换。
配置实例:
Router#conf t
Router(config)#int fa 0/0
Router(config-if)#ip add 10.1.1.10 255.255.255.0
Router(config-if)#ip Nat inside
Router(config-if)#int s 0/0
Router(config-if)#ip add 192.16.2.1 255.255.255.0
Router(config-if)#ip Nat outside
Router(config)#access-list 10 permit 10.1.1.0 0.0.0.255
Router(config)#ip Nat pool 5ijsj 192.16.2.1 192.16.2.1 netmask 255.255.255.0
Router(config)#ip Nat inside source list 10 pool 5ijsj overload
注意:
动态napt,配置的访问控制列表,permit通过的,会在show Ip Nat translations 显示出来,如果是被禁止的,虽然仍可以访问(不是Nat访问,而是路由访问,在真实环境这种情况不可能存在了,如果真的要禁止出去,还的使用ACL啦),但是在show Ip Nat translations 不会显示出来该主机IP。
验证和诊断Nat的转换
show ip Nat translations ,显示活动的转换条目;
show ip Nat statistics 显示转换的统计信息;
debug ip Nat 对转换操作进行调试;
clear ip Nat translation 清除所有的转换条目;
clear ip Nat statistics 清除Nat统计信息。
因篇幅问题不能全部显示,请点此查看更多更全内容