OSPF动态路由、Vlan技术-金老师
动态路由之OSPF
OSPF概述
OSPF:是开放式最短路径优先(Open Shortest Path First)的缩写。是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。
OSPF是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法(Dijkstra)被用来计算最短路径树。OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。OSPFv2是由RFC 2328定义的,OSPFv3是由RFC 5340定义的。与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。
OSPF由IETF在20世纪80年代末期开发,OSPF是SPF类路由协议中的开放式版本。
OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。
OSPF特点汇总:
OSPF以较低的频率(每隔 30 分钟)发送定期更新,为了保证lsdb的同步,这个值应该是被人们检验为比较合理的一个值。这是也可以说是一种可靠性的体现吧。
OSPF的HELL0报文计时器每隔10秒发送一次,保持时间40秒,即如果在40秒内没收到hello,则认为居不存在.在非广播网络中(帧中继),每隔30秒发送一次,保持时间120秒。
【技术原理】
OSPF(Open Shortest Path First)为IETF OSPF工作组开发的一种基于链路状态的内部网关路由协议。当OSPF 路由域规模较大时,一般采用分层结构,即将OSPF路由域分割成几个区域(Area),区域之间通过一个骨干区域互联,每个非骨干区域都需要直接与骨干区域连接,每个区域都有一个标识号,其中主干区域的标识为0 (0.0.0.0)。下图所示是一个OSPF的单区域网络。
练习:通过PT模拟器设计出如下所示的网络拓扑图,给网络中的路由器设置IP地址,然后配置OSPF动态路由协议,实现全网通。
OSPF路由通告命令:
命令格式:network 本接口网络地址 反子网掩码 area 区域号
例:network 192.168.1.0 0.0.0.255 area 0
注:area区域号取值范围为0-4294967295。
R1配置OSPF路由协议:
Routera(config)#do show ip route //查看路由表
Routera(config)#router ospf 1 //开启ospf
Routera(config-router)#network 192.168.1.0 0.0.0.255 area 0 //发布路由通告
Routera(config-router)#network 192.168.5.0 0.0.0.255 area 0 //发布路由通告
Routera(config-router)#end //退出当前配置,返回到特权模式
Routera#write //保存配置
Routera(config)# show ip route //查看路由表
traceroute路由跟踪测试
要求:从R1路由器用traceroute追踪到到R3,验证经过几跳到达目标路由器。看是否走的是OSPF的最短路径。
OSI(开放系统互联Open System Interconnection)网络七层
层号 | 名称 | 功能 | 协议 |
7 | 应用层Application | 提供与用户交互的应用程序接口port。为每一种应用的通信在报文上添加必要的的信息。如QQ、浏览器、酷狗等 | HTTP、NFS、FTP、TFTP、Telnet、SMTP、POP3、IMAP、DHCP、SNMP、DNS
单位:data数据 |
6 | 表示层Description | 定义数据的表示方法,数据压缩和加密,使数据以可以理解的格式发送和读取。如文本、图片、声音、视频等。 | |
5 | 会话层Session | 建立、管理和终止网络会话,提供网络会话的顺序控制。解释用户和机器名称也在这层完成。 | |
4 | 传输层Transfer | 建立端到端的连接,提供端口地址寻址(TCP/UDP)。建立、维护、拆除连接。实现流量控制、出错重发、数据段等功能。单位:segment段 | TCP/UDP |
3 | 网络层Network | 提供IP地址寻址和路由转发。支持子网间互联的所有功能。设备有路由器、三层交换机。单位:packet包 | IP协议、路由协议、 ARP、RARP、ICMP、IGMP、IPX、SPX |
2 | 数据层DataLink | 提供链路层地址(如MAC地址)寻址。介质访问控制(如以太网的总线争用技术)。差错检测。控制数据的发送与接收。设备有网卡、网桥、交换机。单位:Frame帧 | CSMA/CD、PPP、PPTP、L2TP、SLIP、TokingRing |
1 | 物理层 Physical | 提供建立计算机和网络之间通信所必须的硬件电路和传输介质。如网线、HUB集线器、光纤、网络接口等。 单位:bit比特流 | IEEE 802.11 IEEE 802.11a IEEE 802.11g |
注:TCP--传输控制协议,是面向连接的协议。进行数据传输之前会通过三次握手来确认对方是否在线,并且会检测对方是否接收到数据,如果未收到会重发。
UDP--用户数据报协议,是面向无连接的协议。进行数据传输之前不会确认对方是否在线,也不会确认对方是接收到数据。类似于广播的形式来传输数据。如有线电视、在线看视频、发邮件等。
TCP/IP四层模型
应用层:提供app应用程序接口。对应OSI的应用层+表示层+会话层。
传输层:等同OSI的传输层。
网络层:等同OSI的网络层。
链路层:等同OSI的数据链路层+物理层。
网络数据包的封装、解封装示意图 | |
A发数据给B的数据封装过程:
1、原始数据data
2、TCP/UDP+原始数据data
3、源IP/目标IP + data (填写快递单)
4、源MAC/目标MAC + data (快递物件装上车)
5、bit流在通信线路上传输 (道路:海、陆[有线网、光纤]、空[无线电波])
B接收数据的解封装过程:
1.bit流在通信线路上传输 (道路:海、陆[有线网、光纤]、空[无线电波])
2.源MAC/目标MAC + data (快递物件取下车)
3.源IP/目标IP + data (打开快递包裹)
4.原始数据data
各层通信方式
一层通信(物理层):
物理层采用共享同一条通信信道来传输数据。采用CSMA/CD(Carrier Sense Multiple Access with Collision Detection)基带冲突检测的载波监听多路访问技术(载波监听多点接入/碰撞检测)机制来避免数据在传输过程中的阻塞问题。属于半双工通信方式。
组建一层通信网络的设备:HUB集线器(网络性能很低,已淘汰)。
CSMA/CD协议工作示意图 | |
二层通信(数据链接层):
采用多条通信信道来传输数据。设备有交换机。交换机上会记录所连接的每块网卡的MAC地址。
MAC地址表的老化时间为300秒,也就是从一个地址记录加入地址表以后开始计时,如果在老化时间内各端口未收到源地址为该MAC地址的帧,那么,这些地址将从动态转发地址表(由源MAC地址、目的MAC地址和它们相对应的交换机的端口号)中被删除。
交换机的工作过程:
1、初始化,MAC地址表是空的。
2、通过广播形式,自动学习所接入的网卡的MAC地址,采用ARP协议。
3、定期更新MAC地址。
注意:交换机学习网卡设备的MAC地址是根据二层数据包中的源MAC地址来学习的。当数据包进入到交换机的端口后,交换机会分析数据包的源MAC地址,并将源MAC地址和交换机端口的映射关系保存到MAC地址表(mac-address-table)中。
ARP协议的工作过程:
例:用PT软件设计如下的网络拓扑图,给PC设置正确的IP地址,然后PC0去ping PC1来认识ARP的过程。
PC0通过ARP协议获取PC1的MAC地址的过程:
PC0和PC通信的过程:
ping:第1次通信
三层的数据包:
源IP:192.168.1.1
目标IP:192.168.1.2
二层数据:
源MAC: 0000.0CA7.D268
目标MAC:未知
ARP概念:
ARP是地址转换协议(Address Resolution Protocol)的缩写。是实现通过IP地址解析出MAC的功能。
ARP通信过程分析:
由于A不知道目标的MAC,会广播一个ARP的数据包给所有的电脑,电脑电到数据包后,在三层发现目标IP地址是自己,就单播回复一个ARP包给A,A收到后在将B的MAC地址和IP地址的对应关系保存在缓存中。
PC0和PC通信的过程:
ping:第2次通信
三层的数据包:
源IP:192.168.1.1
目标IP:192.168.1.2
二层数据:
源MAC: 0000.0CA7.D268
目标MAC: 000D.BD8C.4B8B
交换机学习MAC地址的过程:
交换机是通过二层数据包中的源MAC地址来学习到所连接的设备的MAC地址信息,并缓存到交换机的MAC地址表中。交换机MAC地址表中的信息包括交换机的端口号和所连接设备的MAC地址映射(对应)关系。
计算机操作系统中记录的MAC地址表:信息包括IP地址和MAC地址的映射(对应)关系。用arp -a命令查询。
查看交换机的MAC地址表:show mac-address-table
清空MAC地址表:clear mac-address-table
查看电脑的MAC地址表:arp -a [先ping一下对方的IP,再用arp -a查]
PT模拟器上的电脑上清空MAC地址表:arp -d 或 arp -d *
HUB集线器和switch交换机的区别:
交换机上会记录所连接的每台设备的MAC地址和端口的映射关系,而HUB没有。交换机组建的局域中每台设备第1次通信时会产生一个ARP广播来获取对方的MAC地址,后续通信则是单播(即点到点通信)。
HUB组建的局域中每台主机每次通信时都产生广播,会占用大量网络带宽,性能很差。现已淘汰。
交换机MAC地址表生成的示意图:
VLAN虚拟局域网
VLAN概述
VLAN(Virtual Local Area Network)的中文名为"虚拟局域网",是从逻辑上将交换机的端口分成不同的虚拟局域网。可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像在同一个局域网中一样。
为何用VLAN:
为了缩小广播的范围。因为交换机组建的局域网中,任意两台主机第1次通信时会通过ARP协议广播来获取对方的MAC,如果说网络中主机过多,会占用大量带宽。
VLAN工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。
VLAN的逻辑示意图 | VLAN的数据包结构 |
IEEE(电气和电子工程师协会,全称是Institute of Electrical and Electronics Engineers)于1999年颁布了用于标准化VLAN实现方案的802.1Q协议标准草案。VLAN技术的出现,使得管理员根据实际应用需求,把同一物理局域网内的不同用户逻辑地划分成不同的广播域,每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。
VLAN的配置命令
命令:
查看vlan信息:show vlan
创建编号为11的VLAN : vlan 11
设置f0/1接口:int f0/0
设置f0/1~f0/5接口:int range f0/1 - 5
设置端口模式为access访问: switchport mode access
将端口加入到vlan 11组中:switchport access vlan 11
设置端口模式为trunk干线(中继): switchport mode trunk (trunk上允许传输所有的vlan数据)
允许trunk干道上传输所有vlan数据:switchport trunk allowed vlan all
允许trunk干道上传输vlan 11、12数据:switchport trunk allowed vlan 11,12
练习:使用PT模拟器软件设计下图所示的网络拓扑图。然后,给每台电脑均设置正确的IP地址。测试主机A和其他主机之间的通信状态。在交换机上创建VLAN11、VLAN12,将交换机的端口按拓扑图的标识划分到不同的VLAN中。再次测试主机A和其他主机之间的通信状态。
交换机的VLAN配置:
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 11 //创建编号为11的VLAN
Switch(config)#name tech //设置vlan名称为tech
Switch(config-vlan)#vlan 12 //创建编号为12的VLAN
Switch(config)#name sales //设置vlan名称为sales
Switch(config-vlan)#do sh vlan //查看VLAN信息
Switch(config-vlan)#int range f0/1-2 //设置f0/1~f0/2的端口
Switch(config-if)#switchport access vlan 11 //将端口加入到vlan11中
Switch(config-if)#int f0/3 //设置f0/3的端口
Switch(config-if)#switchport access vlan 12 //将端口加入到vlan12中
Switch(config-if)#do sh vlan
Switch(config-if)#do write
练习:使用PT模拟器软件设计下图所示的网络拓扑图。按下图给所有的PC设置正确的IP地址,并将交换机的端口按图中所示分别划分到VLAN11和VLAN12中,然后对每台交换机的f0/24接口配置trunk模式,实现左边的VLAN11中的主机能访问右边VLAN11中的主机。
f0/24端口的trunk配置:
int f0/24
switchport mode trunk //将端口模式设置为trunk干道
switchport trunk allowed vlan 11,12 //[根据需要来做]允许trunk干道上传输vlan11和vlan12的数据
VTP协议
VTP:是虚拟局域网传输协议的缩写。用来实现VLAN的集中管理。
VTP的作用:在一台Server主交换机上创建VLAN,在其他Client客户交换机上自动接收VLAN信息的功能。思科的VTP协议跟华为的VTP协议是不兼容的。
VTP配置:
VTP服务器端配置:
do show vtp status //查看VTP状态
vtp domain qf //设置vtp的域名为qf
version 2 //启用2号版本
vtp mode server //设置工作模式为服务器端
vtp password jin //设置访问密码为jin
VTP客户端配置:
do show vtp status //查看VTP状态
vtp domain qf //设置vtp的域名为qf
version 2 //启用2号版本
vtp mode client //设置工作模式为客户端
vtp password jin //设置访问密码为jin
trunk配置:
int f0/1
switchport mode trunk
练习:使用PT模拟器软件设计下图所示的网络拓扑图。按下图给交换机配置VTP、trunk、创建VLAN。查询vlan信息。
VTP练习步骤参考:
VTP Server配置:
命令 | 功能 |
enable | 切换到特权模式 |
conf t | 进入配置模式 |
do show vtp status | 显示VTP状态信息 |
vtp domain qf | 设置vtp域名为qf××× |
vtp mode server | 设置vtp模式为Server服务器端 |
vtp password jin | 设置vtp验证密码为jin |
int range f0/1-2 | 配置f0/1至f0/2端口 |
switchport mode trunk | 设置端口模式为trunk干道模式 |
exit | 退出当前设置 |
vlan 11 | 创建编号为11的vlan |
name tech | 设置vlan名称为tech |
vlan 12 | 创建编号为12的vlan |
name sales | 设置vlan名称为sales |
vlan 13 | 创建编号为13的vlan |
name design | 设置vlan名称为design |
do show vlan | 显示vlan信息 |
do write | 保存设置 |
VTP Client配置:
命令 | 功能 |
enable | 切换到特权模式 |
conf t | 进入配置模式 |
do show vlan | 显示vlan信息 |
do show vtp status | 显示VTP状态信息 |
vtp domain qf | 设置vtp域名为qf××× |
vtp mode client | 设置vtp模式为Client客户端 |
vtp password jin | 设置vtp验证密码为jin |
int f0/1 | 配置f0/1端口 |
switchport mode trunk | 设置端口模式为trunk干道模式 |
exit | 退出当前设置 |
do show vlan | 显示vlan信息 |
do write | 保存设置 |
VLAN间的路由
概述
不同VLAN之间的主机要想正常通信,必须通过路由技术来实现。可以通过路由器的单臂路由、三层交换机这两种方式来实现。本节分别介绍单臂路由、三层交换机来实现VLAN间的通信。
单臂路由
单臂路由是采用路由器的逻辑子接口功能来实现的,需要给路由器的逻辑子接口设置多个IP,每个子接口负责转发自己所负责的VLAN数据。路由数据包协议采用802.1Q协议进行封装。下面通过案例来学习单臂路由功能。
练习:使用PT模拟器软件设计下图所示的网络拓扑图。依次给每台PC机设置正确的IP地址和网关。创建VLAN 11和VLAN 12。VLAN的名称分别为tech、sales。并对交换机的端口按图所示来划分到VLAN 11和VLAN 12中,并对连接到路由器的主干线端口设置trunk干道模式。然后在路由器上给逻辑子接口配置IP地址和数据封装类型为802.1Q来实现单臂路由。最后,测试VLAN中PC机的通信状态。并且用PT的仿真模式来查看数据包的流向动画。
注意:本例中未写出VLAN创建的命令,仅写出了单臂路由和交换机trunk的配置命令。如果不熟悉VLAN创建的命令,请参考VLAN创建的练习案例。
Router单臂路由配置:
Router>en
Router#conf t
Router(config)#int f0/0 //设置F0/0端口
Router(config)#no shutdown //激活端口
Router(config-if)#int f0/0.1 //设置F0/0端口的2号逻辑子接口
Router(config-subif)#encapsulation dot1Q 11 //在此接口封装11号VLAN的数据
Router(config-subif)#ip add 192.168.1.254 255.255.255.0 //给子接口设置IP
Router(config-if)#int f0/0.2 //设置F0/0端口的3号逻辑子接口
Router(config-subif)#encapsulation dot1Q 12 //在此接口封装12号VLAN的数据
Router(config-subif)#ip add 192.168.2.254 255.255.255.0 //给子接口设置IP
Router(config-subif)# do ping 192.168.1.1 (不通,因为交换机上没有trunk干道)
Router(config-subif)# do ping 192.168.2.3 (不通,因为交换机上没有trunk干道)
Router(config-subif)# do write
交换机配trunk干道:
Switch>en
Switch#conf t
Switch(config)#int f0/23
Switch(config-if)#sw
Switch(config-if)#switchport mode trunk
Switch(config)# do write
三层交换机
三层交换机可以实现VLAN之间的通信,既可工作在2层,也可以工作在3层,并且支持部分三层的路由协议。
在中、大型局域网中只要用到VLAN技术,那么一定会采用三层交换机实现VLAN之间的通信。
三层交换机实现VLAN间通信的方法:
直接在三层交换机上启用routing路由转发(forward)功能,并给VLAN设置IP地址。
三层交换机配置:创建VLAN,并给VLAN设置IP地址
Switch>en
Switch#conf t
Switch(config)#ip routing //启用路由转发功能
Switch(config)#vlan 11
Switch(config-vlan)#name tech
Switch(config-vlan)#vlan 12
Switch(config-vlan)#name design
Switch(config-vlan)#int vlan 11 //设置VLAN 11
Switch(config-if)#ip add 192.168.1.254 255.255.255.0
Switch(config-if)#int vlan 12 //设置VLAN 12
Switch(config-if)#ip add 192.168.2.254 255.255.255.0
Switch(config-if)#do write
Switch(config-if)#ping 192.168.1.1
Switch(config-if)#ping 192.168.2.3
交换机的Telnet远程登录设置
练习:用PT设计下图所示的网络拓扑图,先给PC设置正确的IP地址,然后给交换机的vlan 1设置IP地址,并激活VLAN 1,再给交换机配置telnet远程登录,最后用PC的cmd界面测试telnet远程登录到交换机。
给交换机的VLAN设置IP:
Switch>enable
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int vlan 1
Switch(config-if)#ip add 192.168.3.254 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# do ping 192.168.3.1
Switch(config-if)# do show run
Switch(config-if)#do wr
给交换机设置telnet远程登录:
Switch(config-if)#line vty 0 4
Switch(config-line)#pass
Switch(config-line)#password jin
Switch(config-line)#login
Switch(config-line)#do write
子网划分
子网掩码的作用:明确标识出IP地址中的网络号(网络位)和主机号(主机位)。子网掩码二进制数中连续的1用来对应IP地址中的网络号,连续的0用来对应IP地址中的主机号。
IP地址 | 192.168.5.8 (C类) | 192.168.5.8
|
子网掩码 | 255.255.255.0 (C类) | 1111 1111. 1111 1111. 1111 1111.0000 0000 |
网络号 | 前3组数 | 192.168.5 |
主机号 | 第4组数(取值范围0~255) | 8 |
网络地址 | 即主机号为全0的IP地址 | 192.168.5.0 |
广播地址 | 即主机号为全1的IP地址 | 192.168.5.255 |
可用主机号 | 可用主机号=28-2=256-2=254 | 254 |
可用IP地址 | 192.168.5.1 → 192.168.5.254 |
子网掩码可以实现的功能:
子网划分:借主机位来充当网络位,就可以将大的网络划分成很多小的网络,这种子网掩码被称做VLSM变长子网掩码(Variable Length Subnetwork Mask)。可理解成将一个大组分成很多个小组。
超网:借网络位来充当主机位,就可以将小的网络合并成一个大的网络。
说明:网络号的二进制位数增加,主机号的二进制位数就会减少。
如:从C类IP地址中的主机号(8位二进制)中借一位当做网络号,主机号则剩下七位二进制。
子网掩码:255.255.255.128 128[1 000 0000]
子网1的主机号范围:0~127 0[0 000 0000] ~ 127[0 111 1111]
子网2的主机号范围:128~255 128[1 000 0000] ~ 255[1 111 1111]
注意:以上主机号取值范围中红字的0、1是从主机号中借的一位用来作为网络号的。
2的幂(指数) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
十进制值 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
子网划分的提问:
1.将C类IP地址192.168.8.0这个网络划分成2子网,子网掩码应该是多少?每个子网的IP数量?每个子网的主机号取值范围分别是多少?每个子网的网络地址和广播地址分别是多少?
子网划分解题分析:
第1步,C类IP地址的默认子网掩码是255.255.255.0(即/24)根据划分成2个子网的要求,得出需要从主机号中借一位作为网络号。从而得出子网掩码是255.255.255.128(即/25)。
第2步,每个子网的IP总数是256除以子网数量,即256/2=128。
第3步,根据每个子网的IP总数是128,得出以下子网的主机号取值范围:
子网一:192.168.8.0~192.168.8.127
子网二:192.168.8.128~192.168.8.255
第4步,每个子网的网络地址和广播地址分别如下:
网络地址:IP地址中主机号为全0的地址。
广播地址:IP地址中主机号为全1的地址
注意:网络地址和广播地址是不能分配给主机用的,网络地址是记录在路由表中的,而广播地址是在DHCP服务中发广播时会用到。
子网一:网络地址192.168.8.0 (0 000 0000) 广播地址:192.168.8.127 (0 111 1111)
子网二:网络地址192.168.8.128 (1 000 0000) 广播地址: 192.168.8.255 (1 111 1111)
从主机号中 借的位数 | 子网数 | 每个子网的 IP总数 | 子网掩码前缀 | 子网掩码 | |
0 | 20=1 | 256 | 28=256 | /24 | 255.255.255.0 |
1 | 21=2 | 256/2=128 | 27=128 | /25 | 255.255.255.128 |
2 | 22=4 | 256/4=64 | 26=64 | /26 | 255.255.255.192 |
3 | 23=8 | 256/8=32 | 25=32 | /27 | 255.255.255.224 |
4 | 24=16 | 256/16=16 | 24=16 | /28 | 255.255.255.240 |
5 | 25=32 | 256/32=8 | 23=8 | /29 | 255.255.255.248 |
6 | 26=64 | 256/64=4 | 22=4 | /30 | 255.255.255.252 |
7 | 27=128 | 256/128=2 | 21=2 | /31 | 255.255.255.254 |
8 | 28=256 | 256/256=1 | 20=1 | /32 | 255.255.255.255 |
2的幂(指数) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
十进制值 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
子网划分练习:
1.将C类IP地址192.168.15.0这个网络划分成4子网,子网掩码应该是多少?每个子网的IP数量?每个子网的主机号取值范围分别是多少?每个子网的网络地址和广播地址分别是多少?可用IP是范围是多少?
解题分析:
C类IP默认子网掩码:255.255.255.0 (/24)
划分4个子网:从主机号中借2位 22=4
子网掩码:255.255.255.192 (/26) 192(11 00 0000)
每个子网的IP总数:256/子网数=256/4=64 即将256个数平均分成4份,每份64个数
每个子网的主机号取值范围分别如下:
子网一:0 ~ 63 192.168.15.0~192.168.15.63
子网二:64 ~ 64+63=127 192.168.15.64~192.168.15.127
子网三:128 ~ 128+63=191 192.168.15.128~192.168.15.191
子网四:192 ~ 192+63=255 192.168.15.192~192.168.15.255
每个子网的网络地址和广播地址分别如下:
网络地址 广播地址 可用IP地址
子网一: 192.168.15.0 192.168.15.63 192.168.15.1~192.168.15.62
子网二: 192.168.15.64 192.168.15.127 192.168.15.65~192.168.15.126
子网三: 192.168.15.128 192.168.15.191 192.168.15.129~192.168.15.190
子网四: 192.168.15.192 192.168.15.255 192.168.15.193~192.168.15.254
子网划分练习:
1.将C类IP地址192.168.15.0这个网络划分成8子网,子网掩码应该是多少?每个子网的IP数量?每个子网的主机号取值范围分别是多少?每个子网的网络地址和广播地址分别是多少?可用IP是范围是多少?
解题分析:
C类IP默认子网掩码:255.255.255.0 (/24)
划分8个子网:从主机号中借3位 23=8
子网掩码:255.255.255.224 (/27) 224(111 0 0000=27+26+25=128+64+32=224)
每个子网的IP总数:256/子网数=256/8=32 即将256个数平均分成8份,每份32个数
每个子网的主机号取值范围分别如下:
子网一:0 ~ 31 192.168.15.0~192.168.15.31
子网二:32 ~ 32+31=63 192.168.15.32~192.168.15.63
子网三:64 ~ 64+31=95 192.168.15.64~192.168.15.95
子网四:96 ~ 96+31=127 192.168.15.96~192.168.15.127
子网五:128 ~ 128+31=159 192.168.15.128~192.168.15.159
子网六:160~ 160+31=191 192.168.15.160~192.168.15.191
子网七:192 ~ 192+31=223 192.168.15.192~192.168.15.223
子网七:224 ~ 224+31=255 192.168.15.224~192.168.15.255
每个子网的网络地址和广播地址分别如下:
网络地址 广播地址 可用IP地址
子网一: 192.168.15.0 192.168.15.31
子网二: 192.168.15.32 192.168.15.63
未完,待续……
问题:请问以下两个IP地址是否属于同一网段?
192.168.15.8/27 192.168.15.230/27
解题分析:
根据题目中IP地址所给的子网掩码/27可以得知,这两个IP地址是做了子网划分的,是从主机号中借了3位作为网络号。也就是划分了23=8个子网。每个子网的IP总数是256/8=32。所以以上两个IP地址不属于同一网段。
超网练习:
要求:让C类IP地址每个子网的主机数超过256台,让他们之间能正常通信,如何实现。如想让192.168.11.5和192.168.12.8这两台主机能正常通信,且不允许使用路由,如何实现。
方法:将192.168.11.5和192.168.12.8这两台主机的子网掩码设置成255.255.0.0这个B类的子网掩码。
默认子网掩码时,不能通信 因为两台主机的网络号分别是192.168.11和192.168.12 | 用B类子网掩码,两台主机能正常通信。 因为两台主机的网络号都是192.168,即网络地址都是192.168.0.0 |
1111 1110 . 0000 0000
29=512
超网练习:
要求让192.168.0.1这个IP所在的子网的IP总数为512个,请问子网掩码应该设置成多少?这个子网的IP地址取值范围是多少?
解题分析:
第1步,根据题意要求每个子网的IP总数为512个,得出主机号的二进制位数是9位(29=512)。也就是要从网络号中借1位充当主机号。即子网掩码是255.255.254.0 [254(1111 1110)]
第2步,IP地址的取值范围是192.168.0.0~192.168.1.255。
子网掩码的二进制:254(1111 1110.)
IP地址:0.0 ~ 1.255(1.1111 1111)
说明:以上IP地址和子网掩码中红字的0和1是从网络号中借的一位充当主机号。
超网练习:
IP地址192.168.0.5/24,要求从网络号中借2位作为主机号,请问此时的子网掩码是多少?这个子网的IP地址取值范围是多少?
第1步,根据题意要求借两位,则主机号共10位,子网掩码是255.255.252.0(/22)
1111 1100.=252
第2步,IP地址的取值范围是192.168.0.0~192.168.3.255
00.0000 0000=0.0
11.1111 1111=3.255
提问:以下两个IP地址是否在同一网段?
192.168.0.5/22 192.168.3.8/22
超网练习:
IP地址192.168.8.5/24,要求从网络号中借2位作为主机号,请问此时的子网掩码是多少?这个子网的IP地址取值范围是多少?这个子网中的IP总数是多少个?
第1步,根据题意得出192.168.8.5/24的默认网络号是192.168.8,子网掩码是255.255.255.0。
第2步,从网络听不懂中借2位作为主机号,子网掩码就变成了24-2=22,即255.255.252.0(/22)。
此时IP地址192.168.8.5的子网网络号是192.168.8 ( 8=0000 1000 )。
第3步,IP地址的取值范围是:
最小值: 192.168.8.0 ( 8 =0000 1000 . 0000 0000 )
最大值: 192.168.11.255 ( 11=0000 1011 . 1111 1111 )
子网的网络地址:192.168.8.0
子网的广播地址:192.168.11.255
子网中的IP总数:210=1024个
可用IP地址:192.168.8.1~192.168.11.254
ACL访问控制表(简单介绍)
概述
ACL是访问控制列表(access control list)的缩写。其功能是定义各种访问策略,并将访问规则应用到指定的端口、IP、协议上,实现安全控制功能。通常在路由器或交换机上可以实现ACL功能。
防火墙和杀毒软件的区别:
本质区别是监测的内容不同。防火墙监测的网络数据包中的IP地址、协议、MAC地址、端口听不懂等头部信息。而杀毒软件监测的是文件的正文内容(data数据)。
访问控制列表的原理
对路由器接口来说有两个方向:
出out:已经经路由器的处理,正离开路由器接口的数据包
入in:已经到达路由器接口的数据包,将被路由器处理。
匹配顺序为:“自上而下,依次匹配”。默认为拒绝(deny)
访问控制列表的类型
标准访问控制列表:一般应用在out出站接口。建议配置在离目标端最近的路由上
扩展访问控制列表:配置在离源端最近的路由上,一般应用在入站in方向
命名访问控制列表:允许在标准和扩展访问列表中使用名称代替表号
ACL配置命令
ACL配置思路:
1.创建访问控制表规则,规则中可定义源IP、目标IP、协议、端口号等参数。
2.将规则应用在路由器的端口(如f0/0、f0/1)上。
常见的网络协议及端口号:
协议 | 中文意思 | 功能 | 端口号(用来标识服务的) |
http | 超文本传输协议 | 实现web网站 | 80 |
ftp | 文件传输协议 | 文件共享(上传和下载) | 21(控制端口) 20(数据端口) |
smtp | 简单邮件传输协议 | 发送邮件 | 25 |
pop3 | 邮局协议 | 邮件、邮箱管理 | 110 |
dns | 域名系统 | 域名解析,域名和IP间的转换 | 53 |
dhcp | 动态主机配置协议 | 动态分配IP地址 | 67 68 |
tftp | 简单文件传输协议 | 迷你的ftp协议,在PXE中给客户机分发boot启动文件 | 69 |
ntp | 网络时间协议 | 网络时间同步 | 123 |
先查看一下ACL的基本种类:
R1(config)#access-list ? //我们看了以后会发现,访问控制列表,其实是靠序号去区分的
<1-99> IP standard access list //IP 标准访问控制列表(基础,仅能限制IP)
<100-199> IP extended access list //IP扩展访问控制列表(增强型,能限制IP、协议、端口号等细节参数)
ACL表的特点:
1.每个号的ACL表中可以有多条访问控制规则。
2.路由器的每个端口上仅能应用一个编号的ACL表策略。
标准ACL支持的功能:
Router(config)#access-list 1 deny ? //查看标准ACL命令帮助
A.B.C.D Address to match
any Any source host
host A single host address
扩展ACL支持的功能:
Router(config)#access-list 100 deny ? //查看扩展ACL命令帮助
ahp Authentication Header Protocol
eigrp Cisco's EIGRP routing protocol
esp Encapsulation Security Payload
gre Cisco's GRE tunneling
icmp Internet Control Message Protocol
ip Any Internet Protocol
ospf OSPF routing protocol
tcp Transmission Control Protocol
udp User Datagram Protocol
ACL项目实战
练习:用PT软件设计出下图所示的网络拓扑图,并按要求完成项目任务。
要求:
1.设计出此网络拓扑结构图。
2.给PC、路由器、服务器设置正确的IP地址和网关。
3.用两台PC分别ping测试到服务器的通信状态。
并分别访问服务器的http和ftp服务。(此时都能正常访问)
3.在路由器上设置ACL访问控制列表。
ACL要求:
1.允许192.168.1.11用ping(icmp)和ftp访问服务器。
2.允许192.168.1.12访问服务器的http网站服务。
注意:思科路由器上一旦使用ACL功能,默认会自动增加预设规则为deny拒绝所有人访问。
单词: deny拒绝 permit允许
R1的ACL配置:
R1> enable
R1#conf t
R1(config)# do show access-list //查看访问控制列表内容
R1(config)# access-list 100 permit icmp host 192.168.1.11 host 192.168.2.254 echo
R1(config)# access-list 100 permit tcp host 192.168.1.11 host 192.168.2.254 eq 21
R1(config)# access-list 100 permit tcp host 192.168.1.12 host 192.168.2.254 eq 80
R1(config)# int f0/0
Router(config-if)#ip access-group 100 in //应用100这个ACL到接口的入口上
Router(config-if)#do write
Router(config-if)#do show run //查看运行状态,会显示ACL 信息,及端口上所应用的ACL表
访问验证:
1、用192.168.1.11和192.168.1.12分别去ping 192.168.2.254这台服务器,结果是192.168.1.11是可以ping通,而192.168.1.12是ping不通的。
2、在192.168.1.11这台主机的CMD界面中输入ftp 192.168.2.254访问ftp共享,看是否能访问。(能访问则是正确结果)
3、在192.168.1.12这台主机上的浏览器中访问192.168.2.254,看是否能显示网页。(能访问则是正确结果)。
路由器实现DHCP服务
案例:用PT
DHCP配置方法:
Router(config)#ip dhcp ?
excluded-address Prevent DHCP from assigning certain addresses 设置排除的IP地址
pool Configure DHCP address pools 设置DHCP作用域(IP地址池)
relay DHCP relay agent parameters 设置DHCP中继功能(即DHCP转发功能)
Router(config)#ip dhcp pool net1 创建名称为net1的IP地址池
Router(dhcp-config)# ? 显示命令帮助
default-router Default routers
dns-server Set name server
exit Exit from DHCP pool configuration mode
network Network number and mask
Router(dhcp-config)#network 192.168.1.0 255.255.255.0
Router(dhcp-config)#default-router 192.168.1.1
Router(dhcp-config)#dns-server 8.8.8.8
Router(dhcp-config)#ip dhcp excluded-address 192.168.1.2 192.168.1.5 排除1.2到1.5之间的IP地址
Router(dhcp-config)#do write
Router(dhcp-config)#do show run
Router(config)#ip dhcp pool net2 创建名称为net2的IP地址池
Router(dhcp-config)#network 192.168.2.0 255.255.255.0
Router(dhcp-config)#default-router 192.168.2.1
Router(dhcp-config)#dns-server 8.8.8.8
Router(dhcp-config)#do write
Router(dhcp-config)#do show run
附加任务1:
Router(config)# int f0/1
Router(config-if)# ip add 192.168.2.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# do write
附加任务2:在上面的拓扑图右侧添加一台交换机和2台电脑,并连线。将电脑的IP地址设置为DHCP自动获取。看两台电脑获得的IP地址是多少?
附加任务3:将上面的网络拓扑图右侧进行修改,得到下图所示的拓扑,即添加一台路由器、交换机、两台电脑。再设置DHCP中继(ip helper-address)功能。
在最右侧的router1上给接口配置IP地址:
步骤省略……
在router 0上创建192.168.3.0的IP地址池
Router>en
Router#conf t
Router(config)#ip dhcp pool net3
Router(dhcp-config)#network 192.168.3.0 255.255.255.0
Router(dhcp-config)#default-router 192.168.3.1
Router(dhcp-config)#do write
在router0和router1上分别配置rip路由:
router0的rip配置:
enable
conf t
router rip
network 192.168.1.0
network 192.168.2.0
router1的rip配置:
enable
conf t
router rip
network 192.168.2.0
network 192.168.3.0
在router 1上配DHCP Relay中继(ip helper-address):
Router(config)# int f0/1
Router(config-if)#ip helper-address 192.168.2.1 (把接收到的DHCP请求包发送到192.168.2.1)
验证:查看最右边的两台电脑通过DHCP自动获得的IP是多少?
综合项目练习:
某公司购买了如下设备:
路由器:1台
三层交换机:1台
二层交换机:2台
服务器:1台
台式机:3台
笔记本电脑:3台
网络设计和配置要求:
1.按下图所示在PT中设计出网络拓扑图。
2.IP地址用192.168.1.0/24这个网络进行子网划分,分成2个子网。
3.路由器上配置DHCP服务,实现给网络中的计算机动态分配IP地址。
4.在网络中用到VLAN及VTP技术,将笔记本电脑划分到名称为tech的VLAN11中,将台式机和服务器划分到名称为sales的vlan 12中。VLAN 11和VLAN12中的主机IP分别采用划分后的子网IP地址。所有的台式机和笔记本电脑采用DHCP自动获取IP地址。
5.要求VLAN 11和VLAN 12中的主机要能互相通信(能ping通)。
6.在路由器上配置ACL,要求VLAN 11和VLAN 12中的第1台电脑能正常访问服务的各种服务,其他电脑不允许访问。
参考答案:
1.设计拓扑图
2.子网划分
子网数:2个
子网掩码:255.255.255.128(/25)
子网一的可用IP: 192.168.1.1~192.168.1.126 网络地址:192.168.1.0 广播地址:192.168.1.127
子网二的可用IP: 192.168.1.129~192.168.1.254 网络地址:192.168.1.128 广播地址:192.168.1.255
3.略去
4.VLAN配置
三层交换机的VLAN配置:
enable
conf t
ip routing
vlan 11
name tech
vlan 12
name sales
int f0/4
switchport access vlan 12
do show vtp status
vtp domain qf
vtp mode server
vtp password qf
int vlan 11
ip add 192.168.1.1 255.255.255.128
no shutdown
int vlan 12
ip add 192.168.1.129 255.255.255.128
no shutdown
do show vlan
do write
三层交换机的DHCP配置:
ip dhcp pool net1
network 192.168.1.0 255.255.255.128
default-router 192.168.1.1
dns-server 8.8.8.8
exit
ip dhcp pool net2
network 192.168.1.128 255.255.255.128
default-router 192.168.1.1
dns-server 8.8.8.8
do write
do show run
二层交换机配置(SW1)
enable
conf t
vtp domain qf
vtp mode client
vtp password qf
int f0/1
switchport mode trunk
do show vlan
int range f0/2-3
switchport access vlan 12
int f0/4
switchport access vlan 11
do write
do show vlan
二层交换机配置(SW2)
enable
conf t
vtp domain qf
vtp mode client
vtp password qf
int f0/1
switchport mode trunk
do show vlan
int range f0/2-3
switchport access vlan 11
int f0/4
switchport access vlan 12
电脑IP配置成DHCP:
查看获取的IP地址是否为所在VLAN的IP地址。
三层交换机配置ACL:
ACL配置详解
什么是ACL?
访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。该技术初期仅在路由器上支持,近些年来已经扩展到三层交换机,部分最新的二层交换机也开始提供ACL的支持了。
访问控制列表的原理
对路由器接口来说有两个方向:
出out:已经经路由器的处理,正离开路由器接口的数据包
入in:已经到达路由器接口的数据包,将被路由器处理。
匹配顺序为:“自上而下,依次匹配”。默认为拒绝(deny)
访问控制列表的类型
标准访问控制列表:一般应用在out出站接口。建议配置在离目标端最近的路由上
扩展访问控制列表:配置在离源端最近的路由上,一般应用在入站in方向
命名访问控制列表:允许在标准和扩展访问列表中使用名称代替表号
访问控制列表使用原则
1、最小特权原则
只给受控对象完成任务所必须的最小的权限。也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。
2、最靠近受控对象原则
所有的网络层访问权限控制。也就是说在检查规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。
3、默认丢弃原则(deny)
在CISCO路由交换设备中默认最后一句为ACL中加入了DENY ANY ANY,也就是丢弃所有不符合条件的数据包。这一点要特别注意,虽然我们可以修改这个默认,但未改前一定要引起重视。
由于ACL是使用包过滤技术来实现的,过滤的依据又仅仅只是第三层和第四层包头中的部分信息,这种技术具有一些固有的局限性,如无法识别到具体的人,无法识别到应用内部的权限级别等。因此,要达到端到端的权限控制目的,需要和系统级及应用级的访问权限控制结合使用。
一、standard标准访问列表
访问控制列表ACL分很多种,不同场合应用不同种类的ACL。其中最简单的就是标准访问控制列表,标准访问控制列表是通过使用IP包中的源IP地址进行过滤,使用访问控制列表号1到99来创建相应的ACL。
标准ACL格式:
access-list access-list-number [permit | deny ] [sourceaddress] [wildcard-mask]
access-list-number 为1-99 或者 1300-1999之间的数字,这个是访问列表号。一个表号中可包含多条访问规则。
例如:access-list 10 deny host 192.168.1.1这句命令是将所有来自192.168.1.1地址的数据包丢弃。
当然我们也可以用网段来表示,对某个网段进行过滤。命令如下:access-list 10 deny 192.168.1.0 0.0.0.255
通过上面的配置将来自192.168.1.0/24的所有计算机数据包进行过滤丢弃。为什么后头的子网掩码表示的是0.0.0.255呢?这是因为CISCO规定在ACL中用反向掩玛表示子网掩码,反向掩码为0.0.0.255的代表他的子网掩码为255.255.255.0。
小提示:对于标准访问控制列表来说,默认的命令是HOST,也就是说access-list 10 deny 192.168.1.1表示的是拒绝192.168.1.1这台主机数据包通讯,可以省去我们输入host命令。
标准访问列表配置实例:
R1(config)#access-list 10 deny 192.168.2.0 0.0.0.255
R1(config)#access-list 10 permit any
R1(config)#int fa0/0.1
R1(config-subif)#ip access-group 10 out
上面配置的含义是阻止来自网段192.168.2.0的机器从int fa0/0.1端口出去,访问列表在配置好之后,要把它在端口上应用,否则配置了还是无效的。
注意事项:
1、标准访问列表,一般来说配置尽量靠近目的端。
2、配置的第二条命令中的any相当于 0.0.0.0 255.255.255.255
3、一定要加pemint any,使其他的网络可通。
4、访问列表是从上到下一条一条进行匹配的,所以在设置访问列表的时候要注意顺序。如果从第一条匹配到最后一条还是不知道要怎么做,路由器就会丢弃这个数据包,也就是为什么上面的例子中上一定要加permit any。
5、如果只阻止一个主机,那可以用 host 192.168.1.12 或者 192.168.1.12 0.0.0.0,这两种配置是等价的。
删除已建立的标准ACL
R1(config)#no access-list number
对标准的ACL来说,不能删除单个acl语句,只能删除整个ACL
总结:标准ACL占用路由器资源很少,是一种最基本最简单的访问控制列表格式。应用比较广泛,经常在要求控制级别较低的情况下使用。如果要更加复杂的控制数据包的传输就需要使用扩展访问控制列表了,他可以满足我们到端口级的要求。
二、extend扩展访问控制列表
上面我们提到的标准访问控制列表是基于IP地址进行过滤的,是最简单的ACL。那么如果我们希望将过滤细到端口怎么办呢?或者希望对数据包的目的地址进行过滤。这时候就需要使用扩展访问控制列表了。使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如WWW,FTP等)。扩展访问控制列表使用的ACL号为100到199。
扩展ACL格式:
access-list access-list number {permit/deny} protocol +源地址+反码 +目标地址+反码+operator operan(It小于,gt大于,eq等于,neq不等于.具体可?)+端口号
1、扩展访问控制列表号的范围是100-199或者2000-2699。
2、因为默认情况下,每个访问控制列表的末尾隐含deny all,所以在每个扩展访问控制列表里面必须有:access-list 110 permit ip any any 。
3、不同的服务要使用不同的协议,比如TFTP使用的是UDP协议。
4、更多注意事项可以参考上面标准访问控制列表部分
例如:access-list 101 deny tcp any host 192.168.1.1 eq www //将所有主机访问192.168.1.1这个地址网页服务(WWW)TCP连接的数据包丢弃。
小提示:同样在扩展访问控制列表中也可以定义过滤某个网段,当然和标准访问控制列表一样需要我们使用反向掩码定义IP地址后的子网掩码。
扩展ACL配置实例一:
R2(config)#access-list 110 deny tcp any host 192.168.1.12 eq www
R2(config)#access-list 110 deny tcp any host 192.168.1.12 eq ftp
R2(config)#int fa0/0
R2(config-if)#ip access-group 110 out
上面配置的含义是拒绝访问192.168.1.12的www和ftp服务
扩展ACL实例二:
路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24网段中有一台服务器提供WWW服务,IP地址为172.16.4.13。
要求:禁止172.16.3.0的计算机访问172.16.4.0的计算机,包括那台服务器,不过惟独可以访问172.16.4.13上的WWW服务,而其他服务不能访问。
路由器配置命令:
access-list 101 permit tcp any 172.16.4.13 0.0.0.0 eq www //设置ACL101,容许源地址为任意IP,目的地址为172.16.4.13主机的80端口即WWW服务。由于CISCO默认添加DENY ANY的命令,所以ACL只写此一句即可。
进入相应端口
ip access-group 101 out //将ACL101应用到端口
设置完毕后172.16.3.0的计算机就无法访问172.16.4.0的计算机了,就算是服务器172.16.4.13开启了FTP服务也无法访问,惟独可以访问的就是172.16.4.13的WWW服务了。
删除已建立的扩展标准ACL
删除和标准一样,不能单条删除,只能删除整个acl
总结:扩展ACL功能很强大,他可以控制源IP,目的IP,源端口,目的端口等,能实现相当精细的控制,扩展ACL不仅读取IP包头的源地址/目的地址,还要读取第四层包头中的源端口和目的端口的IP。不过他存在一个缺点,那就是在没有硬件ACL加速的情况下,扩展ACL会消耗大量的路由器CPU资源。所以当使用中低档路由器时应尽量减少扩展ACL的条目数,将其简化为标准ACL或将多条扩展ACL合一是最有效的方法。
三、命名访问控制列表
不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,那就是当设置好ACL的规则后发现其中的某条有问题,希望进行修改或删除的话只能将全部ACL信息都删除。也就是说修改一条或删除一条都会影响到整个ACL列表。这一个缺点影响了我们的工作,为我们带来了繁重的负担。不过我们可以用基于名称的访问控制列表来解决这个问题。
命名访问控制列表格式:
ip access-list {standard/extended} access-list-name(可有字母,数字组合的字符串)
例如:ip access-list standard softer //建立一个名为softer的标准访问控制列表。
命名访问控制列表配置方法:
router(config)#ip access-list standard +自定义名
router(config-std-nac1)#11 permit host +ip //默认情况下第一条为10,第二条为20.如果不指定序列号,则新添加的ACL被添加到列表的末尾
router(config-std-nac1)#deny any
对于命名ACL来说,可以向之前的acl中插入acl,删除也可以删除单条acl,
如:router(config)#ip access-list standard benet
router(config-std-nasl)#no 11
使用show access-lists可查看配置的acl信息
总结:如果设置ACL的规则比较多的话,应该使用基于名称的访问控制列表进行管理,这样可以减轻很多后期维护的工作,方便我们随时进行调整ACL规则。
四、反向访问控制列表
反向访问控制列表属于ACL的一种高级应用。他可以有效的防范病毒。通过配置反向ACL可以保证AB两个网段的计算机互相PING,A可以PING通B而B不能PING通A。
说得通俗些的话就是传输数据可以分为两个过程,首先是源主机向目的主机发送连接请求和数据,然后是目的主机在双方建立好连接后发送数据给源主机。反向ACL控制的就是上面提到的连接请求。
反向访问控制列表的格式:
反向访问控制列表格式非常简单,只要在配置好的扩展访问列表最后加上established即可。
反向访问控制列表配置实例:
路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24网段中的计算机都是服务器,我们通过反向ACL设置保护这些服务器免受来自172.16.3.0这个网段的病毒攻击。
要求:禁止病毒从172.16.3.0/24这个网段传播到172.16.4.0/24这个服务器网段。
配置命令:
access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.0 0.0.0.255 established //定义ACL101,容许所有来自172.16.3.0网段的计算机访问172.16.4.0网段中的计算机,前提是TCP连接已经建立了的。当TCP连接没有建立的话是不容许172.16.3.0访问172.16.4.0的。
应用规则到路由的端口
ip access-group 101 out //将ACL101应用到端口
设置完毕后病毒就不会轻易的从172.16.3.0传播到172.16.4.0的服务器区了。因为病毒要想传播都是主动进行TCP连接的,由于路由器上采用反向ACL禁止了172.16.3.0网段的TCP主动连接,因此病毒无法顺利传播。
小提示:检验反向ACL是否顺利配置的一个简单方法就是拿172.16.4.0里的一台服务器PING在172.16.3.0中的计算机,如果可以PING通的话再用172.16.3.0那台计算机PING172.16.4.0的服务器,PING不通则说明ACL配置成功。
通过上文配置的反向ACL会出现一个问题,那就是172.16.3.0的计算机不能访问服务器的服务了,假如图中172.16.4.13提供了WWW服务的话也不能正常访问。解决的方法是在ESTABLISHED那句前头再添加一个扩展ACL规则,例如:access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.13 0.0.0.0 eq www
这样根据“最靠近受控对象原则”即在检查ACL规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。172.16.3.0的计算机就可以正常访问该服务器的WWW服务了,而下面的ESTABLISHED防病毒命令还可以正常生效。
五、定时访问控制列表
设置步骤:
1、定义时间段及时间范围。
2、ACL自身的配置,即将详细的规则添加到ACL中。
3、宣告ACL,将设置好的ACL添加到相应的端口中。
定义时间范围的名称:
router(config)#time-range time-range-name
定义一个时间周期
router(config-time-range)#periodic(周期) days-of-the-week hh:mm to [days-of-the-week] hh:mm
其中days-of-the-week的取值有
Monday Tuesday Wednesday Thursday Friday Saturday Sunday{周一到周日}
daily(每天)weekdays(在平日)weekend(周末)
定义一个绝对时间
router(config)#time-range time-range-name
router(config-time-range)#absolute [start hh:mm day month year] [end hh:mm day month year]
在扩展ACL中引入时间范围
router(config)#access-list access-list-number {permit|deny} protocol {source ip +反码 destination ip +反码 +operator+time-range+time-range-name}
定时访问控制列表实例:
路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24网段中有一台服务器提供FTP服务,IP地址为172.16.4.13。
要求:只容许172.16.3.0网段的用户在周末访问172.16.4.13上的FTP资源,工作时间不能下载该FTP资源。
配置命令:
time-range softer //定义时间段名称为softer
periodic weekend 00:00 to 23:59 //定义具体时间范围,为每周周末(6,日)的0点到23点59分。当然可以使用periodic weekdays定义工作日或跟星期几定义具体的周几。
access-list 101 deny tcp any 172.16.4.13 0.0.0.0 eq ftp time-range softer //设置ACL,禁止在时间段softer范围内访问172.16.4.13的FTP服务。
access-list 101 permit ip any any //设置ACL,容许其他时间段和其他条件下的正常访问。
进入相应端口。
ip access-group 101 out //应用到端口
基于时间的ACL比较适合于时间段的管理,通过上面的设置172.16.3.0的用户就只能在周末访问服务器提供的FTP资源了,平时无法访问。
六、访问控制列表流量记录
网络管理员就是要能够合理的管理公司的网络,俗话说知己知彼方能百战百胜,所以有效的记录ACL流量信息可以第一时间的了解网络流量和病毒的传播方式。下面这篇文章就为大家简单介绍下如何保存访问控制列表的流量信息,方法就是在扩展ACL规则最后加上LOG命令。
实现方法:
log 192.168.1.1 //为路由器指定一个日志服务器地址,该地址为192.168.1.1
access-list 101 permit tcp any 172.16.4.13 0.0.0.0 eq www log //在希望监测的扩展ACL最后加上LOG命令,这样就会把满足该条件的信息保存到指定的日志服务器192.168.1.1中。
小提示:如果在扩展ACL最后加上log-input,则不仅会保存流量信息,还会将数据包通过的端口信息也进行保存。使用LOG记录了满足访问控制列表规则的数据流量就可以完整的查询公司网络哪个地方流量大,哪个地方有病毒了。简单的一句命令就完成了很多专业工具才能完成的工作。
参考文档:
百度https://baike.baidu.com/item/%E7%BB%84%E6%92%AD%E6%89%A9%E5%B1%95OSPF/288964?fr=aladdin