ACL与NAT
ACL
ACL 应用
- 应用在接口的ACL-----过滤数据包(5元组:源目IP+端口号+协议TCP/UDP)
- 应用在路由协议-------匹配相应的路由条目( )
- NAT、IPSEC、VPN、QOS-----匹配感兴趣的数据流(匹配上我设置的 数据流的)
ACL 工作原理:
当数据包从接口经过时,由于接口启用了acl, 此时路由器会对报文进行检查,然后做出相应的处理。
ACL种类:
- 编号2000-2999---基本ACL----依据依据数据包当中的源IP地址匹配数据(数据时从 哪个IP地址 过来的)
- 编号3000-3999---高级ACL----依据数据包当中源、目的IP,源、目的端口、协议号匹配数据
- 编号4000-4999---二层ACL,MAC、VLAN-id、802.1q
ACL(访问控制列表)的应用原则:
基本ACL:尽量用在靠近目的点
高级ACL:尽量用在靠近源的地方(可以保护带宽和其他资源)
匹配规则:
1、一个接口的同一个方向,只能调用一个acl
2、一个acl里面可以有多个rule 规则,按照规则ID从小到大排序,从上往下依次执行
3、数据包一旦被某rule匹配,就不再继续向下匹配
4、用来做数据包访问控制时,默认隐含放过所有(华为设备)
ACL书写格式与应用
acl 2000(基本acl 2000-2999)
#新建表格
rule number permit/deny source 匹配的条件(源ip地址) 通配符掩码(控制范围)
#permit 同意、deny 拒绝、source 源
int 端口
##基本ACL遵循靠近目的地设置##
traffic-filter outbound acl 2000
发送时过滤条件取用acl 2000
#数据流向
在接口下调用acl 分为两个方向
inbound方向--------当接口收到数据包时执行ACL
outbound方向-------当设备从特定接口向外发送数据时执行ACL
#通配符:根据参考ip地址,通配符“1”对应位可变,“0”对应位不可变,0/1可以穿插
例:允许192.168.1.0-192.168.1.7通过
前三段不可变则为0.0.0.第四段:0-7,0000 0000-0000 0111则为3位可变则通配符为0.0.0.7
例:允许192.168.1.0-192.168.1.8通过
前三段不可变则为0.0.0.第四段0-8,0000 0000-0000 1000由于8为0-7加上8(0-7为前三位都有变换,8为0000 1000只有一个)则通配符为0.0.0.7,0.0.0.8
则:rule 5 deny source 192.168.1.0 0.0.0.7,rule 10 deny source 192.168.1.1 0.0.0.8
例:允许192.168.1.0为偶数的通过
偶数则二进制最后一位为0不变所以通配符为1111 1110为254即rule 5 deny source 192.168.1.0 0.0.0.254
例:允许192.168.1.0为奇数的通过
偶数则二进制最后一位为1不变所以通配符为1111 1110为254即rule 5 deny source 192.168.1.1 0.0.0.254
acl 3000(高级ACL3000~3999)
#新建表格
rule number permit/deny 协议 source 源IP 通配符 destination 目的IP 通配符 destination-port 范围 端口号
#destination 目的地、destination-port目的端口
#范围:eq 等于,gt 大于,lt 小于,range 两数之间
rule 5 deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq www
拒绝192.168.1.1访问192.168.2.1的TCP 80端口
##高级ACL遵循靠近源地址设置##
基本ACL应用
#客户端1、2不允许访问服务器1
acl 2000
rule 5 deny source 192.168.1.0 0.0.0.255
int g0/0/1
traffic-filter outbound acl 2000
#客户端1不允许访问服务器1
acl 2000
rule 5 deny source 192.168.1.1 0.0.0.0
int g0/0/1
traffic-filter outbound acl 2000
#奇数客户端不允许访问服务器1
acl 2000
rule 5 deny source 192.168.1.1 0.0.0.254
int g0/0/1
traffic-filter outbound acl 2000
高级ACL应用
#拒绝192.168.1.1访问192.168.2.1的TCP 80端口
acl 3000
rule 5 deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq 80
int g0/0/0
traffic-filter inbound acl 3000
NAT
NAT(网络地址翻译)
一个数据包目的ip或者源ip为私网地址, 运营商的设备无法转发数据。
NAT工作机制
一个数据包从企业内网去往公网时,路由器将数据包当中的源ip(私有地址),翻译成公网地址
静态NAT
int g0/0/1
nat static enable ----自动启用NAT
nat static global 200.1.1.100 inside 192.168.1.1 ----将公网地址200.1.1.100替换私网地址192.168.1.1
#为1公网地址对应1私网地址
动态NAT
nat address-group 1 200.1.1.10 200.1.1.15 ----建立公网地址池(10-15)
acl number 2000 ----建立基本ACL
rule 5 permit source 192.168.1.0 0.0.0.255 ----允许192.168.1.0网关中所有的主机通过
int g0/0/1
nat outbound 2000 address-group 1 no-pat ----允许ACL 2000条件下的主机使用group 1中的公网地址
#no-pat 不转换端口;公网池中用完需排队等待
Easy-IP
1.使用列表匹配私网的ip地址
2.将所有的私网地址映射成路由器当前接口的公网地址
acl 2000
rule permit source 192.168.1.0 0.0.0.255 ----允许192.168.1.0网关中所有的主机通过
int g0/0/1
nat outbound 2000 ----acl 2000中的主机使用nat
display nat session all ----查看所有nat会话
NATPT(端口映射)
NAT Server----内网服务器对外提供服务,针对目的ip和目的端口映射
内网服务器的相应端口映射成路由器公网ip地址的相应端口
[企业出口]
int g0/0/1
nat server protocol tcp global current-interface www inside 192.168.1.100 www
#将当前公网接口的tcp协议 80端口当成内网192.168.1.100的tcp协议 80端口