16 ACL的应用和NAT技术

  1. ACL访问控制列表
    1.1 ACL概述
    访问控制列表,定义一系列规则,涉笔根据这些规则对数据包进行分类处理,一种古老的防火墙,只有两种动作:丢弃或允许通过
    ACl应用于接口上,对每个接口的出入双向分别过滤,仅当数据包经过/到达一个接口时才能被此接口的此方向的ACL过滤。
    ACL规则配置的序号一般要空几个,防止之后需要在中间插入规则,序号一般为5的倍数,5、10、15......
    1.2 通配符掩码(不是反掩码)
    和IP地址结合使用,用来描述一个地址范围。通配符掩码和子网掩码相似,但是含义不同。0表示对应位需要比较(即网络位,不能改变),1表示对应位不进行比较(即主机位,可以随意改变)
    通配符掩码
    1.3 ACL的分类
    ACL的分类
    1.4 工作流程和设置要求
    逐条匹配,命中则处理,如果未命中,则匹配最后一条规则(默认规则)。
    匹配顺序就是ACL中规则的优先级,越精准的流量和范围应该配置更小的序号/规则
    尽可能在靠近数据源的路由器接口上配置ACl,以减少不必要的陆良转发/设备处理。高级ACl:应该在靠近被过滤的接口上应用ACl,尽早阻止不必要的流量进入网络;基本ACL:过于靠近被过滤源的基本ACL可能阻止该源访问合法目的,应该在不影响其其他合法访问的前提下,尽可能使ACl靠近被过滤的源。
    思科:默认最后一条隐藏规则为deny,因此在配置思科设备之后,要保证其他流量能正常通过,需要在配置完最后一条规则之后再追加一条:xx permit any。
    华为:应用在接口下,默认最后一条隐藏规则为permit;应用在用户视图下(telnet\ssh等),默认最后一条规则为deny。
  2. NAT网络地址转换
    NAT提供私有地址到公有地址的转换,隐藏内部地址(安全),一般部署在连接内网和外网的网关设备上。
    2.1 常见NAT分类
    a. 静态NAT(IP--IP,1对1,基本不用),
    b. 动态NAT(IP--IP,多对多,即多个非固定的静态NAT,基本不用);
    c. 思科PAT端口地址转换OR华为EasyIP(IP:port--IP:port,1对多,常用)
    d. NetServer(NAT服务器,NAPT,网络地址端口转换)==思科静态端口转换(IP:port--IP:port,1对多,常用)
    2.2 Easy IP
    NAT设备直接使用出接口的IP地址作为转换后的原地址,不需要预先配置地址池,适用于拨号接入Internet或者动态获取IP地址的场合。
    EasyIP允许将多个内部地址映射到网关出接口地址上的不同端口。
    实施步骤:定义一个acl,作用是定义哪些主机可以被转换,只有被转换的主机才可以访问互联网,不被定义的不能访问, 然后在出接口(连接外网的接口)应用EasyIP,将出接口的IP地址作为转换后的源地址。
    作用:公网地址和端口的复用
    从inside到outside,必须先路由再NAT,存在对应的路由表是前提,如果没有路由表,无法达到相应目的地址
    2.3 NAT服务器
    网络地址端口转换NAPT允许多个内部地址映射到同一个公有地址的不同端口(基于端口的转换),属于多对一的地址转换。
    允许服务器既能被内部访问,也能被外部访问。
    转换某个特定的协议或者端口,用于把服务器提供的服务映射到公网。
  3. OSPF静态默认路由下放
    华为:
    ospf 10
    default-route-advertise [always]
    思科:
    router ospf 110
    default-information originate [always]
    带不带always的区别:
    不带always(常用,防止浪费R1的带宽),则R1上的默认静态路由删除之后,下面的交换机的默认静态路由也删除;
    带always,则R1上的默认路由删除之后,下面的交换机的默认路由不删除
  4. Qos基础
  • 对关键业务作出保证,对非重要流量或者恶意流量进行监管,带宽和时延是重要的品质参数。
  • QoS的5大任务:分类标记、拥塞避免、拥塞管理、限速和链路效率
#.......................................接口上配置基本ACL
# 禁止pc1所在网段和pc2访问AR1上的11.11.11.11
# 禁止pc1所在网段和pc2访问AS2自治域
# >>>>思科
# R1
ip access-list standard 1  # 进入标准规则1视图
5 deny 10.1.10.1 0.0.0.15 # 序号5:拒绝IP10.1.10.1/28
10 deny host 10.1.10.17
15 permit any  # 允许其他流量,包含ospf等路由协议
int e0/1
ip access-group 1 in  # 在入方向上应用规则1
int tunnel 0
ip access-group 1 out # 针对去往AS2的流量
# 验证
# R1
show access-list  #查看规则
# pc1
ping 11.11.11.11
ping 10.1.20.1


