高 強,權循忠,葛先雷
(淮南師范學院電子工程學院,安徽淮南 232038)
ACL是物聯網中保障系統安全的重要技術,ACL既可以在三層交換機和路由器上配置,也可以在具有ACL功能的業務軟件上進行配置[1]。通過使用可編程方法指定訪問規則,對設備間通信進行訪問控制,可以允許特定設備訪問、指定轉發特定端口數據包,防止破壞系統安全,獲取系統數據。
三層ACL主要基于源IP地址、目的IP地址、源端口號、目的端口號、協議類型、優先級、分片、生存時間、限速模板和時間段模板等信息對數據包進行分類定義[2-6]。通過接入控制列表,在三層交換機、路由器上進行網絡安全屬性配置,實現對進入和流出三層交換機、路由器數據流的控制,訪問控制列表ACL的規則和動作來決定數據包的通過或拒絕,從而實現控制數據的傳輸、提高網絡性能、保障業務安全[7]。
場景:公司企業網通過三層交換機實現各部門之間的互連。總裁辦公室計算機使用VLAN 10,研發部門使用VLAN 20,市場部門使用VLAN 30,外部休閑娛樂服務器使用VLAN 40,配置ACL規則,禁止研發部門和市場部門在上班時間(8∶30—17∶30)訪問外部休閑娛樂服務器(IP地址為10.164.9.9),而總裁辦公室不受限制。下面以烽火S5800三層交換機為例進行敘述。
網絡拓撲圖如圖1所示。
以PC1、PC2、PC3和PC4分別代表總裁辦公室、研發、市場和外部休閑娛樂服務器,按照拓撲圖連接設備并配置各PC,如表1所示。

圖1 網絡拓撲圖

部門(PC)IP地址子網掩碼默認網關總裁辦公室(PC1)10.164.1.33255.255.255.010.164.1.1研發部門(PC2)10.164.2.33255.255.255.010.164.2.1市場部門(PC3)10.164.3.33255.255.255.010.164.3.1外部休閑娛樂服務器(PC4)10.164.9.9255.255.255.010.164.9.1
S5800#config //進入全局配置視圖
S5800(config)#vlan 10,20,30,40 //創建valn 10、vlan 20、vlan 30和vlan 40
S5800(config)#interface gigaethernet 1/0/1 //進入1端口
S5800(config-ge1/0/1)#port link-type access //更改接口類型為access
S5800(config-ge1/0/1)#port default valn 10 //設置接口默認vlan為vlan 10
S5800(config-ge1/0/1)#quit //退出
S5800(config)#interface gigaethernet 1/0/2 //進入2端口
S5800(config-ge1/0/2)#port link-type access //更改接口類型為access
S5800(config-ge1/0/2)#port default vlan 20 //設置接口默認vlan為vlan 10
S5800(config-ge1/0/2)#quit //退出
S5800(config)#interface gigaethernet 1/0/3 //進入3端口
S5800(config-ge1/0/3)#port link-type access //更改接口類型為access
S5800(config-ge1/0/3)#port default vlan 30 //設置接口默認vlan為vlan 10
S5800(config-ge1/0/3)#quit //退出
S5800(config)#interface gigaethernet 1/0/12 //進入12端口
S5800(config-ge1/0/12)#port link-type access //更改接口類型為access
S5800(config-ge1/0/12)#port default vlan 40 //設置接口默認vlan為vlan 40
S5800(config-ge1/0/12)#quit //退出
S5800(config)#interface vlan 10 //進入vlan10
S5800(config-vlan-10)#ip address 10.164.1.1/24 //配置vlanif接口IP地址為10.164.1.1,掩碼為/24
S5800(config-vlan-10)#quit //退出
S5800(config)#interface vlan 20 //進入vlan20
S5800(config-vlan-20)#ip address 10.164.2.1/24 //配置vlanif接口IP地址為10.164.2.1,掩碼為/24
S5800(config-vlan-20)#quit //退出
S5800(config)#interface vlan 30 //進入vlan30
S5800(config-vlan-30)#ip address 10.164.3.1/24 //配置vlanif接口IP地址為10.164.3.1,掩碼為/24
S5800(config-vlan-30)#quit //退出
S5800(config)#interface vlan 40 //進入vlan30
S5800(config-vlan-40)#ip address 10.164.9.1/24 //配置vlanif接口IP地址為10.164.3.1,掩碼為/24
S5800(config-vlan-40)#quit //退出
測試結果如圖2、圖3和圖4所示。

