HCIA——NAT技术详解

NAT技术
一、回顾所学
这里将以实验的形式来帮忙理解;

如图,实验要求:
1、首先不管R3,对R2到R3网段不做任何配置;
2、R1与R2之间用OSPF配置;
3、PC1234用动态即DHCP进行下放IP;
4、划分VLAN;PC1与3为VLAN2,PC2与4为VLAN 3;

实验步骤:

1、给交换机配置,划分vlan
左边交换机实现代码:

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout  0 0
[Huawei-ui-console0]quit
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type access 
[Huawei-GigabitEthernet0/0/2]quit
[Huawei]vlan batch 2 3
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]port default vlan 2
[Huawei-GigabitEthernet0/0/2]int g0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type access 
[Huawei-GigabitEthernet0/0/3]port default vlan 3
[Huawei-GigabitEthernet0/0/3]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all 
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]

右边交换机实现代码:

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]user-interface console 0
[Huawei-ui-console0]idle-timeout 0 0
[Huawei]vlan batch 2 3
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type access
[Huawei-GigabitEthernet0/0/2]port default vlan 2
[Huawei-GigabitEthernet0/0/2]int g0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type access
[Huawei-GigabitEthernet0/0/3]port default vlan 3
[Huawei-GigabitEthernet0/0/3]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk    
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all 
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]

2、给路由器配置虚拟子接口;
R1实现代码:

[Huawei]sys r1
[r1]int g0/0/1.1
[r1-GigabitEthernet0/0/1.1]dot1q termination vid 2
[r1-GigabitEthernet0/0/1.1]ip address 192.168.1.33 27
[r1-GigabitEthernet0/0/1.1]int g0/0/1.2
[r1-GigabitEthernet0/0/1.2]dot1q termination vid 3
[r1-GigabitEthernet0/0/1.2]ip address 192.168.1.65 27
[r1-GigabitEthernet0/0/1.2]quit

R2实现代码:

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys r2
[r2]int g0/0/2.1
[r2-GigabitEthernet0/0/2.1]dot1q termination vid 2
[r2-GigabitEthernet0/0/2.1]ip address 192.168.1.97 27
[r2-GigabitEthernet0/0/2.1]arp broadcast enable 
[r2-GigabitEthernet0/0/2.1]int g0/0/2.2
[r2-GigabitEthernet0/0/2.2]dot1q termination vid 3
[r2-GigabitEthernet0/0/2.2]ip address 192.168.1.129 27
[r2-GigabitEthernet0/0/2.2]quit


3、打开DHCP服务并配置下放网段
R1实现代码:

[r1]dhcp enable 
[r1]ip pool 1
[r1-ip-pool-1]network 192.168.1.32 mask 27
[r1-ip-pool-1]gateway-list 192.168.1.33
[r1-ip-pool-1]dns-list 8.8.8.8
[r1-ip-pool-1]quit
[r1]ip pool 2
[r1-ip-pool-2]network 192.168.1.64 mask 27
[r1-ip-pool-2]gateway-list 192.168.1.65
[r1-ip-pool-2]dns-list 8.8.8.8
[r1-ip-pool-2]quit


R2实现代码:

[r2]dhcp enable 
[r2]ip pool 1
[r2-ip-pool-1]network 192.168.1.96 mask 27
[r2-ip-pool-1]gateway-list 192.168.1.97
[r2-ip-pool-1]dns-list 8.8.8.8
[r2-ip-pool-1]quit
[r2]ip pool 2
[r2-ip-pool-2]network 192.168.1.128 mask 27
[r2-ip-pool-2]gateway-list 192.168.1.129
[r2-ip-pool-2]dns-list 8.8.8.8
[r2-ip-pool-2]quit


4、DHCP调用并开启ARP广播
R1实现代码:

[r1]int g0/0/1.1
[r1-GigabitEthernet0/0/1.1]dhcp select global 
[r1-GigabitEthernet0/0/1.1]arp broadcast enable 
[r1-GigabitEthernet0/0/1.1]int g0/0/1.2
[r1-GigabitEthernet0/0/1.2]dhcp select global 
[r1-GigabitEthernet0/0/1.2]arp broadcast enable 
[r1-GigabitEthernet0/0/1.2]quit