# >>>>华为
# R1
acl 2000
rule 5 deny source 10.1.10.0 0.0.0.15
rule 10 deny source 10.1.10.17 0
int g0/0/1
traffic-filter inbound acl 2000
int tunnel 0/0/0
traffic-filter outbound acl 2000
# 测试
# pc1
ping 11.11.11.11
ping 10.1.20.1
# pc2 
ping 11.11.11.11
#.......................................接口上配置高级ACL
# 禁止pc1访问client1
# >>>>华为
# R1
undo acl 200  # 删除之前的规则,并在pc1和pc2上进行ping测试
int g0/0/1 
undo traffic-filter inbound
int tunnel 0/0/0
undo traffic-filter outbound
acl 3000    # 配置高级规则
rule deny ip source 10.1.10.1 0 destination 10.1.20.1 0
int g0/0/1
traffic-filter inbound acl 3000
# 测试
# pc1
ping 10.1.20.1 # 不通
ping 10.1.30.1 # 通
# pc2
ping 10.1.20.1 # 通
ping 10.1.30.1 # 通

# >>>>思科
# 禁止pc2主机pingR1和AS2
ip accell-list extended 100
5 deny icmp 10.1.10.17 0.0.0.0 any
10 permit ip any any
int e0/1
ip access-group 1 in
# ...................................ACL在VTY下的应用(只允许特定的人员远程管理设备)
# >>>>华为
# 只允许sw2使用telnet远程R1
# R1
acl 2000
rule permint source 10.1.12.2 0
user-interface vty 0 4
acl 2000 inbound
# 测试
# sw1
telnet 10.1.12.1  # 可以
# sw2
telnet 10.1.11.1   # 不可以
# 实施本实验之前删除所有的ACL配置
# .....................................华为EasyIP实施
# 使得pc1和pc2所在网段访问8.8.8.8
# R1
acl 2000
rule permit source 10.1.10.0 0.0.0.15
rule permit source 10.1.10.16 0.0.0.15
int g0/0/0
nat outbound 2000  # EasyIP 虽然配置完毕,但是无法ping通,原因为sw1上没有8.8.8.8的路由
# sw1
# ip route-static 0.0.0.0 0 10.1.11.1  # 设置sw1的默认静态路由(R1下面交换机比较少)
# 或者在R1上OSPF下放默认路由(适合R1下面有多台交换机的情况)
# R1
ospf 10
default-route-advertise
# 测试
# R1
dis nat outbound
dis nat session all
# pc1和pc2
ping 8.8.8.8


# .....................................思科实施PAT
int e0/0
ip nat outside #定义该接口为外部接口
int e0/1
ip nat inside
int e0/2
ip nat inside
exit
ip access-list standard 2
5 permit  10.1.10.0 0.0.0.15
10 permit  10.1.10.16 0.0.0.15
exit
ip nat inside source list 2 interface e0/0 overload
router ospf 110
default-information originate
# 测试
# R1
show access-lists
show ip nat translations
# pc1和pc2
ping 8.8.8.8

华为EasyIP抓包查看
华为EasyIP

# ...................................华为NAPT(NAT服务器,NatServer)实施
# 使R3能够telnet连接sw1
# sw1,开启telnet
user-interface vty 0 4
set authenticatopn password cipher hcia
user privilege level 15
# R1
int g0/0/0
nat server protocol tcp global current-interface 23  inside 10.1.11.2 23  # 或者nat server protocol tcp global current-interface telnet  inside 10.1.11.2 23
# 测试
# R3
telnet 202.100.1.1


# ........................................思科静态NAT端口转换实施
# sw1
line vty 0 4 
password hcia
login
transport input telnet
exit
enable password hcia
# R1
ip nat inside source static tcp 10.1.11.2 23 202.100.1.1 2323
# 测试
# R3
telnet 202.100.1.1 2323
# ..............................................基本的监管限速
# >>>>思科
#R1
access-list 100 permit ip host 10.1.10.1 any    # pc1到任意设备的流量
class-map match-all C1 
match access-group 100 # 流分类工作命中ACL100的流量
policy-map P1 
class C1 
police cir 8000 # 定义监管机制,即期望的带宽,此处采用最小的带宽8000bps,即8kbps
int e0/1
ip address 10.1.11.1 255.255.255.248
service-policy input P1 # 监管用在入方向
# 测试
#R1
show policy-map int e0/1
# pc1
ping 11.11.11.11 size 1000


# >>>>华为
# R1
acl name QoS 3998
rule 10 permit ip source 10.1.10.16 0.0.0.15 
q
traffic classifier C1 operator or 
if-match acl Qos
q
traffic behavior Police 
car cir 8 cbs 1504 pbs 2504 green pass yellow pass red discard # 定义期望带宽为8k,其他的参数自动计算
statistic enable # 开启状态监测,便于检查
q
traffic policy Police 
classifier C1 behavior Police  
int g0/0/1
traffic-policy Police inbound
# 测试
#R1
dis traffic policy statistics int g0/0/1 inbound
# sw1
ping -s 1000 -a 10.1.10.30 11.11.11.11