- 积分
- 812
- 鸿鹄币
- 个
- 好评度
- 点
- 精华
- 注册时间
- 2012-2-25
- 最后登录
- 1970-1-1
- 阅读权限
- 40
- 听众
- 收听
中级工程师
|
NAT术语
1)inside local
2)inside global
3)outside local
4)outside global
1)inside local
内网一台PC所发送的报文的源IP地址(没有被转换的源私有地址)
2)inside global
把PC发送的“源私有IP地址” 转换成 “公有地址”(转换后的IP地址称为“inside global”)
3)outside local
目的IP地址“到达边缘路由器之前”的IP地址
4)outside global
报文穿越边界路由器 “发往外网的时候”,报文所携带的 “目的IP地址”
静态NAT
将inside local & inside global 地址进行“一对一”转换,一个私网地址转换一个公网地址;
静态NAT主要用于内部网络中需要对外提供服务的Server,这种内外网IP地址的匹配的缺点是“需要独占Internet IP地址资源”
相关配置命令:
ip nat inside source static local-ip global-ip / 在 inside local 和 inside global 地址之间建立静态NAT转换
ip nat inside / 在接口下设置inside方向的地址转换,先路由后地址转换
ip nat outside / 出接口下设置outside方向的地址转换,先转换后路由
动态NAT
动态NAT,也是将inside local和inside global地址之间进行转换,与静态NAT不同的是:
动态NAT建立inside global地址池,动态地分配地址给inside local地址进行转换;当数据传输完毕后,路由器将释放inside global地址,以供其他设备使用。
相关配置命令:
ip nat pool name start-ip end-ip netmask / 设置NAT地址池
access-list ACL-Number permit source-addresses anti-mask / 设置感兴趣的“地址转换”IP地址段 例如:access-list 1 permit 172.16.1.0 0.0.0.255
PS:这个定义的ACL不是用于数据过滤,它是用于“指定参与NAT转换”的私有地址范围,用于匹配感兴趣流量
ip nat inside source list ACL-number pool name / ACL中允许进行地址转换的inside local地址段
ip nat inside
ip nat outside
PS:仅当PC发送一个报文出去的时候,路由器生成 “NAT转换表项”;
外网传送来的报文,路由器基于NAT表项实现地址转换。如何查询NAT地址表项?—— show ip nat translations
PAT(端口地址转换) / 端口复用
运行“端口地址转换”的路由器将通过“记录地址、应用程序端口等内网唯一标记”标识一个地址转换;
PAT使多个内部地址同时与同一个内部全局地址进行转换;
理想情况下,一个“inside global地址” 可使用的端口数为“4000个”,所以PAT也是目前情况下多数情况下使用的方案
PS:
ICMP 没有“源目端口号”,但PAT能够提供ICMP流量转换(在icmp报文中田间一个类似端口号的值);除了ICMP之外,所有其他无法定义源目端口的流量将无法支持PAT。
基于端口的PAT,内网PC永远无法被ping通,原因在于内网所有的私有地址转换成路由器连接公网的接口IP地址,该接口在接收到一个去往这个接口的报文时,路由器会优先自己去处理
相关配置命令:
access-list ACL-number permit source source-ip addresses anti-mask
ip nat inside source list ACL-number interface fast 0/0 overload / 将“符合兴趣的数据流量中的local local地址”进行端口地址转换
ip nat inside
ip nat outside
关于NAT的其他命令:
show ip nat translations
clear ip nat translation ****
|
|