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

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

华为ACL访问控制

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

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

◆标准ACL配置◆

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

配置路由器: 接着配置路由器,开启路由器的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

配置拒绝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.1
Request timeout!
Request timeout! PC2> ping 192.168.2.1
From 192.168.2.1: bytes=32 seq=1 ttl=254 time=47 ms
From 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.1
Request timeout!
Request timeout! PC2> ping 192.168.2.1
From 192.168.2.1: bytes=32 seq=1 ttl=254 time=47 ms
From 192.168.2.1: bytes=32 seq=1 ttl=254 time=47 ms

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

华为NAT地址转换

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

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 break
From 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 break
From 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

华为设备ACL与NAT技术的更多相关文章

  1. 思科设备ACL与NAT技术

    ACL 访问控制列表(Access Control Lists),是应用在路由器(或三层交换机)接口上的指令列表,用来告诉路由器哪些数据可以接收,哪些数据是需要被拒绝的,ACL的定义是基于协议的,它适 ...

  2. 华为设备acl配置

    拓扑图: 需求: 1.-vlan10内所有的主机,只能通过http访问vlan30-server的服务器;不能访问vlan40-server服务器2.-vlan20-pc1主机,可以访问vlan40- ...

  3. ACL和NAT

    1 ACL 1.1 ACL的作用 1).用来对数据包做访问控制(丢弃或者放弃) 2).结合其他协议,用来匹配范围 1.2 ACL的工作原理 当数据包从接口经过时,由于接口启用了ACL,此时路由器会对报 ...

  4. NAT技术

    该文摘自百度百科"NAT"中的一部分 NAT(Network Address Translation,网络地址转换)是1994年提出的.当在专用网内部的一些主机本来已经分配到了本地 ...

  5. NAT技术基本原理与应用

    转载自:http://www.cnblogs.com/derrick/p/4052401.html?utm_source=tuicool&utm_medium=referral#undefin ...

  6. 换个角度审视NAT技术

    NAT (Network address translation,网络地址转换 )是局域网连接到互联网的一个对接工作. 首先要知道NAT是一个技术或者说软件而不是协议 后面你会知道NAT 是偏应用层但 ...

  7. ARP 地址分类 NAT技术

    第1章 OSI回顾 1.1 TCP/IP协议族组成 应用层 主机到主机层   互联网层   网络接入层 1.2 总结应用层掌握的协议与端口号对应关系 http(80) telnet(23) ftp(2 ...

  8. 代理服务器和NAT技术

    一.代理服务器 所谓“代理”,就是代而劳之的意思.代理服务器就是代理网络用户去取得网络信息,形象的说:它是网络信息的中转站,使得一个网络终端和另一个网络终端不直接进行相连,代理网络用户去取得信息.主要 ...

  9. 转 NAT技术详解

    NAT产生背景 今天,无数快乐的互联网用户在尽情享受Internet带来的乐趣.他们浏览新闻,搜索资料,下载软件,广交新朋,分享信息,甚至于足不出户获取一切日用所需.企业利用互联网发布信息,传递资料和 ...

随机推荐

  1. docker下的images 保存和导出

    由于迁移测试环境,所以部署的的docker镜像某一些需要迁移到另外一台服务器上面去.. 我是用 docker save -o registry.tar registry 来把相应需要导出的images ...

  2. java日期大小比较

    之前有面试到两个日期的大小比较方式,现在整理一下几种方法. 例子: String beginTime=new String("2017-06-09 10:22:22");    S ...

  3. android studio最新版的安装和配置(3.1.2)

    android studio最新版的安装和配置(3.1.2) 下载地址: android studio:http://www.android-studio.org/ JDK:http://www.or ...

  4. 火车购票问题(16年ccf)

    火车购票问题(16年ccf) 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排5个座位.为方便起见,我们用1到100来给所有的座位编号,第一 ...

  5. 解决“mysql不是内部/外部命令,也不是可执行程序,也不是批处理文件”

    解决方案: 1.切换到mysql.exe文件所在目录: 2.将mysql.exe文件所在目录添加到操作系统内的环境变量中: 如何添加环境变量: 1.右击“我的电脑”——>属性——>高级—— ...

  6. Docker的镜像制作与整套项目一键打包部署

    Dockerfile常用指令介绍 指令 描述 FROM 构建的新镜像是基于哪个镜像.例如:FROM centos:6 MAINTAINER 镜像维护者姓名或邮箱地址.例如:MAINTAINER Mr. ...

  7. [面试] Java高级软件工程师面试考纲(转)

    如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构.算法.网络.操作系统等知识.因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对 ...

  8. MySQL时间相关操作

    本文主要介绍MySQL使用过程中有关时间处理的相关操作: MySQL时间更新(加上或减去一段时间) MySQL毫秒数和日期之间的转换 一.MySQL时间更新(加上或减去一段时间) 1.1 MySQL时 ...

  9. docker命令小结

    文档:docker命令小结.note链接:http://note.youdao.com/noteshare?id=54015b76db9ae764182cb921e348b7fc&sub=DD ...

  10. Redis4.0新特性 -Lazy Free

    Redis4.0新增了非常实用的lazy free特性,从根本上解决Big Key(主要指定元素较多集合类型Key)删除的风险.笔者在redis运维中也遇过几次Big Key删除带来可用性和性能故障. ...