ACL:一种包过滤技术,非常重要的技术,应用在防火墙(是防火墙最重要的技术)、Linux防火墙
不能用在2层端口上,至少3层端口。可以读取第三层(IP包头)、第四层(TCP/UDP包头)包头信息。
ACL两大类:
1、标准访问控制列表:标准ACL standard 表号:1-99 或 1300-1999
特点:只能根据源IP对包进行过滤,对目标没有限制能力
2、扩展访问控制列表:扩展ACL extended 表号:100-199 或 2000-2699
特点:可以依据源IP、目标IP、端口号、及协议等条件对包进行过滤
重难点
1. ACL表配置完毕后,必须应用到接口的in或out方向上,才能生效!
2.在所有ACL表的最后都有一条隐藏的拒绝所有条目
3.在匹配ACL时,是严格自上而下匹配每一条的!
4. 标准ACL必须写在靠近目标端的地方、扩展ACL尽量写在靠近源端的地方。
5.一个接口的一个方向上只能应用一张表!在一接口上,若一张表应用方向反了,则往该方向不受该表限制。
6.路由器上的ACL表对自身产生的数据不起作用!
7. 一张标准或扩展ACL一旦编写完,不能删除某一条,也不能往中间插入新的条目,只能往最后继续添加新的条目,要改或删除的话,只能删除整张表,再重新写!!
若只允许小部分,则先写允许即可
若只禁止小部分,则先写拒绝的这小部分,再允许全部
标准ACL的命令
conf t
access-list 表号 permit/deny 源网段或IP 反子网掩码
如:
acc 1 permit 20.1.1.0 0.0.0.255
扩展ACL命令
conf t
acc 101 permit/deny 协议号 源IP或网段 反掩码 目标IP或网段 反掩码 [eq 端口号]
如:
acc 100 deny ip 192.168.1.0 0.0.0.255 192.168.4.0 0.0.0.255
acc 100 permit tcp host 192.168.2.1 host 192.168.4.1 eq 80
acc 100 deny icmp host 192.168.2.1 host 192.168.5.1
acc 100 permit any any
将ACL应用到接口上:(只有将ACL应用到接口上 in/out 才能生效)
int f0/0
ip access-group 表名 in/out
查看设备上的ACL表: show ip access-list [表号]
查看接口是否应用ACL表: show ip int f0/0
子网掩码:确定主机位,确定IP地址所处的网段
反子网掩码:作用通配符,做匹配使用。子网掩码基础上0变255,255变0。
只有0位对应的源网段或IP要求严格匹配
以扩展ACL为例: (优点:可以增删表中某一条命令 no 20)
ip access-list extended “表名” (此时表名不局限于数字,也可用英文组合)
[21] deny tcp host 30.1.1.1 10.1.1.0 0.0.0.255 eq 23
permit ip any any
exit 再应用到接口
命名ACL 删除要用完整命令删除: no ip access-list extended “表名”
用传统方式写的,也可以用扩展命名的方式进入。可用来删除表中的某一条命令
例如:
acc 100 deny tcp host 192.168.1.1 host 192.168.4.1 eq 80
acc 100 permit tcp host 192.168.2.1 host 192.168.4.1 eq 80
acc 100 deny icmp host 192.168.2.1 host 192.168.5.1
acc 100 permit any any
ip access-list extended 100
no 20
NAT:将私有IP地址转换为公有IP地址。 NAT一定放在公司总出口
一、引入NAT原因:
1)ipv4地址严重不够用!
2)开发了私有IP:
10开头的
172.16-172.31开头的
192.168.开头
3)要求私有IP只能在内网使用,公网上不允许出现私有IP
4)私有IP可以在不同的内网可以重复使用
二、NAT分类:
1)静态NAT:一对一转换,适用于发布内网服务器,称为端口映射。(服务器)
2)动态NAT:多对一转换,但不能同时转换(摒弃)
3)PAT:多对一转换,多个私有IP同时使用1个公网ip的技术(主流)
(Port Address Translation)
三、NAT原理:详见讲解图
1)NAT要求路由器设置内外网端口!
2)内网到外网的数据转换源IP
3)外网到内网的数据转换目标IP
1.定义内网接口:
int f0/0
ip nat inside
exit
2.定义外网接口:
int f0/1
ip nat outside
exit
3.配置PAT:
定义内部地址池:
conf t
access-list 1 permit 192.168.0.0 0.0.255.255
PAT动态映射:
conf t
ip nat inside source list 1 int f0/1 overload
4.静态端口映射:
(假设内网服务器192.168.1.66的web服务器需要映射)
(假设公司购买的公网VIP是100.1.1.5)
conf t
ip nat inside source static tcp 192.168.1.66 80 100.1.1.5 80
ip nat inside source static tcp 192.168.1.77 21 100.1.1.5 21
ip nat inside source static tcp 192.168.1.88 3389 100.1.1.5 3389
ip nat inside source static tcp 192.168.1.99 80 100.1.1.6 80
5.查看NAT地址转换表:
show ip nat translations