【揭秘】华为设备ACL与NAT技术,一文教你如何配置

科技   2024-11-25 08:30   重庆  

大家好,今天给大家学习华为设备ACL与NAT技术,学会如何进行实验配置。觉得有用的,可以赶紧点赞收藏!

阅读目录

  • 标准ACL配置

  • 拓展ACL配置

  • 配置静态NAT

  • 配置动态NAT


ACL 访问控制列表(Access Control Lists),是应用在路由器(或三层交换机)接口上的指令列表,用来告诉路由器哪些数据可以接收,哪些数据是需要被拒绝的,ACL的定义是基于协议的,它适用于所有的路由协议,并根据预先定义好的规则对数据包进行过滤,从而更好的控制数据的流入与流出.

NAT 网络地址转换(Network Address Translation),是一个互联网工程任务组的标准,它可以实现内部私有IP地址和公网IP地址的转换,能够起到节约公网IP地址的作用,以下将介绍NAT的三种方式,静态转换、动态转换和端口复用技术.


01

华为ACL访问配置



路由器接口的访问控制取决于应用在其上的ACL,数据在进出网络前,路由器会根据ACL对其进行匹配,匹配成功将对数据进行过滤或者是转发,匹配失败则丢弃数据包,目前主要有三种ACL控制,标准ACL,扩展ACL,命名ACL,我们只介绍前两种.

在路由器上应用ACL时,可以为每种协议,每个端口,每个方向,和每个接口,配置一个ACL,一般称为3p原则.


标准ACL配置

标准ALCL只能通过源地址进行访问过滤与控制,因此只能阻止/允许来自指定IP地址的访问请求.

配置路由器: 接着配置路由器,开启路由器的Eth0/0/0Eth0/0/1端口,并配置上网关地址.

<Huawei> system-view[Huawei]interface GigabitEthernet 0/0/0[Huawei-GigabitEthernet0/0/0] ip address 192.168.1.254 255.255.255.0[Huawei-GigabitEthernet0/0/0] quit
[Huawei]interface GigabitEthernet 0/0/1[Huawei-GigabitEthernet0/0/1] ip address 192.168.2.254 255.255.255.0[Huawei-GigabitEthernet0/0/1] quit


配置拒绝ACL规则: 这里我们在路由器上配置一条标准的ACL规则,禁止PC1访问Server1服务器.

<Huawei>system-view[Huawei] acl 2000                                                 // 指定一个序号 2000-2999[Huawei-acl-basic-2000] rule deny source 192.168.1.1 0.0.0.0      // 拒绝源地址访问[Huawei-acl-basic-2000] rule deny source 192.168.1.1 0.0.0.255    // 拒绝整个网段[Huawei-acl-basic-2000] rule permit source 192.168.1.1 0.0.0.0    // 允许源地址访问[Huawei-acl-basic-2000] quit
[Huawei] interface GigabitEthernet 0/0/1[Huawei-GigabitEthernet0/0/1] traffic-filter outbound acl 2000 // 在出口方向应用规则[Huawei-GigabitEthernet0/0/1] traffic-filter inbound acl 2000 // 在入口方向应用规则


测试过滤效果: 配置完规则以后,我们测试一下效果,使用PC1无法访问Server1服务器而用PC2则可以访问.

PC1> ping 192.168.2.1Request timeout!Request timeout!
PC2> ping 192.168.2.1From 192.168.2.1: bytes=32 seq=1 ttl=254 time=47 msFrom 192.168.2.1: bytes=32 seq=1 ttl=254 time=47 ms

这里需要注意一点,如果你有两个路由器相连,那么ACL规则应该设置在距离限制的目标较近的路由器上,否则可能会出现有效数据在到达目标之前就被过滤掉了.


拓展ACL配置

标准ACL只能使用源地址作为匹配条件,无法对访问进行精确的控制,为了解决这一问题,可以采用扩展ACL来对数据加以限制,接下来我们将配置扩展ACL,其拓扑结构图还是使用上图.

配置路由器: 接着配置路由器,开启路由器的Eth0/0/0和Eth0/0/1端口,并配置上网关地址.