圖2 創建ACL列表前,PC1訪問PC4結果
由圖2、圖3和圖4可以看出,在未創建ACL規則前,各個部門均能訪問外部休閑娛樂服務器PC4。
S5800(config)#time-range list 1 //創建時間模板1
S5800(config-timerange1)#time-range 1 everyweekday 8∶30∶00 to 17∶30∶00 //模板時間設置為工作日的8∶30到17∶30
S5800(config-timerange1)#quit //退出
S5800(config)#filter-list 1001 //創建三層ACL規則1001
S5800(configure-filter-ipv4-1001)#filter 1 ip 10.164.1.0/24 10.164.9.9/32 //將該ACL規則應用于源IP地址段為10.164.1.0/24和目的IP地址為10.164.9.9/32
S5800(configure-filter-ipv4-1001)#filter 1 action permit //ACL動作為允許
S5800(configure-filter-ipv4-1001)#quit //退出
S5800(config)#filter-list 1002 //創建三層ACL規則1002
S5800(configure-filter-ipv4-1002)#filter 1 ip 10.164.2.0/24 10.164.9.9/32 //將該ACL規則應用于源IP地址段為10.164.2.0/24和目的IP地址為10.164.9.9/32
S5800(configure-filter-ipv4-1002)#filter 1 action deny //ACL動作為阻止
S5800(configure-filter-ipv4-1002)#filter 1 time-range 1 //在該ACL中應用時間模板1
S5800(configure-filter-ipv4-1002)#quit //退出
S5800(config)#filter-list 1003 //創建三層ACL規則1002
S5800(configure-filter-ipv4-1003)#filter 1 ip 10.164.3.0/24 10.164.9.9/32 //將該ACL規則應用于源IP地址段為10.164.3.0/24和目的IP地址為10.164.9.9/32
S5800(configure-filter-ipv4-1003)#filter 1 action deny //ACL動作為阻止
S5800(configure-filter-ipv4-1003)#filter 1 time-range 1 //在該ACL中應用時間模板1
S5800(configure-filter-ipv4-1003)#quit //退出
S5800(config)#interface gigaethernet 1/0/1 //進入1端口
S5800(config-ge1/0/1)#filter-list in 1001 //將創建的1001 ACL規則應用于1端口
S5800(config-ge1/0/1)#quit //退出
S5800(config)#interface gigaethernet 1/0/2 //進入2端口
S5800(config-ge1/0/2)#filter-list in 1002 //將創建的1002 ACL規則應用于2端口
S5800(config-ge1/0/2)#quit //退出
S5800(config)#interface gigaethernet 1/0/3 //進入3端口
S5800(config-ge1/0/3)#filter-list in 1003 //將創建的1003 ACL規則應用于3端口
S5800(config-ge1/0/3)#quit //退出
測試使用Ping命令來檢測網絡的連通性。
S5800(config)#show clock //查看系統時間信息
System Running Time: 2 hours,23 minutes,44 seconds
顯示此時為13∶47∶11,即上班時間,此時測試PC1、PC2和PC3能否訪問PC4,測試結果如圖5、圖6和圖7所示。
設置ACL訪問規則后,在規定的上班時間8∶30—17∶30內,研發部門和市場部門無法訪問外部休閑娛樂服務器,而總裁辦公室可正常訪問外部休閑娛樂服務器,達到了預期的目的。
S5800#clock set 18∶28∶33 12 7 2017 //更改系統時間信息
S5800#show clock //查看系統時間信息
System Running Time: 2 hours,39 minutes,57 seconds
此時系統時間已修改為非工作時間,測試PC1、PC2和PC3能否訪問PC4,測試結果如圖8、圖9和圖10所示。

圖5 創建ACL列表后,PC1訪問PC4結果

圖6 創建ACL列表后,PC2訪問PC4結果

圖7 創建ACL列表后,PC3訪問PC4結果

圖8 更改系統時間后,PC1訪問PC4結果

圖9 更改系統時間后,PC2訪問PC4結果

圖10 更改系統時間后,PC3訪問PC4結果
由圖8、圖9和圖10可以看出,更改系統時間為非工作時間后,研發部、市場部和總裁辦公室均能正常訪問外部休閑娛樂服務器,結果符合預期,此時因測試需要更改系統時間,正常使用時不允許無故更改系統時間。
ACL規則可以控制特定設備訪問、指定轉發特定端口數據包,防止破壞系統安全,獲取系統數據。在企業通信中,可以配置ACL防止企業員工上班時間訪問休閑娛樂網站而影響工作效率,以及上班時間訪問不安全網站引起內部網絡安全問題,從而達到訪問控制的目的。測試結果表明,配置ACL規則可以有效控制訪問者權限,保證網絡安全。