ACL与NAT技术应用

317 阅读6分钟

ACL与NAT技术应用

ACL

一、ACL:access list 访问控制列表

1.1、概述

访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。 ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。

image-20220718165555208.png

白名单:默认拒绝所有,放一个 可以通信一个 自己内 部的业务
黑名单:默认开放所有,加入一个,不能通信一个 京东 淘宝 有人 恶意攻击你

1.2、ACL的应用

  1. 应用在接口的ACL-----过滤数据包(源目ip地址,源目 mac, 端口 五元组)
  2. 应用在路由协议-------匹配相应的路由条目
  3. NAT、IPSEC VPN、QOS-----匹配感兴趣的数据流 (匹配上我设置的 数据流的)

1.3、ACL的工作原理

当数据包从接口经过时,由于接口启用了acl, 此时路由 器会对报文进行检查,然后做出相应的处理。

1.4、ACL的种类

  • 编号2000-2999---基本ACL----依据依据数据包当中的 源IP地址匹配数据(数据是从哪个IP地址过来的)

  • 编号3000-3999---高级ACL----依据数据包当中源、目 的IP,源、目的端口、协议号匹配数据

  • 编号4000-4999---二层ACL,MAC、VLAN-id、 802.1q

二、实操

2.1、拓扑图

image.png

2.2、操作步骤

2.2.1、为客户机和服务器配置IP地址。

Client1:192.168.1.1/24 image.png

Client2:192.168.1.2/24 image.png

Server1:192.168.2.1/24 image.png

Server2:192.168.3.1/24 image.png

2.2.2、为路由器分别设置接口IP地址和子网掩码。

为R1配置三个接口的IP地址和子网掩码,分别为:192.168.1.254/24、192.168.2.254/24和192.168.3.254/24。 image.png

<Huawei>sys                                          ***进入系统视图
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R1                                       ***改名为R1
[R1]int g0/0/0                                       ***进入接口g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24     ***配置IP地址和子网掩码
[R1-GigabitEthernet0/0/0]int g0/0/1                  ***进入接口g0/0/1
[R1-GigabitEthernet0/0/1]ip add 192.168.2.254 24     ***配置IP地址和子网掩码
[R1-GigabitEthernet0/0/1]int g0/0/2                  ***进入接口g0/0/2
[R1-GigabitEthernet0/0/2]ip add 192.168.3.254 24     ***配置IP地址和子网掩码

2.2.3、尝试用Client1 去ping通 Server1。

image.png

2.2.4、为R1配置基本ACL

[R1]acl 2000                                                   ***创建基础acl 2000
[R1-acl-basic-2000]rule 5 deny source 192.168.1.1 0            ***拒绝Client1 上的源IP地址
[R1-acl-basic-2000]int g0/0/1                                  ***进入接口g0/0/1
[R1-GigabitEthernet0/0/1]traffic-filter outbound acl 2000      ***在接口上调用ACL

image.png

2.2.5、测试,此时Client1 不能ping 通Server1

image.png

2.3、高级ACL

[R1]int g0/0/1                                                    ***进入接口g0/0/1
[R1-GigabitEthernet0/0/1]undo traffic-filter outbound             ***删掉ACL

为Server1 配置端口号 image.png

Clicent1 获取地址,成功 image.png

配置高级ACL