<Huawei> system-view[Huawei]interface GigabitEthernet 0/0/0[Huawei-GigabitEthernet0/0/0] ip address 192.168.1.254 255.255.255.0[Huawei-GigabitEthernet0/0/0] quit
[Huawei]interface GigabitEthernet 0/0/1[Huawei-GigabitEthernet0/0/1] ip address 192.168.2.254 255.255.255.0[Huawei-GigabitEthernet0/0/1] quit


配置禁止ICMP: 禁止192.168.1.1访问192.168.2.1icmp协议.

<Huawei> system-view[Huawei] acl 3000[Huawei-acl-adv-3000] rule deny icmp source 192.168.1.1 0 destination 192.168.2.1 0
[Huawei] interface GigabitEthernet 0/0/1[Huawei-GigabitEthernet0/0/1][Huawei-GigabitEthernet0/0/1] traffic-filter outbound acl 3000[Huawei-GigabitEthernet0/0/1] quit
[Huawei] display acl all Total quantity of nonempty ACL number is 1 rule 5 deny icmp source 192.168.1.1 0 destination 192.168.2.1 0 (27 matches)


禁止指定端口: 禁止TCP协议源地址192.168.1.1至目标地址192.168.2.1,端口号80的协议.

<Huawei> system-view[Huawei] acl 3000[Huawei-acl-3000] rule deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq 80
[Huawei] interface GigabitEthernet 0/0/1[Huawei-GigabitEthernet0/0/1][Huawei-GigabitEthernet0/0/1] traffic-filter outbound acl 3000
[Huawei]display acl all Total quantity of nonempty ACL number is 1 rule 5 deny icmp source 192.168.1.1 0 destination 192.168.2.1 0 (27 matches)


测试过滤效果: 配置完规则以后,我们测试一下效果,使用PC1无法访问Server1服务器而用PC2则可以访问.

PC1> ping 192.168.2.1Request timeout!Request timeout!
PC2> ping 192.168.2.1From 192.168.2.1: bytes=32 seq=1 ttl=254 time=47 msFrom 192.168.2.1: bytes=32 seq=1 ttl=254 time=47 ms

与标准ACL相比,扩展ACL能够更加精确的匹配和过滤数据包,因此扩展ACL的放置位置应该离源地址越近越好,这样才能够有效提高链路的使用效率


02

华为NAT地址转换



NAT 网络地址转换(Network Address Translation),是一个互联网工程任务组的标准,它可以实现内部私有IP地址和公网IP地址的转换,能够起到节约公网IP地址的作用.

NAT技术中有四种地址即,内部本地地址,内部全局地址,外部本地地址,外部全局地址.


配置静态NAT

静态NAT是指将内部本地地址与内部全局地址进行对应转换,某个本地地址只能转换为某个全局地址,通过配置静态NAT可以实现内部网络对外部网络的访问,也可以实现外部网络对内部网络中某个设备的访问.


配置路由器: 配置路由器,开启R1路由器的Eth0/0/0Ser0/0/0端口,并配置上网关地址.

# ----配置R1路由器-----------------------------<R1> system-view[R1] interface GigabitEthernet 0/0/0[R1-GigabitEthernet0/0/0] ip address 192.168.1.1 255.255.255.0[R1-Ethernet0/0/0] quit[R1] interface GigabitEthernet 0/0/1[R1-GigabitEthernet0/0/1] ip address 10.10.10.1 255.0.0.0[R1-Ethernet0/0/0] quit
# ----配置R2路由器-----------------------------<R2> system-view[R2] interface GigabitEthernet 0/0/0[R2-GigabitEthernet0/0/0] ip address 10.10.10.2 255.0.0.0[R2-Ethernet0/0/0] quit


配置静态NAT: 在路由器R1上配置静态NAT,将私有地址转为全局地址(内网地址-->外网地址).