R2实现代码:

[r2]int g0/0/2.1
[r2-GigabitEthernet0/0/2.1]dhcp select global 
[r2-GigabitEthernet0/0/2.1]int g0/0/2.2
[r2-GigabitEthernet0/0/2.2]dhcp select global 
[r2-GigabitEthernet0/0/2.2]arp broadcast enable 
[r2-GigabitEthernet0/0/2.2]quit


5、配置路由器其他接口IP地址
R1实现代码:

[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip address 192.168.1.1 27
[r1-GigabitEthernet0/0/0]


R2实现代码:

[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip address 192.168.1.2 27
[r2-GigabitEthernet0/0/0]


6、配置OSPF划分区域并宣告
R1配置代码:

[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
[r1-ospf-1-area-0.0.0.0]quit
[r1-ospf-1]quit
[r1]


R2配置代码:

[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.31
[r2-ospf-1-area-0.0.0.0]network 192.168.1.96 0.0.0.31
[r2-ospf-1-area-0.0.0.0]network 192.168.1.128 0.0.0.31
[r2-ospf-1-area-0.0.0.0]quit
[r2-ospf-1]quit
[r2]


7、测试全网可达
PC1

这里说下DHCP在华为的一个自动分配;
华为呢,它是从大往小进行划分;

这里展示下,首先我们先说这个实验所配置的网段;
首先它给了192.168.1.0/27这个网段;
而我需要几个网段?

首先在我们还没学VLAN技术我们可以看到需要三个网段对吧;
又因为这个vlan2与vlan3还在不同的广播域里面,所以我们不得不加两个;
如果把左边交换机下面直接为vlan2,右边交换机下面为vlan3。我们可以想下;

这样还需要用到vlan吗?
当然不用,他们在一个网段里面之间用路由器进行DHCP配置下放就好,前提是在一个网段里面。
我们接着说,现在需要5个网段;
所以这个IP网段就的得向后移动3位。
(1位得到两个网段,2个得到四个网段,就2的次方关系)
所以我们将得到8个网段;

192.168.1.00000000 24
192.168.1.00000000 27 192.168.1.0 27
192.168.1.00100000 27 192.168.1.32 27
192.168.1.01000000 27 192.168.1.64 27
192.168.1.01100000 27 192.168.1.96 27
192.168.1.10000000 27 192.168.1.128 27
剩下三个我们做以保留。
192.168.1.10100000 27 192.168.1.160 27
192.168.1.11000000 27 192.168.1.192 27
192.168.1.11100000 27 192.168.1.224 27
所以,这个时候我们来看下PC各个所拿到IP地址:

上面作为补充,好了,回顾到此为止,我们接下来所学也将会用到。

二、认识NAT
1、NAT出现的原因
1、最初NAT的起源来自于IPv4地址的短缺问题,为了缓解全球IPv4地址枯竭的问题,引入了NAT技术。当时,IPv4有大约42亿个可用地址,而且预计将会很快枯竭,因为互联网用户数量快速增长。
2、NAT最初在SOHO(Small Office / Home Office)网络中得到广泛使用,这些网络规模不太大,因此不需要为其分配公共IP地址,而是使用私有IP地址。
3、私有IP地址是由Internet Assigned Numbers Authority(IANA)特别保留的地址范围,用于局域网中的设备编号,而不需要被注册或分配给任何特定的组织。这些私有地址可以在局域网中自由使用,但不能直接用于Internet中,因此需要NAT技术将内部IP映射到公网IP进行互联网访问。

2、NAT的功能
1.将大量的私有地址转换为公有地址 (节约IP地址)
2.将一个IP地址转换为另一个IP地址(公有的)(增加内部网络设备的安全性)

1、端口映射: NAT可以提供端口转发和映射的功能,以便将外部IP地址映射到某个内部设备或服务。
2、流量控制: NAT可以对网络流量进行控制和管理,以便优化网络性能。
3、安全策略: NAT可以提供一定程度的安全过滤功能,以便过滤非法流量,保护内部网络的安全。
4、质量保证: NAT可以使用不同的质量服务(QoS)技术来为特定的流量分配网络带宽和优先级,实现网络带宽的合理分配。
5、双向NAT: 有时候需要在网络之间建立双向NAT。例如:当两个网络都使用NAT技术时,可以使用双向NAT技术在两个网络之间建立连接,使内部网络中的设备可以彼此访问。

3、NAT的缺陷
** 1.极其消耗网络设备资源
2.破坏了数据的端到端传输(导致有些安全技术无法有效实施)**

1、可靠性差: 如果NAT设备出现故障,所有使用该设备的内部设备都将无法访问互联网。
2、性能影响: NAT会对网络性能产生一定的影响,例如加重网络延迟、增加CPU负载、限制网络流量等。
3、对于一些应用程序支持不佳: 对于某些应用程序(如IP电话、P2P应用等)对NAT技术的支持不够完备,会导致一些应用程序无法正常运行或运行效果不佳。
4、IP欺骗: 由于NAT技术的地址转换机制,可能会将多个内部设备绑定到同一个公网IP地址,这可能导致IP欺骗问题。
5、不利于网络管理: 由于NAT隐藏了内部IP地址,使得网络管理变得更困难,特别是在网络故障排错和网络安全中。
6、对IPv6的支持不足: 随着IPv4地址的枯竭和IPv6的鼓励使用,NAT技术的要求越来越高,对IPv6的支持不足可能成为NAT技术发展的瓶颈。

共有ip地址:具有全球唯一性,可以在互联网中通讯使用,需要付费使用
私有ip地址:具有本地的唯一性,不能在互联网中通讯,无需付费使用

10.0.0.0/8——172.16.0.0/16——172.31.0.0/16
——192.168.0.0/24——192.168.255.0/24

三、了解NAT
1、NAT的实现方式
NAT(Network Address Translation)的实现方式有三种常见的形式:

静态 NAT:
静态NAT是一种基于 一对一 映射关系的NAT方式,需要手动配置IP地址映射表来将一个内部IP地址与一个公网IP地址进行绑定。
当内部设备向互联网发送数据时,NAT设备将在IP头部更改其源地址为已分配的公网地址。
这种方式适合于外部需要访问内部特定设备的场景,但需要手动配置IP地址映射表。

动态 NAT:
动态NAT是一种基于 一对多 映射关系的NAT方式,使用可复用的IP地址池为内部设备分配公网IP地址。
当内部设备向互联网发送数据时,NAT设备从IP地址池中分配一个公网IP地址并将其分配给内部设备。
在该设备的连接会话结束时,NAT设备会释放该公网IP地址以便于再次使用。这种方式和静态NAT相比更加方便,不需要手动配置每个内部设备的映射关系。

NAT Overload(PAT):
PAT是一种基于多对一映射关系的NAT方式,也被称为NAT重载。
其原理为为一组内网主机使用同一个公网IP地址,唯一的区别是使用不同的端口号来标识不同的内网主机。
当内网主机中的应用程序尝试连接Internet时,源IP地址被替换为NAT设备的公网IP地址,而源端口号由NAT设备随机分配.
NAT设备在记录一个内网主机连接的同时,记录在其使用的端口号,这样当互联网上的数据回传时,NAT设备就可以映射到正确的内网主机并发送数据。这种方式可以使用一个公网IP地址为多个内网主机提供网络连接,也是使用最广泛的一种NAT方式。

2、NAT的工作原理
工作原理是将内部IP地址转换为公共IP地址来实现互联网连接。其基本的工作原理如下:

1、内部设备向外部发送数据包时,其源IP地址被NAT设备替换为公共IP地址。
2、NAT设备维护一个转换表,将内部设备的IP地址映射到公共IP地址上,这个映射是动态变化的。
3、NAT设备还会为每个连接维护一个端口映射表,这样可以根据外部连接请求,将目标IP地址和端口映射到内部网络中的具体设备上。
4、NAT设备会动态分配与替换内部设备的IP地址,并使用它们来建立互联网连接。这个过程是不透明的,即在外部看来,所有内部设备都共享同一个公共IP地址。

NAT的工作原理就是通过一系列地址转换和端口映射的技术方式,将内部IP地址转化为公共IP地址,实现互联网连接。NAT地址转换表和端口映射表的维护使得数据包正确地流转到内部网络中具体的设备上,从而实现网络连接。

四、NAT的配置


如果说我们此时不配置NAT的话,单单一个缺省路由是行不通的;
因为信号去往运营商之后没有设置返回路由;
在我们的实际生活中,公网是不能到私有IP或者路由,所以不能用缺省路由来进行连接。
来,我们演示下:实现代码:

[r2]ip route-static 0.0.0.0 0 23.0.0.2
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]default-route-advertise
[r2-ospf-1]QUI
[r2]


这下我们试着用PC1来去pingR3的环回:

在这里我们可以发现模拟也是行不通的,那么此时应当使用静态NAT进行配置。

1、静态NAT配置
一对一静态的边界路由器上,生成一条固定的永久的映射记录。
实现: 使用NAT技术来让PC1访问路由器R3环回地址
在公有的那个接口上配置,也就是R2路由器的0/0/1配置。
实现代码:

[r2]int g0/0/1
[r2-GigabitEthernet0/0/1]nat static global 23.0.0.3 inside 192.168.1.62
[r2-GigabitEthernet0/0/1]quit
[r2]


这里的23.0.0.3我们可以看作向运营商买的一个公网IP。192.168.1.62便是PC1的IP地址。
这里我们一起来看下所记录的NAT的一个映射关系:
实现代码:

[r2]display nat static
  Static Nat Information:
  Interface  : GigabitEthernet0/0/1
    Global IP/Port     : 23.0.0.3/---- 
    Inside IP/Port     : 192.168.1.62/----
    Protocol : ----     
    VPN instance-name  : ----                            
    Acl number         : ----
    Netmask  : 255.255.255.255 
    Description : ----

  Total :    1
[r2]


PC1的IP地址会被转换的Global IP是23.0.0.3
接下来再次用PC1去ping路由器3的环回。

这里我们可以看到此时是可以进行访问的。
注意: R3并不知道PC端真正的路由,也可以说NAT做到了对真实PC端一点保护吧
R3只能ping通23.0.0.3,并且与R2直连。

[r3]ping 23.0.0.3
  PING 23.0.0.3: 56  data bytes, press CTRL_C to break
    Request time out
    Reply from 23.0.0.3: bytes=56 Sequence=2 ttl=126 time=50 ms
    Reply from 23.0.0.3: bytes=56 Sequence=3 ttl=126 time=70 ms
    Reply from 23.0.0.3: bytes=56 Sequence=4 ttl=126 time=60 ms
    Reply from 23.0.0.3: bytes=56 Sequence=5 ttl=126 time=50 ms

  --- 23.0.0.3 ping statistics ---
    5 packet(s) transmitted
    4 packet(s) received
    20.00% packet loss
    round-trip min/avg/max = 50/57/70 ms

[r3]

抓包分析:


在公网环境下,这时我是在靠近运营商,也就是R3的G0/0/0接口进行的抓包截图。

抓包时间:这个是我在第一次ping开始的抓包截图。
这里我们打开可以ping通的包,我们可以看到


请求包:源IP:23.0.0.3
目标IP:3.3.3.3


应答包:源IP:3.3.3.3
目标IP:23.0.0.3
在私网环境下,也就是在交换机附近,即交换机的G0/0/1接口进行抓包:

这里我们可以看到

请求包的源IP地址为:192.168.1.62也就是它本身;
目标IP地址为3.3.3.3;
以及源MAC地址也是它本身,而目标MAC地址即为R1路由器接口的MAC地址。
这个目标MAC地址可以查交换机的MAC地址表来进行验证下:

[sw1]display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID  
               VSI/SI                                              MAC-Tunnel  
-------------------------------------------------------------------------------
00e0-fc2b-457f 2           -      -      GE0/0/1         dynamic   0/-         
00e0-fc2b-457f 3           -      -      GE0/0/1         dynamic   0/-         
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2 

[sw1]

然后我们接下来看响应包的信息:

它的源IP地址为3.3.3.3
目标IP地址为192.168.1.62
源MAC地址也就变为了R1路由器进行转发的接口的MAC地址。

2、Easy NAT配置
首先再次了解Easy NAT:
一对多(动态)内部私有ip地址 在NAT成为同一个公有ip地址时,需要不同的源端口号,来形成唯一的临时映射关系。
临时映射——需要内部流量先去往外部,被转换记录,之后返回,映射刷新;
因为需要修改流量的端口,故一对多又被称为 PAT——端口地址转换

一个公有ip,仅存在65535个端口,故一个时间节点最大一次转发65535个数据包,所以不能在大型网络中使用;

接下来我们用实验来进行模拟:

还是这张图;我们这下想要实现的:私网的所有的PC都可以访问公网。
接下来不用说,我们得先去将静态NAT删除掉,防止影响我们后续的操作。

实现代码:

[r2]int g0/0/1
[r2-GigabitEthernet0/0/1]display this 
[V200R003C00]
#
interface GigabitEthernet0/0/1
 ip address 23.0.0.1 255.255.255.0 
 nat static global 23.0.0.3 inside 192.168.1.62 netmask 255.255.255.255
#
return
[r2-GigabitEthernet0/0/1]undo nat static global 23.0.0.3 inside 192.168.1.62 net
mask 255.255.255.255
[r2-GigabitEthernet0/0/1]quit
[r2]


配置Easy NAT:
实现代码:

[r2]acl 2000    
[r2-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[r2-acl-basic-2000]quit
[r2]int g0/0/1
[r2-GigabitEthernet0/0/1]nat outbound 2000
[r2-GigabitEthernet0/0/1]quit
[r2]


这里我们先进行了ACL的配置,ACL作用是什么?当然是访问控制以及抓取感兴趣流量。
也就是我们经常配置的permit以及deny。

这里我们抓取192.168.1.0这个网段,后面ACL加通配符。
acl定义感兴趣流量,把这些地址抓到了交给nat,进入连接公网的端口;
nat outbound 2000 表示2000表可以流出从这个接口。
当然,我们附上私网的四台主机的ping截图:

3、动态NAT配置
还是来先了解动态NAT:
多对多(动,静态均可) 主要针对大型的局域网,同一时间内大量数据包需要进入互联网;
一个公有ip,只能进行65535转发,故同时提供多个公有ip;
还是这张拓扑图:


还是只变下实验要求:
这次我们让私网的所有主机都能访问公网,与静态NAT相比,我们这次采用多对多的形式来进行配置
老规矩,第一步删除上一步的配置:
实现代码:

[r2]int g0/0/1
[r2-GigabitEthernet0/0/1]undo nat outbound 2000
[r2-GigabitEthernet0/0/1]quit


由于我们之后还要用到acl 2000所以此时我只将接口调用进行了删除
动态NAT实现代码:

[r2]acl 2000
[r2-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[r2-acl-basic-2000]quit
[r2]nat address-group 1 23.0.0.3 23.0.0.4
[r2]int g0/0/1
[r2-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
[r2-GigabitEthernet0/0/1]quit
[r2]


这里我们首先使用ACL匹配私网需要转换的私有IP
然后配置了可用的公用IP地址组;
第三步,使用前两步配置好的ACL以及NAT的地址组,在执行转换的接口即G0/0/1上指定私有地址到共有地址的转化关系。
接下来我们查看下所配置的NAT的公有地址池:
实现代码:[r2]display nat address-group

[r2]display nat address-group

 NAT Address-Group Information:
 --------------------------------------
 Index   Start-address      End-address
 --------------------------------------
 1            23.0.0.3         23.0.0.4
 --------------------------------------
  Total : 1
[r2]


这里我们可以看到公有池中包含了地址范围为23.0.0.3以及23.0.0.4。

NAT的转换表项:
实现代码: [r2]display nat outbound

[r2]display nat outbound
 NAT Outbound Information:
 --------------------------------------------------------------------------
 Interface                     Acl     Address-group/IP/Interface      Type
 --------------------------------------------------------------------------
 GigabitEthernet0/0/1         2000                              1       pat
 --------------------------------------------------------------------------
  Total : 1
[r2]

  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值