今天已经学习了六天了,休息了一天,上午办完事后,晚上静下心来整理一下25号学到的知识。实验已经进步,不再痛苦了,(哈哈)可以做完了(有时候做的更快了)。困难的事一定要硬着头皮干下去,(刚学的几天,实验几乎都是拖到第二天才弄懂的)这样做的习惯了,也就不难了,自然而然的通了,也不是很难。现在回忆一下昨天学到的,做一下回顾。
一: 访问控制列表(ACL —— access control list)
- 意义:应用于路由器接口的指令列表 ,用于指定哪些数据包可以接收转发,哪些数据包需要拒绝。(对数据流进行控制)
- ACL的工作原理 :(实现访问控制列表的核心技术是包过滤)
- 读取第三层及第四层包头中的信息 (IP数据包包头信息)
- 根据预先定义好的规则对包进行过滤
3.作用:提供网络访问的基本安全手段 可用于QoS,控制数据流量 控制通信量
(若no掉,则全部重写命令)
实验一:ACL
1.实例(动态路由协议)先ping 通
2.标准ACL(设在离目的网络近的路由器上)号码 1--99
标准访问控制列表只使用源地址进行过滤,表明是允许还是拒(默认没有条目拒绝)
-
第一步,创建访问控制列表(先阻止,再允许)
R(config)#access-list 1 deny 192.168.1.1 0.0.0.255 —— 阻止从192.168.1.1的主机 + 反掩码
R(config)#access-list 1 permit 192.168.1.0 0.0.0.255 —— 允许 172.16.0.0 的网络访问 + 反掩码(其他网络全部可以访问)
-
第二步,应用到接口的出方向上 (打开离目标 网络近的in 接口 注意数据流方向)
Router(config)#interface fastethernet 0/1
Router(config-if)#ip access-group 1 in
(通配符any可代替0.0.0.0 255.255.255.255 <==> access-list 1 permit any
host表示检查IP地址的所有位 可以简化不写子网掩码 access-list 1 deny 192.168.1.1 0.0.0.255 ==access-list 1 deny host 192.168.1.1)
然后就从192.168.1.1 ping 192.168.3.0网络不会通 ,192.168.1.2 能ping 通
3.标准ACL(设在离目的网络近的路由器上)号码 100--199 实现更加精确的流量控制
基于源和目的地址、传输层协议和应用端口号进行过滤,每个条件都必须匹配,才会施加允许或拒绝条件。
具体到某个协议、协议的选项、应用条件
具体协议关键字(可以代替端口号)
-
第一步,使用access-list命令创建扩展访问控制列表(创建名为cisco的命名访问控制列表)
Router(config)#ip access-list extended cisco
- 第二步,指定一个或多个permit及deny条件
Router(config-ext-nacl)# deny tcp host 192.168.1.1 host 192.168.3.0 eq www (阻止来自192.168.1.1主机访问192.168.3.10的www网址,但不阻止ping 通192.168.3.10)
Router(config-ext-nacl)# permit ip any any (允许剩下的所有网络访问)
- 第三步,应用到接口的in方向
Router(config)#interface f0/0
Router(config-if)#ip access-group cisco in
192.168.1.1打不开192.168.3.10的网站,但是可以ping通
实验二:NAT地址转换
- 背景:合法的IP地址资源日益短缺,一个局域网内部有很多台主机,但不是每台主机都有合法的IP地址,为了使所有内部主机都可以连接因特网,需要使用地址转换。
- 原理:改变IP包头,使目的地址、源地址或两个地址在包头中被不同地址替换。
- 3种实现方式:静态转换、动态转换、端口多路复用
- NAT的优点:节省公有合法IP地址、处理地址交叉、增强灵活性、安全性
NAT的缺点:延迟增大、配置和维护的复杂性、不支持某些应用
- 静态NAT配置:
第一步: 设置外部端口(路由器)
Router(config)#interface serial 0/0
Router(config-if)#ip address 192.168.1.1 255.255.255.0 (公有地址的网号与子网掩码)
第二步 :设置内部端口
Router(config)#interface FastEthernet 0/1
Router(config-if)#ip address 10.10.10. 255.255.255.0 (私有地址+子网掩码)
第三步: 在内部本地和内部合法地址之间建立静态地址转换(一个私有地址转化一个公有地址)
Router(config)#ip nat inside source static 10.10.10.2 192.168.1.2
Router(config)#ip nat inside source static 10.10.10.3 192.168.1.3
第四步:在内部和外部端口上启用NAT(注意数据流方向)
Router(config)#interface serial 0/0
Router(config-if)#ip nat inside
Router(config)#interface fastethernet 0/1
Router(config-if)#ip nat outside
- 动态NAT配置(多数私有——少数公有)
第一步: 设置外部端口IP地址
第二步: 设置内部端口IP地址
第三步:定义内部网络中允许访问外部的访问控制列表
Router(config)#access-list 1 permit 10.10.10.0 0.0.0.255(私有网络)
第四步:定义合法IP地址池
Router(config)#ip nat pool test0 192.168.1.10 192.168.1.50 network 255.255.255.0(公有地址从1.10~1.50)
第五步:指定网络地址转换映射
Router(config)#ip nat inside source list 1 pool test0
第六步:在内部和外部端口上启用NAT
Router(config)#Interface serial 0/0
Router(config-if)#Ip nat inside
Router(config)#Interface fastethernet 0/1
Router(config-if)#Ip nat outside
- PAT配置(多对一)
第一步 :设置外部端口IP地址
第二步: 设置内部端口IP地址
第三步 :定义内部网络中允许访问外部的访问控制列表
第四步:定义合法IP地址池
Router(config)#ip nat pool onlyone 192.168.1.1 192.168.1.1 netmask 255.255.255.0
第五步:指定网络地址转换映射
Router(config)#ip nat inside source list 1 pool onlyone overload
第六步:在内部和外部端口上启用NAT
Router(config)#interface serial 0/0
Router(config-if)#ip nat inside
Router(config)#interface fastethernet 0/1
Router(config-if)#ip nat outside