[R1-GigabitEthernet0/0/1]acl number 3000                    ***创建高级acl 3000
[R1-acl-adv-3000]rule 5 deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq www(80)    ***允许Client到Server的web 流量
[R1]int g0/0/0                                              ***进入接口g0/0/0
[R1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000    ***在接口上配置,调用高级ACL 3000

image.png

再次尝试获取地址,失败,但仍能ping 通 image.png

image.png

三、ACL的应用原则

  • 基本ACL:尽量用在靠近目的点
  • 高级ACL:尽量用在靠近源的地方(可以保护带宽和其他资源)

四、匹配规则

  1. 一个接口的同一个方向,只能调用一个acl
  2. 一个acl里面可以有多个rule 规则,按照规则ID从小到大排序,从上往下依次执行
  3. 数据包一旦被某rule匹配,就不再继续向下匹配
  4. 用来做数据包访问控制时,默认隐含放过所有(华为设备)

NAT

一、概述

NAT(网络地址翻译)
一个数据包目的ip或者源ip为私网地址, 运营商的设备 无法转发数据。

二、NAT工作机制

一个数据包从企业内网去往公网时,路由器将数据包当 中的源ip(私有地址),翻译成公网地址

三、静态nat

工程手动将一个私有地址和一个公网地址进行关联,一 一对应,缺点和静态路由一样

四、实操

4.1、拓扑图

image.png

4.2、操作步骤

为PC1、PC2配置IP地址和子网掩码

PC1:192.168.1.1/24 image.png

PC2:192.168.1.2/24 image.png

在R1上配置
代码命令如下:

[R1]int g0/0/1                                    ***进入接口g0/0/1
[R1-GigabitEthernet0/0/1]ip add 200.1.1.1 24      ***配置IP地址和子网掩码
[R1-GigabitEthernet0/0/1]nat static enable        ***在接口下使能NAT 功能
[R1-GigabitEthernet0/0/1]nat static global 200.1.1.100 inside 192.168.1.1   ***配置静态NAT映射,将内网IP地址192.168.1.1映射到200.1.1.100
[R1-GigabitEthernet0/0/1]q   退出接口g0/0/1
[R1]dis nat static    ***显示NAT信息
  Static Nat Information:
  Interface  : GigabitEthernet0/0/1
    Global IP/Port     : 200.1.1.100/----         ***公网地址
    Inside IP/Port     : 192.168.1.1/----         ***私网地址
    Protocol : ----     
    VPN instance-name  : ----                            
    Acl number         : ----
    Netmask  : 255.255.255.255 
    Description : ----

  Total :    1

image.png

NATPT(端口映射)

一、概念

NAT Server----内网服务器对外提供服务,针对目的ip和 目的端口映射
内网服务器的相应端口映射成路由器公网ip地址的相应 端口

二、实操

2.1、拓扑图

image.png

2.2、操作步骤

为终端配置IP地址与子网掩码

PC1:192.168.1.1/24 image.png

PC2:192.168.1.2/24 image.png

Server1:192.198.1.100/24 image.png

Client1:202.1.1.1/24 image.png

为路由器各接口配置IP地址与子网掩码 image.png

image.png

在R1上配置

代码命令如下:

[R1]int g0/0/1                                     ***进入接口g0/0/1
[R1-GigabitEthernet0/0/1]ip add 200.1.1.1 24       ***配置IP地址和子网掩码
[R1-GigabitEthernet0/0/1]nat static enable         ***在接口下使能NAT 功能
[R1-GigabitEthernet0/0/1]nat static global 200.1.1.100 inside 192.168.1.1   ***配置静态NAT映射,将内网IP地址192.168.1.1映射到200.1.1.100
[R1-GigabitEthernet0/0/1]q                         ***退出接口g0/0/1
[R1]dis nat static                                 ***显示NAT信息
  Static Nat Information:
  Interface  : GigabitEthernet0/0/1
    Global IP/Port     : 200.1.1.100/----          ***公网地址
    Inside IP/Port     : 192.168.1.1/----          ***私网地址
    Protocol : ----     
    VPN instance-name  : ----                            
    Acl number         : ----
    Netmask  : 255.255.255.255 
    Description : ----

  Total :    1

image.png

为R1配置静态IP image.png

用Client1 ping出口,成功 image.png

开启Server1 http 服务,开启80端口,通过端口映射技术将192.168.1.100的80端口和200.1.1.100的端口做关联,Server1 访问200.1.1.100的80 等于访问192.168.1.100的80端口 image.png

image.png

PC1、PC2ping 通出口,并检查session环境(dis nat session)

总结:

1.掩码、反掩码-----0和1必须连续 ,通配符掩码-----0和1可以不连续

2.子网掩码 必须是连续的1

3.反掩码 必须是连续的0

4.通配符掩码 0和1可以不连续

5.通配符:根据参考ip地址,通配符“1”对应位可变,“0”对应位不可变,0/1可以穿插

案例1-----拒绝源IP为192.168.10.1的数据包 
acl 2000
rule deny source 192.168.10.1 0.0.0.0


案例2------拒绝源IP为192.168.10.0/24的所有数据包
acl 2000
rule deny source 192.168.10.0 0.0.0.255


案例3------拒绝源IP为192.168.10.0/24所有奇数主机发送的数据包
acl 2000
rule deny source 192.168.10.1 0.0.0.254


Easy-IP

1.使用列表匹配私网的ip地址

2.将所有的私网地址映射成路由器当前接口的公网地址

acl 2000

rule permit source 192.168.1.0 0.0.0.255

int g0/0/1

undo nat static global 200.1.1.100 inside 192.168.1.1 netmask 255.255.255.255

nat outbound 2000