[R1] interface GigabitEthernet 0/0/1[R1-GigabitEthernet0/0/1] nat static enable   //启用静态nat[R1-GigabitEthernet0/0/1] quit
[R1] interface GigabitEthernet 0/0/1[R1-GigabitEthernet0/0/1] nat static global 10.10.10.20 inside 192.168.1.2[R1-GigabitEthernet0/0/1] nat static global 10.10.10.20 inside 192.168.1.2[R1-GigabitEthernet0/0/1] nat static global 10.10.10.20 inside 192.168.1.2


查询NAT配置: 配置完成后,使用display nat static 命令可以查询端口情况.

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


测试通信情况: 此时在PC1主机可Ping通R2路由器.

PC1> ping 10.10.10.2
Ping 10.10.10.2: 32 data bytes, Press Ctrl_C to breakFrom 10.10.10.2: bytes=32 seq=1 ttl=254 time=47 ms
--- 10.10.10.2 ping statistics --- 1 packet(s) transmitted 1 packet(s) received 0.00% packet loss round-trip min/avg/max = 47/47/47 ms


配置动态NAT

动态NAT是指内部本地地址与内部全局地址进行转换时,内部地址可以随机转换为指定的外部全局地址,此过程是动态分配的不需要为干预,从而减少了配置的工作量.

但需要注意的是,配置动态NAT只能实现内部网络对互联网的访问,无法实现互联网中的主机对内部网络中的主机的访问,它是一种单向的NAT技术.

动态NAT是在出口路由器上做了一个地址池,内网PC访问外网时会从地址池内获取一个公网IP,此种技术也无法节约公网IP地址资源,接下来还是使用上面的拓扑图,但需要清空规则.

配置路由器: 配置路由器,开启R1路由器的Eth0/0/0Ser0/0/0端口,并配置上网关地址.

# ----配置R1路由器-----------------------------<R1> system-view[R1] interface GigabitEthernet 0/0/0[R1-GigabitEthernet0/0/0] ip address 192.168.1.1 255.255.255.0[R1-Ethernet0/0/0] quit[R1] interface GigabitEthernet 0/0/1[R1-GigabitEthernet0/0/1] ip address 10.10.10.1 255.0.0.0[R1-Ethernet0/0/0] quit
# ----配置R2路由器-----------------------------<R2> system-view[R2] interface GigabitEthernet 0/0/0[R2-GigabitEthernet0/0/0] ip address 10.10.10.2 255.0.0.0[R2-Ethernet0/0/0] quit


配置动态NAT: 在路由器R1上配置动态NAT,将私有地址转为全局地址(内网地址-->外网地址).

[R1] nat address-group 1 10.10.10.20 10.10.10.40                 // 创建公网地址池[R1] acl 2000                                                    // 定义访问控制列表[R1-acl-basic-2000] rule permit source 192.168.1.0 0.0.0.255     // 定义ACL列表[R1-acl-basic-2000] quit
[R1] interface GigabitEthernet 0/0/1
// 将ACL与地址池关联,no-pat表示不可反复使用[R1-GigabitEthernet0/0/1] nat outbound 2000 address-group 1 no-pat
// 将ACL与地址池关联,可反复使用[R1-GigabitEthernet0/0/1] nat outbound 2000 address-group 1


拓展(端口映射): 将内网的192.168.1.1:8080映射到外网的10.10.10.1:80,配置如下.

[R1] interface GigabitEthernet 0/0/1[R1] nat server protocol tcp global 10.10.10.1 80 inside 192.168.1.1 8080


测试通信情况: 此时在PC1主机可Ping通R2路由器.

PC1> ping 10.10.10.2
Ping 10.10.10.2: 32 data bytes, Press Ctrl_C to breakFrom 10.10.10.2: bytes=32 seq=1 ttl=254 time=47 ms
--- 10.10.10.2 ping statistics --- 1 packet(s) transmitted 1 packet(s) received 0.00% packet loss round-trip min/avg/max = 47/47/47 ms


计算科学与信息化
计算机网络与安全、区块链、人工智能、CV、VR/AR、数据分析挖掘、编程开发以及各种软硬件技术知识分享。欢迎关注计算科学与信息化!
 最新文章