NAT的概念相关
1、概念
NAT:网络地址转换
- 实现将内网私有IP地址转换为公网IP地址
- 解决公网IP地址数目不足的问题
- 可保护内网IP地址的私密性,起到一定的安全性
- 还可实现企业内多个私有IP网段重叠问题
2、NAT分类
- 静态NAT:唯一的私有IP------映射------唯一的公网IP(映射关系确定,永久保存)
- 动态NAT:多个私有IP------映射------多个公网IP(映射关系不确定,向外访问时建立映射关系)
- 端口复用:局域网中多个或全部私有IP------映射------1个公网IP(映射关系不确定,向外访问时建立映射关系)
私有IP地址:
A类:10.0.0.0--10.255.255.255
B类:172.16.0.0--172.31.255.255
C类:192.168.0.0--192.168.255.255
169.254.0.0--169.254.255.255(主机从DHCP服务器获取IP地址失败、或IP地址发生冲突后自动生成)
3、NAT配置命令
- 静态NAT:
• R3(config)#ip nat inside source static 内部私有IP地址 公网地址
- 动态NAT:
1)建立允许内网IP网段进行NAT转换的ACL:
R3(config)#access-list 标准ACL编号 permit 内网IP网段 通配符掩码
2)建立公网IP地址池:
R3(config)#ip nat pool 地址池名称 起始公网地址 结束公网地址 netmask 子网掩码
3)建立动态NAT:
R3(config)#ip nat inside source list ACL编号 pool 公网地址池名称
- 端口复用:
1)建立允许内网IP网段进行NAT转换的ACL:
R3(config)#access-list 标准ACL编号 permit 内网IP网段 通配符掩码
2)建立端口复用NAT:
R3(config)#ip nat inside source list ACL编号 interface 外网接口 overload
注意:内部、外部端口定义:
R3(config)#interface 内网接口
R3(config-if)#ip nat inside
R3(config)#interface 外网接口
R3(config-if)#ip nat outside
4、优缺点
- NAT的优点
- 节省公有合法IP地址
- 处理地址重叠
- 增强灵活性
- 安全性
- NAT的缺点
- 延迟增大
- 配置和维护的复杂性
- 不支持某些应用可以通过静态NAT映射来避免
5、Cisco路由器配置中NAT的主要命令:
静态NAT:
1、指定NAT内部接口
在内网相应接口的接口配置模式下执行:ip nat inside
2、指定NAT外部接口
在外网相应接口的接口配置模式下执行:ip nat outside
3、在内部本地地址与内部全局地址之间建立静态地址转换关系:
ip nat inside source static 内部本地地址 内部全局地址
4、在外部全局地址与外部本地地址之间建立静态地址转换关系:
ip nat outside source static 外部全局地址 外部本地地址
5、 检查与排错
show ip nat translations:显示当前存在的NAT转换信息。
show ip nat statics:查看NAT的统计信息。
show ip nat translations verbose:显示当前存在的NAT转换的详细信息。
debug ip nat:跟踪NAT操作,显示出每个被转换的数据包。
Clear ip nat translations *:删除NAT映射表中的所有内容.
动态地址NAT:
1、指定NAT内部接口
在内网相应接口的接口配置模式下执行:ip nat inside
2、指定NAT外部接口
在外网相应接口的接口配置模式下执行:ip nat outside
3、在全局配置模式下,定义一个标准的access-list规则,声明允许哪些内部本地地址可以进行动态地址转换:
access-list list-number permit 源地址通配符
其中,list-number为1-99之间的一个任意整数。
4、在全局配置模式下,定义内部全局地址池:
ip nat pool 地址池名 起始IP地址 终止IP地址 netmask 子网掩码 其中,地址池名可以任意设定,但最好有一定的说明意义。
5、在全局配置模式下,定义符合先前定义的access-list规则的IP数据包与先前定义的地址池中的IP地址进行转换:
ip nat inside source list list-number pool 内部全局地址池名
6、删除命令
no ip nat pool name 删除全局地址池
no access-list access-list-number 删除访问列表
no ip nat inside source 删除动态源地址转换
网络地址端口转换NAPT:
1、指定NAT内部接口
在内网相应接口的接口配置模式下执行:ip nat inside
2、指定NAT外部接口
在外网相应接口的接口配置模式下执行:ip nat outside
3、在全局配置模式下,定义内部全局地址池:
ip nat pool 地址池名 起始IP地址 终止IP地址 netmask 子网掩码
其中,地址池名可以任意设定,但最好有一定的说明意义。
4、在全局配置模式下,定义一个标准的access-list规则,声明允许哪些内部本地地址可以进行复用地址转换:
access-list list-number permit 源地址 通配符
其中,list-number为1-99之间的一个任意整数。
5、在全局配置模式下,定义符合先前定义的access-list规则的IP数据包与先前定义的地址池中的IP地址进行复用地址转换:
ip nat inside source list list-number pool 内部全局地址池名 overload
静态PAT
R1(config)#ip nat inside source static {UDP|TCP} local-address port global-address port
注:
内部本地地址、内部全局地址、外部本地地址、外部全局地址
ip nat inside/outside针对的是不同方向的流量/数据包。
ip nat inside是指从内网发送的数据包,提取包头的源IP地址,转换为外网地址;
ip nat outside是指从外网返回的数据包,提取包头的目的ip地址,转换为内网地址。
inside/outside不是用来区分NAT路由器的内外部接口,而是用来区分需要NAT地址转换的不同方向的流量。
inside指内部网络;
outside指内部网络需要连接的网络,一般指互联网。
来张图: