目录
NAT产生背景
- 为了节省IP地址和费用,一般企业内部都是使用私有IP地址
- Internet网路的组成设备,使用的都是公有IP地址
- 企业内网要与internet互通,必须拥有公有IP地址
- 企业内网中的设备,无法使用私有地址与internet互通
分析:
- 在企业网络的边缘设备(路由器)上,配置默认路由,企业内网可以将数据发送到Internet
- 由于Internet设备上没有私有IP地址的路由条目,所以数据无法返回到企业内网
- 在企业网络的边缘设备(路由器)上,使用NAT技术,实现私有地址和公有地址互相转换
NAT概述
NAT(Network Address Translation),网络地址转换
- 主要应用在企业网络的边缘设备上
- 对数据包的私有IP地址和公有IP地址进行转换,实现内网到外网的访问
- 实现企业内网的保护,增强企业内网的安全性。因为外网无法直接访问内部设备的私有IP地址
NAT工作原理
路由器对数据包进行地址转换,路由器在接收到内部数据包时将内部源IP地址转化为公有IP地址后在进行路由转发。
NAT核心工作表:NAT转换表
NAT类型
静态NAT
- NAT表条目是通过手动配置的方式添加进去的
- 私有IP地址和公有IP地址是 1对1 的关系,不节省公网IP地址
动态NAT
- NAT表中的条目是 路由器出炉数据包 时自动形成的
- 基于NAT地址池 实现私有地址和公有地址之间的转换,比静态NAT更加节省公网IP
静态NAT配置
如图配置拓扑图,当企业内网想访问外部网络的服务时,在边界路由器上配置默认路由可以将数据包发送出去,但是由于公网的路由器上没有到私网的路由,故造成数据包有去无回导致无法通行
静态NAT配置
[AR1]ip route-static 0.0.0.0 0 100.1.1.2 配置默认路由去往公网 [AR1]interface gi0/0/1 [AR1-GigabitEthernet0/0/1]nat static global 100.1.1.3 inside 192.168.10.1 [AR1-GigabitEthernet0/0/1]quit
静态NAT可以实现内网的PC1与外网的设备的互通,但是内网的其它设备无法与外网的设备互通
静态NAT存在的弊端:
- 静态NAT中私有地址和公有地址是1:1的关系,并不节省公网IP地址
- 内网主机非常多的时候,不节省配置,并且浪费钱
在企业内网主机比较多的时候,不采用静态NAT,而是采用动态NAT
动态NAT
公司内部私有地址主机数量非常多的时候,如果才有静态NAT为每个私有IP地址,就会浪费公网IP地址
在动态NAT中,企业可以同时购买多个公网IP地址,然后将这些公网IP地址,轮着给企业内网的每个主机使用
第一步:撤销静态nat的配置
[AR1-GigabitEthernet0/0/1]undo nat static global 100.1.1.3 inside 192.168.10.1 n etmask 255.255.255.255
- 创建ACL,匹配内网需要上网的私有主机地址
[AR1]acl 2000 [AR1-acl-basic-2000]rule 10 permit source 192.168.10.0 0.0.0.255 [AR1-acl-basic-2000]quit
- 创建NAT地址池,专门用于地址转换的公网地址,
[R1]nat address-group 1 100.1.1.50 100.1.1.60
- 在边界设备的公网端口,配置动态NAT命名
- 通过NAT命令,将匹配稀有地址的ACL和用于地址转换的公网地址结合起来
- 在g0/0/1端口发送数据流量时
- 对源头地址属于192.168.10.0/24的数据包(ACL 2000)进行地址转换(NAT)转换成地址池1中的公网IP地址
[AR1]interface gi0/0/1 [AR1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
此时PC1/PC2都能与外网互通
缺点:
- 进行测试的时候,我们发现:网络是一会通,一会不通。
- 经过上面测试、抓包,我们发现:动态NAT对端口上发送出去的每个数据包的源IP地址
- 数据包的数量太大了,所以用于地址转换的公网地址,数量肯定是不够的。
- 在动态NAT技术突出的主要矛盾就是:用来进行地址转换的公网地址太少了。
端口NAT(PAT)
- 在动态NAT技术突出的主要矛盾就是:用来进行地址转换的公网地址太少了。
- 以后在进行地址转换的时候,不仅仅是转换地址,还转换端口
- 因为一个公网地址,最多可以对应 65536 个端口号
192.168.10.1 - 100.1.1.10:1001 192.168.10.2 - 100.1.1.10:1002 192.168.10.3 - 100.1.1.10:1003 192.168.10.4 - 100.1.1.10:1004 192.168.10.5 - 100.1.1.10:1005 192.168.10.6 - 100.1.1.10:1006 192.168.10.7 - 100.1.1.10:1007 192.168.10.8 - 100.1.1.10:1008
命令配置
[AR1-GigabitEthernet0/0/1]undo nat outbound 2000 address-group 1 no-pat //撤销动态NAT配置 [AR1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 [AR1-GigabitEthernet0/0/1]
此时,内网访问外网时,不会受到IP地址数量少的限制,不会出现网络时有时无
- PAT(Port address translation) - 最火解决方案
- 企业最常用的实现内网大量主机访问外网的解决方案
- 在转换IP地址的同时,还转换“端口号”
- 私有地址:公有地址 = 多:1
- 优点:非常节省公网IP地址
EasyIP-最简单的PAT
如果企业规模很小,经费有限。大概率上企业可能仅仅购买1个公网IP地址。在这种情况下,我们想要实现内网多个主机同时上网的话,就只能用“配置在公网接口”上的这个IP地址进行 NAT 转换。
[AR1-GigabitEthernet0/0/1]undo nat outbound 2000 address-group 1 no-pat //撤销动态NAT配置 [AR1-GigabitEthernet0/0/1]nat outbound 2000
- 将ACL 2000 匹配的数据, 在发送出去的时候, 源IP地址转换为“该接口的”公网IP地址
- 购买一个公网IP地址,同时实现外网互联以及“地址转换”
- 私有地址:公有地址 = 多:1
- 优点:非常节省公网IP地址
NAT Server
如果想要实现外网到内网的访问那么必须得在公司的边界设(R1)上,提前设置“nat转换条目”并且这种条目,仅仅允许某一种特定的业务的流量。
外网访问内网WEB服务
- 企业内部有一个 web 服务器,私有IP地址 192.168.10.10/24
- 希望互联网用户,通过浏览器,访问公网地址 100.1.1.20 ,就可以获得我们公司内部的 web 服务器的网站
在边界设备R1上配置
[AR1]interface gi0/0/1 [AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.20 80 inside 19 2.168.10.10 80 [AR1-GigabitEthernet0/0/1]quit
- 该接口上如果收到了一个目标IP地址为 100.1.1.20 的 TCP 80 的流量 那么就将这个目标IP地址转换为 192.168.10.10 的 tcp 80 。
验证
通过 外网的 client 测试
- client1: 200.1.1.1
- 255.255.255.0
- 200.1.1.254
客户端信息->httpclient ->输入地址 100.1.1.20 ,回车,获得一个网页!
外网访问内网FTP服务
在192.168.10.10上配置FTP服务器,希望通过外网访问FTP服务
[AR1]interface gi0/0/1 [AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.20 21 inside 19 2.168.10.10 21 [AR1-GigabitEthernet0/0/1]quit
外网设备测试 client -> ftpclient -> 100.1.1.20 (PORT模式),登陆成功
外部远程管理交换机SW1
交换机配置私有地址,配置远程登录模式账户和密码
- 远程登陆的用户名和密码分别是 huawei/HCIE
- 希望在外网设备上,通过 telnet 的方式,远程登陆 SW1 ,
- SW1的管理IP地址是 192.168.10.88/24
<SW1>sys Enter system view, return user view with Ctrl+Z. [SW1]interface vlanif 10 [SW1-Vlanif10]ip address 192.168.10.88 24 [SW1-Vlanif10]quit [SW1]user-interface vty 0 [SW1-ui-vty0]authentication-mode aaa [SW1-ui-vty0]quit [SW1]aaa [SW1-aaa]local-user huawei password cipher HCIE [SW1-aaa]local-user huawei service-type telnet [SW1-aaa]local-user huawei privilege level 15 [SW1-aaa]quit [SW1]ip route-static 0.0.0.0 0 192.168.10.254
在R1上配置,telnet端口为23
[AR1]interface gi0/0/1 [AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.20 2001 inside 192.168.10.88 23 [AR1-GigabitEthernet0/0/1]quit
测试:在R2上测试登录
数据包从内网到外网
- 怎么转换:私有→公有
- 转换对象:源IP地址
- 再查NAT表,实现地址转换
- 先查路由表,为了确定出端口
- 数据包从外网到内网
- 先查NAT表,实现地址转换
- 再查路由表,确定去往内网主机的端口
- 转换对象:目标IP地址
- 怎么转换:公有→私