网络原理之ACL和NAT

335 阅读4分钟

一、ACL

1、ACL概述

  • ACL是由一系列Permit(允许/放行)或deny(拒绝)语句组成的、有序规则的列表
  • ACL是一个匹配工具,能够对报文进行匹配和区分

2、ACL应用

  1. 匹配IP流量(# 应用比较多)
  2. 在Traffic-filter中被调用(# 应用比较多)
  3. 在NAT(network Address Translation)中被调用;
  4. 在路由策略中被调用(# 基本不会接触)
  5. 在防火墙的策略部署中被调用
  6. 在QoS中被调用(# 基本不会接触)

3、ACL分类

ACL按照种类,分为基本ACL、高级ACL、二层ACL。

3.1 基本ACL

编号为2000-2999,依据数据包当中的源IP地址匹配数据(数据从哪个IP地址过来的)

acl序号范围是2000-2999
只能控制源ip地址,不能控制目的ip
尽量应用在离目的地址近的出口

3.2 高级ACL

编号为3000-3999,依据数据包当中源IP、目的IP、TCP协议、UDP协议、端口号来匹配数据,也称为5元组。

序号范围是3000-3999
控制在离源IP近的地方(# 可以保护带宽和其他资源)
控制对象比较强:既能控制源ip,又能控制目的ip、还有协议、端口号。

3.3 二层ACL

编号4000-4999,MAC 、 VLAN-ID、 802.1Q

4、ACL组成

image.png

  • acl number 2000 # 先建立acl2000的规则表(其中,number可加可不加)
  • rule 是规则,规则默认是5,步长=5,每次增加5,5、10、15、20…
    • 步长是5的好处:留出了空间,方便后期添加或修改。
  • rule + 规则编号 + deny或permit + source + 192.168.1.0 + 0.0.0.255(通配符掩码)
    • 没做规则默认是允许(华为),只有思科默认是拒绝。
    • 如果想对某个ip写拒绝,一般把规则小的写前面,这样能精确匹配。

5、通配符掩码

  1. 子网掩码:连续的1表示网络位,不可以0和1穿插;
  2. 反掩码:连续的0表示网络位,不可以0和1穿插;
  3. 通配符掩码:匹配acl的控制范围,0代表此位置不可以变化,1代表此位置可以变化。
    口诀:有0有1就写1,全0全1就写0。

6、ACL语法类型

1、基本acl语法:

acl 2000   // 进入基本acl,基本acl最好控制在离目标近的端口
rule deny或permit source + ip地址
traffic-filter outbound或inbound acl 2000  // 数据流向,或者说数据过滤,outbound是表示过滤出口的数据。

2、高级acl语法:

acl number 3000 
// number可加可不加
rule 5 deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq www(80)  
// www就是80端口,(写www也行,写80也行)
// 拒绝来自于192.168.1.1 的流量,不让他访问目的地址为192.168.2.1  tcp的80端口。

7、ACL匹配规则

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

二、NAT

1、NAT的作用

NAT技术,又叫网络地址翻译,作用是:

  • 让内网用户,可以直接使用内网地址去访问外网;

    • 数据包在出路由器的时候,将源私网地址改为公网地址。(公网ip是收费的)
    • 数据包在回来的时候,将公网地址改为私网地址。
  • 提供了一定的安全保证

2、NAT的工作原理

工作原理: 出去的时候 将源ip 由私网地址改成公网地址,回来的时候 将目的ip 由公网改成私网。

3、NAT的分类

3.1 静态nat

一一对应,一个私网地址对应一个公网地址。(静态nat基本不推荐,因为使用成本过高)

nat static enable
nat static global 200.1.1.100(花钱买的公网地址) inside 192.168.1.1 // 将192.168.1.1与200.1.1.100做成对应关系。
dis nat static // 查看静态nat信息

3.2 动态nat

所谓的动态nat,就是从地址池里面挑选。动态nat同样不推荐使用,因为也需要购买很多公网ip,成本比较高。

nat address-group 1 200.1.1.10 200.1.1.15
// 建立地址池,1代表取个名字,取值范围为0-7
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255
// 允许192.168.1.0 段通过
nat outbound 2000 address-group 1 no-pat
// 不转换端口
dis nat session all  // 一个查看的命令

3.3 easy-IP

easy-IP技术为现实环境中用的最多的nat技术,所有的内网机器都使用 当前接口的公网地址上网,只需要一个公网地址。

使用ACL列表匹配私网的ip地址;
将所有的私网地址 映射成路由器当前接口的公网地址。

4、NATPT (端口映射)

让外网用户可以访问内网机器的服务。

nat server protocol tcp global current-interface www或80 inside 192.168.1.100 www或80