NAT地址转换
NAT (Network Address Translation) 又称为网络地址转换,用于实现私有网络和公有网络之间的互访
工作原理
NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信
NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发
NAT的工作原理:NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信OABT外部的主机无法主动跟位于MT内部的主机通信,MAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发
NAT功能:NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。1.宽带分享:这是NAT主机的最大功能。2.安全防护:NAT之内的PC联机到Internet上面时,他所显示的IP是NAT主机的公网IP,所以Client端的PC就具有一定程度的安全了,外界在进行portscan (端口扫描)的时候,就侦测不到源Client端的PC。
优点:节省公有合法IP地址、处理地址重叠、增强灵活性、安全性
缺点:延迟增大、配置和维护的复杂性、不支持某些应用 (比如VPN)
数据包从内网发往外网时,NAT会将包源IP由私网地址转换成公网地址。当响应的数据包要从外网发到内网时,NAT会将包目的IP由公网IP转换成私网IP
静态NAT
静态NAT实现私网地址和公网地址的一对一转换,有多少个私网地址就要多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。
内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址,外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。
第一种:全局模式下设置静态NAT
[R1] nat static global 8.8.8.8inside192.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
检查一下
先ping -t一直ping用抓包工具抓包
公网内
私网内
动态NAT
定义合法IP地址池
新建一个名为1的nat地址池
[Rl]nat address-group 1 212.0.0.100 212.0.0.200
定义访间控制制列表
[R1]ac1 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
4、在外网口上设置动态IP地址转换
[R1-acl-basic-2000] int a0/0/1-------外网口
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat------将ACL 2000匹配的数据转换为改接口的IP地址作为源地址 (no pat不做端口转换,只做IP地址转换,默认为pat)
[RIldis nat outbound--------查看NAT Outbound的信息
检查下
PAT
PAT端口多路复用
PAT又称为NAPT (Network Address PortTranslation),它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。
PAT有以下作用:1.改变数据包的Ip地址和端口号:2.能够大量节约公网IP地址。
PAT的类型有以下:1.动态PAT,包括NAPT和Easy IP;2.静态PAT,包括NAT Server。
NAPT:多个私网IP地址对应固定外网IP地址(比如200.1.1.10),配置方法与动态NAT类似
1、配置外部网口和内部网口的IP地址
2、定义合法IP地址池[R1]nat address-group 1 200.1.1.10 200.1.1.10---------使用一个固定IP
3、定义访问控制列表
[R1lac1 2000---------------允许源地址为192.168.30.0/24网段的数据通过
[R1-acl-adv-2000]rule permit source 192.168.30.0 0.0.0.255
4、在外网口上设置IP地址转换
[R1-acl-basic-2000] int g0/0/1---------外网口
[R1-GigabitEthernet0/0/1] nat outbound 2000 address-group 1
检查用pc1一直ping server1,然后再AR1输入dis nat session all稍等系统响应一会得到下图
可得编号一直在变动,所用外网IP一直没变
EasyIp:多个私网IP地址对应路由器外网接口的公网IP地址 (比如12.0.0.1)
1、配置外部网口和内部网口的IP地址
2、定义合法IP地址池由于直接对应路由器外网口IP地址所以不用再定义IP地址池
3、定义访问控制列表
[R1] ac1 3000
[R1-acl-adv-3000] rule permit ip source 192.168.30.0 0.0.0.255-----允许源地址为192.168.30.0/24网段的数据通过
4、在外网口上设置IP地址转换
[Rl] int g0/0/1------外网口
[R1-GigabitEthernet0/0/1] nat outbound 3000
###当ac13000匹配的源IP数据到达此接口时,转换为该接口的IP地址做为源地址
[R1] display nat session all ##查看NAT的流表信息
easyip和napt操作步骤类似,少了个建立组的过程,因为直接用路由器的外网IP所以不用
小结
静态NAT:私网IP和公网IP是一对一的关系,并且需要一对一绑定
动态NAT:私网IP和公网IP是一对一的关系,需要定义公网IP地址池,私网转换时会轮询地址池里的每个IP地址
NAPT:私网IP和公网IP是多对一的关系,公网IP地址池中只定义一个公网IP,私网IP只对应一个自定义的公网IP
Easy_IP:私网I和公网IP是多对一的关系,直接使用路由器外网接口的IP,私网IP只对应路由器外网接口的公网IP
NAT Server
实现外网客户端通过公网IP访问,路由器通过NAT把报文的目的地址转换成私网IP,然后根据路由表转发位于私网的服务器
NAT Server: 端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问
[Rl]int g0/0/1
[RI-GigabitEthernet0/0/1]nat server protocol tcp global 9.9.9.9 www inside 192.168.10.100 www--------------在连接公网的接口上将私网服务器地址和公网地址做一对NAT映射绑定(将外网地址9.9.9.9端口80作为内网地址192.168.10.100端口号80的NAT映射绑定)
[R1-GigabitEthernet0/0/1lnat server protocol tcp global current-interface 8080 inside 10.1.1.1 www------------------在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定(将路由器的外网地址端口号8080作为内网地址10.1.1.1端口号80的NAT映射绑定)
[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp
--------------------端口为21可以直接使用关键字”ftp"代替
建立如下新的实验环境
以路由器的外网地址端口8888作为内网地址192.168.1.3端口80(server1)的NAT映射绑定
输入命令
检查用Client1检测