33-ACL典型配置舉例
本章節下載: 33-ACL典型配置舉例 (234.71 KB)
H3C S6800產品ACL配置舉例
Copyright © 2018bobty下载软件 版權所有,保留一切權利。 非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部, 並不得以任何形式傳播。本文檔中的信息可能變動,恕不另行通知。 |
|
目 錄
本文檔介紹了ACL(Access Control List,訪問控製列表)的配置舉例。
本文檔中的配置均是在實驗室環境下進行的配置和驗證,配置前設備的所有參數均采用出廠時的缺省配置。如果您已經對設備進行了配置,為了保證配置效果,請確認現有配置和以下舉例中的配置不衝突。
本文假設您已了解ACL特性。
如圖1所示,研發部和管理部中均部署了網絡視頻設備,這些視頻設備的MAC地址為000f-e2xx-xxxx,現要求限製這些設備僅每天的8:30到18:00才能夠向外網發送數據。
圖1 通過MAC地址過濾流量配置組網圖
本舉例是在S6800-CMW710-R2609版本上進行配置和驗證的。
在受限設備的IP地址不定時,可以通過MAC地址來進行匹配;而對於具有相同MAC地址前綴的多台設備,也可以通過MAC地址掩碼的方式來進行同時匹配。
# 配置時間段time1,時間範圍為每天的8:30~18:00。
<Device> system-view
[Device] time-range time1 8:30 to 18:00 daily
# 創建二層ACL 4000,定義規則為在time1時間段內允許源MAC地址前綴為000f-e2的所有報文通過,其他時間拒絕。
[Device] acl mac 4000
[Device-acl-mac-4000] rule permit source-mac 000f-e200-0000 ffff-ff00-0000 time-range time1
[Device-acl-mac-4000] rule deny source-mac 000f-e200-0000 ffff-ff00-0000
[Device-acl-mac-4000] quit
# 配置包過濾功能,應用二層ACL 4000對端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2收到的報文進行過濾。
[Device] interface ten-gigabitethernet 1/0/1
[Device-Ten-GigabitEthernet1/0/1] packet-filter mac 4000 inbound
[Device-Ten-GigabitEthernet1/0/1] quit
[Device] interface ten-gigabitethernet 1/0/2
[Device-Ten-GigabitEthernet1/0/2] packet-filter mac 4000 inbound
[Device-Ten-GigabitEthernet1/0/2] quit
# 執行display packet-filter命令查看包過濾功能的應用狀態。
[Device] display packet-filter interface inbound
Interface: Ten-GigabitEthernet1/0/1
Inbound policy:
MAC ACL 4000
Interface: Ten-GigabitEthernet1/0/2
Inbound policy:
MAC ACL 4000
上述信息顯示Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2端口上已經正確應用了包過濾功能。
在每天的8:30到18:00時間段內,視頻設備可以正常與外網中的設備進行通信;在其它時間段內,視頻設備無法與外網中的設備進行通信。
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
packet-filter mac 4000 inbound
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
packet-filter mac 4000 inbound
#
time-range time1 08:30 to 18:00 daily
#
acl mac 4000
rule 0 permit source-mac 000f-e200-0000 ffff-ff00-0000 time-range time1
rule 5 deny source-mac 000f-e200-0000 ffff-ff00-0000
如5.1 圖3所示,當設備作為FTP服務器時,需要為網絡中的不同用戶設置不同的FTP訪問權限:
· 10.1.2.0/24網段的用戶任意時間都可以訪問FTP服務器;
· 10.1.1.0/24網段的用戶隻能在工作時間(周一至周五的8:30~18:00)訪問FTP服務器;
· 符合訪問條件的用戶可以獲得level-15的用戶訪問權限,不符合條件的用戶不能訪問FTP服務器。
圖2 配置設備的FTP訪問權限組網圖
本舉例是在S6800-CMW710-R2609版本上進行配置和驗證的。
· 為了根據FTP用戶的IP地址來區分不同的訪問權限,需要創建ACL配置規則隻允許源地址為10.1.2.0/24和10.1.1.0/24的報文通過,並指定10.1.1.0/24網段的生效時間段;
· 為實現FTP服務器區分用戶權限,需要將ACL規則與FTP服務功能關聯。
# 配置時間段ftp,時間範圍為周一至周五的8:30~18:00。
<Device> system-view
[Device] time-range ftp 8:30 to 18:00 working-day
# 創建IPv4基本ACL 2000,定義規則允許源IP地址為10.1.2.0/24的報文通過。
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 10.1.2.0 0.0.0.255
# 定義規則為在ftp時間段內允許源IP地址為10.1.1.0/24的報文通過。
[Device-acl-ipv4-basic-2000] rule permit source 10.1.1.0 0.0.0.255 time-range ftp
[Device-acl-ipv4-basic-2000] quit
# 開啟設備的FTP服務器功能。
[Device] ftp server enable
# 新增FTP用戶。
[Device] local-user ftp
[Device-luser-manage-ftp] service-type ftp
# 配置FTP用戶密碼。
[Device-luser-manage-ftp] password simple 123456
# 配置FTP用戶的訪問權限為level-15。
[Device-luser-manage-ftp] authorization-attribute user-role level-15
[Device-luser-manage-ftp] quit
# 配置FTP服務器關聯ACL 2000設置FTP用戶的訪問權限。
[Device] ftp server acl 2000
# 工作時間,在IP地址為10.1.2.100的主機上嚐試登錄FTP服務器:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>ftp 10.1.2.1
Connected to 10.1.2.1.
220 FTP service ready.
User (10.1.2.1:(none)): ftp
331 Password required for ftp.
Password:
230 User logged in.
在根據提示信息正確輸入FTP用戶名和密碼後,提示登入成功。
# 工作時間,在IP地址為10.1.1.100的主機上嚐試登錄FTP服務器:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>ftp 10.1.2.1
Connected to 10.1.2.1.
220 FTP service ready.
User (10.1.2.1:(none)): ftp
331 Password required for ftp.
Password:
230 User logged in.
在根據提示信息正確輸入FTP用戶名和密碼後,提示登入成功。
# 非工作時間,在IP地址為10.1.2.100的主機上嚐試登錄FTP服務器:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>ftp 10.1.2.1
Connected to 10.1.2.1.
220 FTP service ready.
User (10.1.2.1:(none)): ftp
331 Password required for ftp.
Password:
230 User logged in.
在根據提示信息正確輸入FTP用戶名和密碼後,提示登入成功。
# 非工作時間,在IP地址為10.1.1.100的主機上嚐試登錄FTP服務器:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>ftp 10.1.2.1
ftp>
ftp> ls
Not connected.
沒有提示要求輸入用戶名和密碼,執行FTP命令後,提示沒有FTP連接成功。
#
time-range ftp 08:30 to 18:00 working-day
#
acl basic 2000
rule 0 permit source 10.1.2.0 0.0.0.255
rule 5 permit source 10.1.1.0 0.0.0.255 time-range ftp
#
local-user ftp class manage
password hash $h$6$HVOQzdJMVPtVd0A7$hFeYeT1ic7AgOPJ/z/Ci9db347bnJ2krcnzA+lD++iG
0jC5qSybNhuH7zi70tH4d42Y3mYtsqNaBGsN0f0ilvA==
service-type ftp
authorization-attribute user-role level-15
authorization-attribute user-role network-operator
#
ftp server enable
ftp server acl 2000
如圖3所示,某公司的網絡分成管理部、研發部和服務器三個區域,通過Device設備與Internet連接。現要求通過ACL實現:
· 管理部任意時間都可以訪問Internet和服務器,但不能訪問研發部;
· 研發部在工作時間(周一至周五的8:30~18:00)隻能訪問服務器,不能訪問Internet和管理部;非工作時間可以訪問Internet和服務器,但不能訪問管理部。
圖3 通過IP地址過濾流量配置組網圖
本舉例是在S6800-CMW710-R2609版本上進行配置和驗證的。
· 為實現管理部不能訪問研發部,需要創建ACL配置規則拒絕目的地址為10.1.2.0/24的報文,在Device的Ten-GigabitEthernet1/0/4的入方向進行過濾;
· 為實現研發部在工作時間隻能訪問服務器,需要創建ACL配置規則隻允許目的地址為10.2.1.0/24的報文通過,並指定規則的生效時間段,在Device的Ten-GigabitEthernet1/0/3的入方向上進行過濾;
· 為實現研發部在非工作時間不能訪問管理部,需要創建ACL配置規則拒絕目的地址為10.1.1.0/24的報文,在Device的Ten-GigabitEthernet1/0/3的入方向上進行過濾;
· 缺省情況下,ACL規則的匹配順序為配置順序,因此在此例中,需要先創建指定時間段內隻允許目的地址為10.2.1.0/24報文通過的規則,再創建指定時間段內拒絕其他報文通過的規則。
# 創建IPv4高級ACL 3000。
<Device> system-view
[Device] acl advanced 3000
# 創建規則,過濾目的地址為10.1.2.0/24網段的報文。
[Device-acl-ipv4-adv-3000] rule deny ip destination 10.1.2.0 0.0.0.255
[Device-acl-ipv4-adv-3000] quit
# 配置包過濾功能,應用IPv4高級ACL 3000對端口Ten-GigabitEthernet1/0/4收到的IP報文進行過濾。
[Device] interface ten-gigabitethernet 1/0/4
[Device-Ten-GigabitEthernet1/0/4] packet-filter 3000 inbound
[Device-Ten-GigabitEthernet1/0/4] quit
(2) 配置研發部的網絡權限
# 配置時間段worktime,指定周一至周五的8:30~18:00為工作時間。
[Device] time-range worktime 8:30 to 18:00 working-day
# 創建IPv4高級ACL 3001。
[Device] acl advanced 3001
# 創建規則,允許時間段內目的地址為10.2.1.0/24網段的報文通過。
[Device-acl-ipv4-adv-3001] rule permit ip destination 10.2.1.0 0.0.0.255 time-range worktime
# 創建規則,過濾時間段內其他的報文。
[Device-acl-ipv4-adv-3001] rule deny ip time-range worktime
# 創建規則,過濾目的地址為10.1.1.0/24網段的報文。
[Device-acl-ipv4-adv-3001] rule deny ip destination 10.1.1.0 0.0.0.255
[Device-acl-ipv4-adv-3001] quit
# 配置包過濾功能,應用IPv4高級ACL 3001對端口Ten-GigabitEthernet1/0/3收到的IP報文進行過濾。
[Device] interface ten-gigabitethernet 1/0/3
[Device-Ten-GigabitEthernet1/0/3] packet-filter 3001 inbound
[Device-Ten-GigabitEthernet1/0/3] quit
# 執行display packet-filter命令查看包過濾功能的應用狀態。
[Device] display packet-filter interface inbound
Interface: Ten-GigabitEthernet1/0/3
Inbound policy:
IPv4 ACL 3001
Interface: Ten-GigabitEthernet1/0/4
Inbound policy:
IPv4 ACL 3000
上述信息顯示Ten-GigabitEthernet1/0/3和Ten-GigabitEthernet1/0/4端口上已經正確應用了包過濾功能。
# 在周一的上午9:30,從研發部的某台電腦上ping Internet上某個網站,結果無法ping通。
C:\>ping www.google.com
Pinging www.google.com [173.194.127.242] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 173.194.127.242:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
C:\>
# 在周一的上午9:30,從管理部的某台電腦上ping Internet上某個網站,結果可以ping通。
C:\>ping www.google.com
Pinging www.google.com [173.194.127.242] with 32 bytes of data:
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Ping statistics for 173.194.127.242:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 30ms, Maximum = 30ms, Average = 30ms
C:\>
# 在周一的晚上19:30,從研發部的某台電腦上ping Internet上某個網站,結果可以ping通。
C:\>ping www.google.com
Pinging www.google.com [173.194.127.242] with 32 bytes of data:
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Ping statistics for 173.194.127.242:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 30ms, Maximum = 30ms, Average = 30ms
C:\>
#
interface Ten-GigabitEthernet1/0/3
port link-mode bridge
packet-filter 3001 inbound
#
interface Ten-GigabitEthernet1/0/4
port link-mode bridge
packet-filter 3000 inbound
#
time-range worktime 08:30 to 18:00 working-day
#
acl advanced 3000
rule 0 deny ip destination 10.1.2.0 0.0.0.255
#
acl advanced 3001
rule 0 permit ip destination 10.2.1.0 0.0.0.255 time-range worktime
rule 5 deny ip time-range worktime
rule 10 deny ip destination 10.1.1.0 0.0.0.255
如圖4所示,某公司的網絡分成管理部、研發部和服務器三個區域,通過Device設備互相連接。現要求通過ACL實現:
· Web服務器隻能向管理部的主機提供HTTP服務;
· FTP服務器隻能向研發部的主機提供FTP服務;
· 在主機與Web服務器之間進行通信時,僅允許由主機向服務器發起和建立TCP連接,不允許由服務器向主機發起TCP連接;在主機與FTP服務器之間進行通信時,不對TCP連接發起方進行限製。
圖4 通過IP地址過濾流量配置組網圖
本舉例是在S6800-CMW710-R2609版本上進行配置和驗證的。
· 為了實現主機與Web服務器之間進行通信時,僅允許由主機向Web服務器發起和建立TCP連接,需要在高級ACL的規則中,指定established參數,用於匹配TCP報文頭中ACK或RST置位的報文,即在已建立的TCP連接上傳輸的報文。
· 由於TCP連接發起方一般使用大於1023的TCP端口號,因此,由Web服務器向主機發送的端口號大於1023、且ACK或RST位置位的報文,應視作已經存在的TCP連接,應該允許通過。其餘的由Web服務器向主機發送的TCP報文都應拒絕通過。
· 要過濾FTP報文,需要同時拒絕FTP數據報文(TCP端口號20)和控製報文(TCP端口號21)通過。
· 要過濾HTTP服務,需要配置拒絕TCP目的端口號為80的報文(HTTP)通過的規則。
(1) 配置管理部的網絡權限
# 創建IPv4高級ACL 3000。
<Device> system-view
[Device] acl advanced 3000
# 創建規則,允許源地址為100.1.1.1/32、目的地址為10.1.1.0/24網段、目的TCP端口號大於1023、且ACK或RST位置位的報文通過。
[Device-acl-ipv4-adv-3000] rule permit tcp established source 100.1.1.1 0 destination 10.1.1.0 0.0.0.255 destination-port gt 1023
# 創建規則,拒絕源地址為100.1.1.1/32、目的地址為10.1.1.0/24網段的TCP報文通過。
[Device-acl-ipv4-adv-3000] rule deny tcp source 100.1.1.1 0 destination 10.1.1.0 0.0.0.255
# 創建規則,拒絕源地址為101.1.1.1/32的FTP報文通過。
[Device-acl-ipv4-adv-3000] rule deny tcp source 101.1.1.1 0 source-port range 20 21
[Device-acl-ipv4-adv-3000] quit
# 配置包過濾功能,應用IPv4高級ACL 3000對端口Ten-GigabitEthernet1/0/3發出的報文進行過濾。
[Device] interface ten-gigabitethernet 1/0/3
[Device-Ten-GigabitEthernet1/0/3] packet-filter 3000 outbound
[Device-Ten-GigabitEthernet1/0/3] quit
(2) 配置研發部的網絡權限
# 創建IPv4高級ACL 3001,配置規則拒絕源地址為100.1.1.1/32的HTTP報文通過。
[Device] acl advanced 3001
[Device-acl-ipv4-adv-3001] rule deny tcp source 100.1.1.1 0 source-port eq 80
[Device-acl-ipv4-adv-3001] quit
# 配置包過濾功能,應用IPv4高級ACL 3001對端口Ten-GigabitEthernet1/0/2發出的報文進行過濾。
[Device] interface ten-gigabitethernet 1/0/2
[Device-Ten-GigabitEthernet1/0/2] packet-filter 3001 outbound
[Device-Ten-GigabitEthernet1/0/2] quit
# 執行display packet-filter命令查看包過濾功能的應用狀態。
[Device] display packet-filter interface outbound
Interface: Ten-GigabitEthernet1/0/2
Outbound policy:
IPv4 ACL 3001
Interface: Ten-GigabitEthernet1/0/3
Outbound policy:
IPv4 ACL 3000
上述信息顯示Ten-GigabitEthernet1/0/2和Ten-GigabitEthernet1/0/3端口上已經正確應用了包過濾功能。
# 在管理部的主機執行telnet 101.1.1.1 21命令測試是否可以訪問FTP服務器的21端口。
C:\>telnet 101.1.1.1 21
Connecting To 101.1.1.1...Could not open connection to the host, on port 21:
Connect failed
C:\>
上述信息顯示管理部的主機無法訪問FTP服務器的21端口。
# 在管理部某台主機上設置共享文件夾,然後從Web服務器上ping該主機,可以ping通,但是無法訪問共享文件夾。
C:\>ping 10.1.1.110
Pinging 10.1.1.110 with 32 bytes of data:
Reply from 10.1.1.110: bytes=32 time=2ms TTL=128
Reply from 10.1.1.110: bytes=32 time=14ms TTL=128
Reply from 10.1.1.110: bytes=32 time=1ms TTL=128
Reply from 10.1.1.110: bytes=32 time=1ms TTL=128
Ping statistics for 10.1.1.110:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 14ms, Average = 4ms
C:\>
# 在研發部的主機執行telnet 100.1.1.1 80命令測試是否可以訪問Web服務器的80端口。
C:\>telnet 100.1.1.1 80
Connecting To 100.1.1.1...Could not open connection to the host, on port 80:
Connect failed
C:\>
上述信息顯示管理部的主機無法訪問FTP服務器的21端口。
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
packet-filter 3001 outbound
#
interface Ten-GigabitEthernet1/0/3
port link-mode bridge
packet-filter 3000 outbound
#
acl advanced 3000
rule 0 permit tcp source 100.1.1.1 0 destination 10.1.1.0 0.0.0.255 destination
-port gt 1023 established
rule 5 deny tcp source 100.1.1.1 0 destination 10.1.1.0 0.0.0.255
rule 10 deny tcp source 101.1.1.1 0 source-port range ftp-data ftp
#
acl advanced 3001
rule 0 deny tcp source 100.1.1.1 0 source-port eq www
某公司的網絡組網如圖5所示,現要求在網關Device上配置用戶自定義ACL過濾所有從客戶區收到的ARP請求報文,客戶區的設備隻能通過手工添加靜態ARP表項的方式接入Device。
圖5 用戶自定義ACL配置組網圖
本舉例是在S6800-CMW710-R2609版本上進行配置和驗證的。
# 創建用戶自定義ACL 5000並進入相應視圖。
<Device> system-view
[Device] acl user-defined 5000
# 配置ACL規則:為匹配ARP請求報文,需要從L3報文頭-2字節開始偏移(對應關鍵字l2)。ARP請求報文的以太網協議類型字段取值為0x0806,操作類型字段(OP)取值為0x0001。從以太網首部的協議類型字段開始計算,以太網協議類型字段的偏移量為0字節,操作類型字段的偏移量為8字節。
[Device-acl-user-5000] rule deny l2 0806 ffff 0 l2 0001 ffff 8
[Device-acl-user-5000] quit
# 在端口Ten-GigabitEthernet1/0/1的入方向過濾匹配ACL 5000的報文。
[Device] interface ten-gigabitethernet 1/0/1
[Device-Ten-GigabitEthernet1/0/1] packet-filter user-defined 5000 inbound
[Device-Ten-GigabitEthernet1/0/1] quit
# 執行display packet-filter命令查看包過濾功能的應用狀態。
[Device] display packet-filter interface inbound
Interface: Ten-GigabitEthernet1/0/1
Inbound policy:
User-defined ACL 5000
上述信息顯示Ten-GigabitEthernet1/0/1端口上已經正確應用了包過濾功能。
# 在客戶區新接入一台PC,在PC上指定網關(網關的IP地址為10.0.0.1)後未手工添加網關的ARP表項,不能ping通網關。
C:\>ping 10.0.0.1
Pinging 10.0.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 10.0.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
C:\>
# 在該PC上手工添加網關的ARP表項,可以ping通網關。
C:\>ping 10.0.0.1
Pinging 10.0.0.1 with 32 bytes of data:
Reply from 10.0.0.1: bytes=32 time=1ms TTL=255
Reply from 10.0.0.1: bytes=32 time=37ms TTL=255
Reply from 10.0.0.1: bytes=32 time=1ms TTL=255
Reply from 10.0.0.1: bytes=32 time=1ms TTL=255
Ping statistics for 10.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 37ms, Average = 10ms
C:\>
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
packet-filter user-defined 5000 inbound
#
acl user-defined 5000
rule 0 deny l2 08060000000000000001 ffff000000000000ffff 0
· H3C S6800係列以太網交換機 ACL和QoS配置指導-Release 26xx係列
· H3C S6800係列以太網交換機 ACL和QoS命令參考-Release 26xx係列
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!