目录
一、 NAT是什么
NAT(Network Address Translation) 又称为网络地址转换,用于实现私有网络和公有网络之间的互访。
二、为什么使用NAT
IPv4的公网地址已经用完了,为了解决公网IP不足的问题,用私网地址转到公网的过程就需要使用NAT。(企业内网要与internet互通,必须拥有公有IP地址)
三、NAT作用 工作原理
- NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信
- NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发
内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址
外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。
四、NAT功能
NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。
1.宽带分享:这是NAT主机的最大功能。
2.安全防护:NAT之内的PC联机到Internet.上面时,他所显示的IP是NAT主机的公网IP,所以client端的PC就具有一定程度的安全了(提高安全性),外界在进行portscan (端口扫描)的时候,就侦测不到源client端的PC。
优点:节省公有合法IP地址、处理地址重叠、增强灵活性、安全性
缺点:延迟增大、配置和维护的复杂性、不支持某些应用( 比如VPN)
五、NAT类型
5.1、静态和动态NAT
5.1.1、静态NAT和配置
静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网IP。(静态NAT不能解决浪费IP的问题,1对1,但是可以起到隐藏内网的作用)
内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址:外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。
sys
undo info-center enable
sysname AR1
int g0/0/0
ip add 192.168.1.1 24
int g0/0/1
ip add 13.0.0.1 24
//全局模式下设置静态NAT
q
nat static global 20.0.0.1 inside 192.168.1.10
//查看
dis nat static
int g0/0/1 //外网口
//在网口上启动nat static enable功能
nat static enable
5.1.2、动态NAT
动态NAT是多个私IP地址对应多个公网IP地址,基于地址池一对一映射。
定义合法IP地址池
定义访问控制列表
在外网口,上设置动态IP地址转换
将ACL2000匹配的数据转换为改接口的IP地址作为源地址(no pat 不做端口转换,只做IP地址转换,默认为pat)
查看NAT Outbound的信息
dis nat outbound
sys
undo info-center enable
sysname AR1
int g0/0/0
ip add 192.168.1.1 24
int g0/0/1
ip add 13.0.0.1 24
//定义合法IP地址池
nat address-group 1 20.0.0.100 20.0.0.200
//定义访问控制列表
acl 2000
rule permit source 192.168.1.0 0.0.0.255
//在外网口,上设置动态IP地址转换
//将ACL2000匹配的数据转换为改接口的IP地址作为源地址(no pat 不做端口转换,只做IP地址转换,默认为pat)
int g0/0/1
nat outbound 2000 address-group 1 no-pat
//查看NAT Outbound的信息
dis nat outbound
5.2、PAT
无论是静态NAT还是动态NAT都无法节约公网IP因为是一一对应的。
PAT又称为NAPT (Network Address Port Translation),它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。
PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。
所以我们又称PAT端口多路复用。
5.2.1、PAT有以下作用
1.改变数据包的ip地址和端口号
2.能够大量节约公网IP地址。
5.2.2、PAT的类型
- 动态PAT,包括NAPT和Easy IP
- 静态PAT,包括NAT Server
5.2.2.1、NAPT实验
多个私网Ip地址:对应固定外网IP地址(比如200.1.1.10),配置方法与动态NAT类似
sys
undo info-center enable
sysname AR2
//定义合法IP地址池
//使用一个固定IP
nat address-group 1 200.1.1.10 200.1.1.10
//定义访问控制列表
acl 2000
rule permit source 192.168.1.0 0.0.0.255
##也可以都放行rule permit source any
//在外网口上设置IP地址转换
//把列表和池子放入
int g0/0/1
nat outbound 2000 address-group 1
//路由接口地址基本配置
int g0/0/0
ip add 192.168.1.1 24
int g0/0/1
ip add 13.0.0.30 24
5.2.2.2、Easy IP实验
多个私网IP地址对应路由器外网接口公网IP地址(比如13.0.0.1)
相比较NAPT就是少配置一个固定外网IP地址
配置外部网口和内部网口的IP地址
定义合法IP地址池
由于直接实验外网口IP地址所以不用再定义IP地址池
1、定义访问控制列表
acl 3000
//允许源地址为192.168.1.0/24网段的数据通过
rule permit ip source 192.168.1.0 0.0.0.255
2、在外网口,上设置IP地址转换
// 外网口
int g0/0/1
//当acl3000匹配的源IP数据到达此接口时,转换为该接口的IP地址:做为源地址
nat outbound 3000
5.2.2.3、NAT Server实验
端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问
//当有流量到达路由(企业是用防火墙)的外部接口的8080端口时,该流量应被转发到内部网络上的192.168.1.10的80端口。
int g0/0/0
nat server protocol tcp global current-interface 8080 inside 192.168.1.10 80
//在连接公网的接口上将 私网服务器地址和公网服务器址做一对NAT映射绑定
//current-interface可以换成具体的
六、ACL简单概述
ACL,全称Access Control List(访问控制列表),是一种基于包过滤的访问控制技术。它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。ACL广泛应用于路由器和三层交换机,以及其他网络设备、操作系统、文件系统和各种应用程序中,以限制对网络资源、文件、对象等的访问。
类似于滤网。
- ACL是一种由一系列permit(允许)和deny(拒绝)语句组成的规则列表,这些规则组成了一个滤网的功能,通过permit/deny的动作,来决定是抓取还是不抓取。
rule 5 permit source 192.168.1.0 0.0.0.255
rule 10 deny source 192.168.2.0 0.0.0.255
5,10,15是规则编号,不可重复
后面紧跟的0.0.0.255是通配符掩码