文章目录
一、NAT
1、NAT概述
NAT(Network Address Translation)又称为网络地址转换,用于实现私有网络和公有网络之间的互访。
2、私有地址
- A类私有地址:10.0.0.0~10.255.255.255 /8 /14是A类
- B类私有地址:172.16.0.0~172.31.255.255 /16 /23是B类
- C类私有地址:192.168.0.0~192.168.255.255 /24 /24以上都是C类
3、NAT工作原理
NAT是通过公网转私网(走专线从公网IP转私网IP)
工作原理:
NAT用来将内网地址与端口号转为合理的公网地址和端口号,建立一个会话与公网进行通信(一个公网地址对应多个私网地址)
特点:
NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据转发(外部的主机无法与内部主机通信,内部主机必须与公网建立通信后,通过映射来进行数据的传输)
数据有来也有回
数据包是从内网–>外网(会转换源IP地址,由私网地址转换成公网地址)
数据包是从外网–>内网(会转换目的IP地址,由公网地址转换成内网地址)
4、NAT功能
NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。
- 宽带分享:这是NAT主机的最大功能。
- 安全防护:NAT之内的pc联机到Internet.上面时,他所显示的IP是NAT主机的公网Ip,所以client端的PC就具有一定程度的安全了,外界在进行portscan(端口扫描)的时候,就侦测不到源client端的PC。
优点:节省公有合法TP地址、外理地址重卷、增强灵活性、安全性
缺点:延迟增大、配置和维护的复杂性、不支持某些应用(比如VPN),所以应用走公网的话会加大延迟
5、NAT包含4类地址
例如:PC:192.168.1.2 服务器:203.51.23.55
- PC访问服务器的包 源IP=192.168.1.2(内部局部地址) 目的IP=203.21.23.55(外部局部地址)
- 经过路由器后的包 源IP=125.25.65.3(内部局部地址) 目的IP=203.51.23.55(外部局部地址)
- 服务器返回PC的包 源IP=203.51.23.55 目的IP=125.25.65.3
- 经过路由器后的包 源IP=203.51.23.55 目的IP=192.168.1.2
6、NAT的实现方式
二、静态转换(Static Translation)
静态NAT:
- 静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。
- 静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。
- 内部网络向外部网络发送报文时,静态将报文的源地址替换为对应的公网地址。
- 外部网络向内部网络发送响应报文时,静态 AT将报文的目的地址替换为相应的私网地址。
有2种配置方法:
第一种:全局模式下设置静态NAT
[R1]nat static global 8.8.8.8 inside 192.168.10.10
[R1linta0/0/1###外网口
[R1-GigabitEthernet0/0/1]nat staticenable ###在网口上启动nat static enable功能
第二种:直接在接口上声明nat static
[R1]intg0/0/1###外网口
[R1-GigabitEthernet0/0/1]nat static global 8.8.8.8 inside 192.168.10.10
[R1]dis nat static ###查看NAT静态配置信息
三、动态转换(Dynamic Translation)
1、动态NAT
动态NAT:多个私网IP地址对应多个公网IP地址,基于地址池一对一映射
1、配置外部网口和内部网口的IP地址
2、定义合法IP地址池
[R1]nat address-group1 212.0.0.100 212.0.0.200 ###新建一个名为1的nat地址池 ,范围是212.0.0.100到212.0.0.200
3、定义访问控制列表[R1]acl 2000
###创建ACL,允许源地址为192168.20.0/24网段和11.0.0.0/24的数据通过
[R1-acl-basic-20001]rule permit source 192.168.20.00.0.0.255 允许源IP为192.168.20.0的数据通过(把permit换成deny则是拒绝)
[R1-acl-basic-2000]rule permit source 11.0.0.0.0.0.0.255
4、在外网口,上设置动态IP地址转换
[R1-acl-basic-2000]intg0/0/1###外网口
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group1no-pat #将ACL2000匹配的数据转换为改接口的IP地址作为源地址(no pat不做端口转换,只做IP地址转换,默认为pat)
[R1]dis nat outbound ###查看NATOutbound的信息
解析:
permit:允许
deny:拒绝
no-pat:只做地址转换,不做端口转换
acl 2000:允许通过的私网地址(2000代表IP段)
rule permit source + 私网地址 + 反掩码
nat outbound 2000 address-proup 1 no-pat #将ACL2000匹配的数据转换为改接口的IP地址(源地址)
inbound:端口的入方向
outbound:端口的出方向
2、ACL(access list)访问控制列表
创建ACL。允许源地址网段和反掩码(/24的反掩码:0.0.0.255)通过
(1)ACL两种作用
- 用来对数据包做访问控制(丢弃或者放行)
- 结合其他协议,用来匹配范韦
(2)ACL工作原理
当数据包从接口经过时,由于接口启用了acl,此时路由器会对报文进行检查,然后做出相应的处理。
(3)ACL种类
基本acl(2000-2999):只能匹配源ip地址。
高级acl(3000-3999):可以匹配源ip、目标ip、源端口、目标端口等三层和四层的字段和协议。
二层ACL(4000-4999):根据数据包的源AC地址、目的MAc地址、802.1q优先级、二层协议类型等二层信息制定规则。
(4)ACL的应用原则:
基本ACL,尽量用在靠近目的点
高级ACL,尽量用在靠近源的地方(可以保护带宽和其他资源)
四、端口多路复用(PortAddress Translation,PAT)
1、PAT作用
- 改变数据包的ip地址和端口号
- 能够大量节约公网IP地址
2、PAT类型
动态PAT:包括NAPT和EasyIP
静态PAT:包括NAT Server
3、NAPT配置命令
NAPT:多个私网p地址:对应定外网IP地址(比如200.1.1.10),配置方法与动态NAT类似
- 配置外部网口和内部网口的IP地址
- 定义合法IP地址池
[R1]nat address-group 1 200.1.1.10 200.1.1.10 ###使用一个固定IP
定义访问控制列表
[R1]acl2000###允许源地址为192168300/24网段的数据通过
[R1-acl-adv-2000]rule permit source 192.168.30.0 0.0.0.255
在外网口上设置IP地址转换
[R1-acl-basic-2000linta0/0/1 ###外网口.
[Rl-GigabitEthernet0/0/1]nat outbound 2000 address-aroup 1
4、Easy IP配置命令
Easy Ip:多个私网IP地址对应路由器外网接口公网IP地址(比如12.0.0.1)
配置外部网口和内部网口的IP地址
- 定义合法IP地址池
- 由于直接实验外网口IP地址所以不用再定义IP地址池
定义访问控制列表
[R1]acl 3000 ###允许源地址为192168300/24网段的数据通过
[R1-acl-adv-3000]rule permit ip source 192.168.30.0 0.0.0.255
在外网口,上设置IP地址转换
[R1]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1]nat outbound 3000
##当ac13000匹配的源IP数据到达此接口时,转换为该接口的IP地址做为源地址
[R1]display nat session all ##查看NAT的流表信息
5、NAT Server配置命令
NAT server:端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问
[R1]int a0/0/1
[R1-GigabitEthernet0/0/11nat server protocol tcp global 9.9.9.9 www inside 192.168.10.100 WWW###在连接公网的接口上将私网服务器地址和公网地址做一对NAT映射绑定
[R1-Giaabi LEthernet0/0/1nat server protocol tep global current-interface 8080 inside 10.1.1.1 www##在连接公网的接口,上将私网服务器地址和外网接口做一对NAT映射绑定
[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp###端口为21可以直接使用关键字"ftp"代替