一、ACL
1、标准访问控制

(route-config)#access-list {1-99}  [deny|permit] {ip-address}  {wildcard}  //标淮访问控制范围为1-99.  wildcard表示反掩码.缺省为permit
(route-config)#interface  s 0
(route-config-interface)#ip access-group  1 in   //把 访问控制列表1,应用到接口 s0的进口方向。
2、扩展访问控制
(route-config)#access-list {100-199} [permit|deny] {protocl}  {source-ip wildcard} {destination-ip wildcard} {operate} [destination-port] [log] [option]
//扩展访问列表序号范围100-199 。 protocl表示协议名称,如:IP,tcp。 source-ip指源地址和反掩 码, dextination-ip是指目的地址和反掩码。
 operate是指操作符,如:eq表示“等于”,lt表示“小于",neq表示非等于。destination-port,表示端口号。

3、命名访问规则
(1) 标准命名访问控制列表
ip access-list standard {name}
       
         permit 192.168.9.1 0.0.0.0
         deny   host 192.168.9.2
 
再在接口中应用控制列表名即可。
(2)扩展的命名访问列表
ip access-list extended {name}
    permit ip any 192.168.1.0 0.0.0.255 eq www   
    deny   ip any any

访问规则的处理:
自上而下的处理过程
添加到某访问控制列表的规则将永远被应用在列表的最后,这意味着不可能改变已有列表的功能。如要改变就要删除已存在的列表,再创建一个新的。
将扩展访问列表尽量放在靠近过滤的位置,即源接口位置。  标准访问控制列表放在靠近目的的位置。
尽量将具本的规则放在不具体规则的前面
访问列表,应用于接口才生效。

4、基于时间的访问列表
(route-config)#time-range {Name}     //定义时间名称
absolute {start time date} {end time date}
periodic {days-of-the week [hh:mm] }  to  {days-of-the week [hh:mm] }
只能有一个absolute语句,偍 可以有多条periodic语句。
二、NAT
1、静态地址映射,一对一
(route-config)#ip nat inside source static {local-ip} {global-ip}  //定义静态映射,local-ip是内部IP地址, global-ip是全局外部IP地址。
(route-config)#interface fastethernet 0
(route-config-interface)#ip nat inside                             //把 内部接口设为inside
(route-config)#interface  s 0
(route-config-interface)#ip nat outside                           //把外部接口设为inside
 
2、动态地址转换   多对多

(route-config)#ip nat pool {pool-name} {start-ip} {end-ip} netmask {netmask}      //设置一个全局地址池
(route-config)#access-list {access-list-number} {permit|deny} {local-ip-address}  //用一个标准访问规则定义哪些内网IP地址可以进行NAT转换
(route-config)#ip nat inside source list {access-list-number} pool {pool-name}    //把规定的内部地址转换为上面定义的全局地址
(route-config)#interface fastethernet 0
(route-config-interface)#ip nat inside                             //把 内部接口设为inside
(route-config)#interface  s 0
(route-config-interface)#ip nat outside                           //把外部接口设为inside

3、一对多复用地址转换,即一个全局地址,对多个内部地址
(route-config)#ip nat pool {pool-name} {start-ip} {end-ip} netmask {netmask}      //设置一个全局地址池,因为只有一个全局地址,所以这里的start-ip 和end-ip是一个IP地址。
(route-config)#access-list {access-list-number} {permit|deny} {local-ip-address}  //用一个标准访问规则定义哪些内网IP地址可以进行NAT转换
(route-config)#ip nat inside source list {access-list-number} pool {pool-name} overload   //把规定的内部地址转换为上面定义的全局地址,此处多一个overload关键字,表示复用。
(route-config)#interface fastethernet 0
(route-config-interface)#ip nat inside                             //把 内部接口设为inside
(route-config)#interface  s 0
(route-config-interface)#ip nat outside                           //把外部接口设为inside