地址转换出现的背景IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)向超大型企业/组织分配A类网络地址,一次一段。向中型企业或教育机构分配B
.
地址转换出现的背景
IANA
(The Internet Assigned Numbers Authority
,互联网数字分配机构)向超大型企业/组织分配A
类网络地址,一次一段。向中型企业或教育机构分配B
类网络地址,一次一段。这样一种分配策略使得IP
地址浪费很严重,很多被分配出去的地址没有真实被利用,地址消耗很快。以至于二十世纪90
年代初,网络专家们意识到,这样大手大脚下去,IPv4
地址很快就要耗光了。于是,人们开始考虑IPv4
的替代方案,同时采取一系列的措施来减缓IPv4
地址的消耗。正是在这样一个背景之下,本期的主角闪亮登场,它就是网络地址转换——NAT
。
NAT的工作原理
NAT
(Network Address Translation
,网络地址转换),就是替换IP
报文头部的地址信息。NAT
通常部署在一个组织的网络出口位置,通过将内部网络IP地址替换为出口的IP
地址提供公网可达性和上层协议的连接能力。
NAT实现方式
- 静态转换(
Static Translation
) - 动态转换(
Dynamic Translation
) - 端口多路复用(
Port Address Translation, PAT
)
NAT的术语与转换表
NAT包含的4类地址
- 内部局部地址(源IP:192.168.1.3)
- 外部局部地址(目的IP:202.120.10.2)
- 内部全局地址(源IP:202.169.10.1)
- 外部全局地址(目的IP:202.120.10.2)
NAT的转换条目
- 简单转换条目
- 扩展转换条目
NAT实现方法的工作过程
- 静态转换和动态转换
- PAT
NAT的特性
NAT的优点
- 节省公有合法IP地址
- 处理地址重叠
- 增强灵活性
- 安全性
NAT的缺点
- 延迟增大
- 配置和维护的复杂性
- 不支持某些应用,可以通过静态NAT映射来避免
NAT配置步骤
- 接口IP地址配置
- 使用访问控制列表定义哪些内部主机能做NAT
- 决定采用什么共有地址,静态或地址池
Router(config)#ip nat pool pool-name star-ip end-ip {netmask netmask | prefix-length prefix-length} [type rotary]
- 指定地址转换映射
Router(config)#ip nat inside source static local-ip [extendable]Router(config)#ip nat inside source list access-list-number pool pool-name [overload]
- 在内部和外部端口上启用NAT
静态NAT配置
- 将内网地址192.168.100.2、192.168. 100.3静态转换为合法的外部地址61.159.62.131、61.159.62.132,以便访问外部网络或被外部网络访问
- 设置外部端口的IP地址:
Router(config)#interface FastEthernet 0/0Router(config-if)#ip address 61.159.62.130 255.255.255.248Router(config-if)#no shut
- 设置内部端口的IP地址:
Router(config)#interface FastEthernet 1/0Router(config-if)#ip address 192.168.100.1 255.255.255.0Router(config-if)#no shut
- 建立静态地址转换:
Router(config)#ip nat inside source static 192.168.100.2 61.159.62.130Router(config)#ip nat inside source static 192.168.100.3 61.159.62.131
- 在内部和外部端口上启用NAT:
Router(config )#interface FastEthernet 0/0Router(config-if)#ip nat outsideRouter(config)#interface FastEthernet 1/0Router(config-if)#ip nat inside
- 配置默认路由:
Router(config)#ip route 0.0.0.0 0.0.0.0 61.159.62.129
NAT端口映射
- 建立NAT端口映射关系
Router(config)#ip nat inside source static protocol local-ip UDP/TCP-port global-ip UDP/TCP-port [extendable]
- 配置实例
Router(config)#ip nat inside source static tcp 192.168.100.2 80 61.159.62.131 8080 extendable
动态NAT配置
- 将内部地址192.168.100.2~192.168.100.254转换为合法地址61.1 59.62.131~61.159.62.190,以便访问Internet
- 设置外部端口的IP地址:
Router(config)#interface FastEthernet 0/0Router(config-if)#ip address 61.159.62.130 255.255.255.192 Router(config-if)#no shut
- 设置内部端口的IP地址:
Router(config)#interface FastEthernet 1/0Router(config-if)#ip address 192.168.100.1 255.255.255.0Router(config-if)#no shut
- 定义访问控制列表
Router(config)#access-list 1 permit 192.168.100.0 0.0.0.255 //此处子网掩码反写
- 定义合法IP地址池
Router(config)#ip nat poo[test061.159.62.131 61.159.62.190 netmask 255.255.255.192 //正常书写掩码
- 实现网络地址转换
Router(config)#ip nat inside source list 1 pool test0
- 在内部和外部端口上启用NAT,以及配置默认路由
- 与静态NAT配置相同
PAT配置
- 将内部网络地址10.1.1.1~10.1.1.254转换为合法的地址61.159.62.131/29,以便访问Internet
- 设置外部端口的IP地址:
Router(config)#interface FastEthernet 0/0Router(config-if)#ip address 61.159.62.130 255.255.255.192Router(config-if)#no shu
- 设置内部端口的IP地址:
Router(config)#interface FastEthernet 1/0Router(config-if)#ip address 10.1.1.1 255.255.255.0Router(config-if)#no shu
- 定义访问控制列表:
Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255
- 定义合法IP地址池:
Router(config)#ip nat pool onlyone 61.159.62.131 61.159.62.131 netmask 255.255.255.248
- 实现网络地址转换:
Router(config )#ip nat inside source list 1 pool onlyone overload //进行端口复用
- 在内部和外部端口.上启用NAT,以及配置默认路由
- 与静态NAT配置相同
复用路由器外部接口地址
- 定义内部访问列表
Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255
定义合法的IP地址池
- 由于直接使用外部接口地址,所以不再定义IP地址池
- 设置复用动态IP地址转换
Router(config)#ip nat inside source list 1 interface FastEthernet 0/0 overload
- 在内部和外部端口.上启用NAT,以及配置默认路由
- 与静态NAT配置相同