文章目录
NAT(Network Address Translation)的概述
NAT(Network Address Translation)又称之为网络地址转换,用于实现私有网络和公有网络之间的互访。
私有网络地址和公有网络地址
公有网络地址(以下简称公网地址)
是指在互联网上全球唯一的IP地址。2019年11月26日,是人类互联网时代值得纪念的一天,全球近43亿个IPv4地址已正式耗尽。
私有网络地址(以下简称私网地址)
是指内部网络或主机的IP地址,IANA(互联网数字分配机构)规定将下列的IP地址保留用作私网地址,不在Internet,上被分配,可在一个单位或者公司内部使用。RFC1918中规定私有地址如下:
- A类私有地址:10.0.0.0~10.255.255.255(/8)
- B类私有地址:172.16.0.0~172.31.255.255(/16)
- C类私有地址:192.168.0.0~192.168.255.255(/24)
NAT的工作原理:
- NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信
- NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发。
NAT功能:
NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。
- 宽带分享:这是NAT主机的最大功能。
- 安全防护:NAT之内的PC联机到Internet上面时,它所显示的IP是NAT主机的公网IP,所以client端的PC就具有一定程度的安全
了,外界在进行portacan(端口扫描)的时候,就侦测不到源client端的PC。
优点:节省公有合法IP地址、处理地址重叠、增强灵活性、安全性
缺点:延迟增大、配置和维护的复杂性、不支持某些应用(比如VPN)
总结:
数据包从内网到外网时,会转换源IP地址,由私网地址转换成公网地址。
数据包从外网到内网时,会转换目的IP地址,由公网地址转换成私网地址。
地址转换出现的背景
NAT实现方式
- 静态转换(Static Translation)
- 动态转换(Dynamic Translation)
- 端口多路复用(Port Address Translation,PAT)
NAT包含4类地址
NAT的转换条目
- 简单转换条目
- 扩展转换条目
静态NAT
静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。
内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址:外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。
有两种配置方法:
第一种:
全局模式下设置静态NAT
[R1]nạt static global 8.8.8.8 inside 192.168.10.10
[R1]int g0/0/1 外网口
[R1-GigabitEthernet0/0/1]nat static enable 在网口上启动 nat static enable 功能
第二种:直接在接口上声明nat static
[R1]int g0/0/1 外网口
[R1-GigabitEthernet0/0/1]nat static global 8.8.8.8 inside 192.168.10.10
[R1]dis nat static 查看NAT静态配置信息
动态NAT:
多个私网IP地址对应多个公网IP地址,基于地址池一对一映射
- 配置外部网口和内部网口的IP地址
- 定义合法IP地址池
[R1]nat address-group 1 212.0.0.100212.0.0.200 新建一个名为1的nat地址池 - 定义访问控制列表
[R1]acl 2000
创建ACL,允许源地址为192.168.20.0/24网段和11.0.0.0/24的数据通过
[R1-acl-basic-2000] rule permit source 192.168.20.0 0.0.0.255
[R1-acl -basic-2000]rule permit source 11.0.0.0 0.0.0.255 - 在外网口,上设置动态IP地址转换
[R1-acl-basic-2000]int g0/0/1 外网口
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat 将ACL
2000匹配的数据转换为改接口的IP地址作为源地址(no pat 不做端口转换,只做IP地址转换,默认为pat)
[R1]dis nat outbound 查看NAT Outbound的信息。
inbound是端口入方向
outboundshi是端口出方向
ACL的子网掩码是反掩码(如图,192.168.20.0.0.0.255=192.168.20.0.255.255.255.0)
ACL:access list访问控制列表
ACL两种作用:
- 用来对数据包做访问控制(丢弃或者放行)
- 结合其他协议,用来匹配范围
acl工作原理:当数据包从接口经过时,由于接口启用了acl,此时路由器会对报文进行检查,然后做出相应的处理。
acl种类:
- 基本acl(2000-2999):只能匹配源ip地址。
- 高级acl(3000-3999):可以匹配源ip、目标ip、源端口、目标端口等三层和四层的字段和协议。
- 二层ACL(4000-4999):根据数据包的源MAC地址、目的MAC地址、802.1q优先级、二层协议类型等二层信息制定规则。
ACL(访问控制列表)的应用原则:
基本ACL,尽量用在靠近目的点
高级ACL,尽量用在靠近源的地方(可以保护带宽和其他资源)
应用规则
1、一个接口的同一个方向,只能调用一个acl
2、一个acl里面可以有多个rule规则,按照规则ID从小到大排序,从上往下依次执行
3、数据包一旦被某rule匹配,就不再继续向下匹配
4、用来做数据包访问控制时,默认隐含放过所有(华为设备)