Access control list (ACL) là một danh sách các câu lệnh được áp đặt vào các cổng (Interface) của thiết bị mạng. Danh sách này chỉ ra loại packet nào được chấp nhận và loại packet nào bị hủy bỏ. Người ta ví ACLs như 1 chính sách của Firewall.
+STANDARD ACL
- standard ACL thiết lập permit or deny trafiic dựa vào địa chỉ nguồn. Nó là dạng căn bản.
Cấu trúc lệnh:
ACL number for the standard ACLs has to be between 1–99 and 1300–1999.
R1(config)# access-list ACL_NUMBER permit|deny host IP_ADDRESS|IP_ADDRESS WILDCARD_MASK|any
Lưu ý:
-Sau câu lệnh permit mặc định là deny, ta không cần thêm lệnh deny.
-Sau câu lệnh deny là mặc định deny tất cả, nên ta cần phải thêm permit phía sau lệnh deny.
Ta khảo sát dạng Standard ACLs thông qua đồ hình sau:
Cấu hình các PCs trong LAN, và interface cho Router.
PC-1> ip 20.20.20.2/24 20.20.20.1
PC-2> ip 10.10.10.2/24 10.10.10.1
PC-3> ip 30.30.30.5/24 30.30.30.1
interface FastEthernet0/0
ip address 20.20.20.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.10.10.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 30.30.30.1 255.255.255.0
duplex auto
speed auto
Tiến hành permit subnet 10.10.10.0/24 truy cập đến Server, mặc định nó sẽ deny các subnet khác.
R1(config)#access-list 1 permit 10.10.10.0 0.0.0.255
==>chỉ cho phép subnet 10 truy cập đến server.
Ta áp lên interface f1/0 theo chiều out
R1(config-if)#ip access-group 1 out
Ta kiểm tra lại kết quả trên PC1, và PC2
PC-1> ping 30.30.30.5
*20.20.20.1 icmp_seq=1 ttl=255 time=10.000 ms (ICMP type:3, code:13, Communicati on administratively prohibited)
*20.20.20.1 icmp_seq=2 ttl=255 time=2.001 ms (ICMP type:3, code:13, Communicatio n administratively prohibited)
*20.20.20.1 icmp_seq=3 ttl=255 time=1.000 ms (ICMP type:3, code:13, Communicatio n administratively prohibited)
*20.20.20.1 icmp_seq=4 ttl=255 time=4.000 ms (ICMP type:3, code:13, Communicatio n administratively prohibited)
*20.20.20.1 icmp_seq=5 ttl=255 time=9.000 ms (ICMP type:3, code:13, Communicatio n administratively prohibited)
PC-2> ping 30.30.30.5
84 bytes from 30.30.30.5 icmp_seq=1 ttl=63 time=19.001 ms
84 bytes from 30.30.30.5 icmp_seq=2 ttl=63 time=13.001 ms
84 bytes from 30.30.30.5 icmp_seq=3 ttl=63 time=19.001 ms
84 bytes from 30.30.30.5 icmp_seq=4 ttl=63 time=12.000 ms
84 bytes from 30.30.30.5 icmp_seq=5 ttl=63 time=20.001 ms
Kết quả như mong đợi, làm ngược lại nhé, nhưng có 1 điều thú vị ở đay khi bạn dùng câu lệnh deny thì phải permit ở cuối ACL. Không thì ACL sẽ block tát cả các subnets khác trong LAN
R1(config)#access-list 2 deny 10.10.10.0 0.0.0.255
R1(config)#access-list 2 permit any
R1(config-if)#ip access-group 2 out
==> chỉ cho phép subnet 20 truy cập đến server.
Kiểm tra kết quả,
PC-1> ping 30.30.30.5
84 bytes from 30.30.30.5 icmp_seq=1 ttl=63 time=19.001 ms
84 bytes from 30.30.30.5 icmp_seq=2 ttl=63 time=12.001 ms
84 bytes from 30.30.30.5 icmp_seq=3 ttl=63 time=20.001 ms
84 bytes from 30.30.30.5 icmp_seq=4 ttl=63 time=12.000 ms
84 bytes from 30.30.30.5 icmp_seq=5 ttl=63 time=20.001 ms
PC-2> ping 30.30.30.5
*10.10.10.1 icmp_seq=1 ttl=255 time=8.000 ms (ICMP type:3, code:13, Communication administratively prohibited)
*10.10.10.1 icmp_seq=2 ttl=255 time=10.001 ms (ICMP type:3, code:13, Communication administratively prohibited)
*10.10.10.1 icmp_seq=3 ttl=255 time=9.001 ms (ICMP type:3, code:13, Communication administratively prohibited)
*10.10.10.1 icmp_seq=4 ttl=255 time=10.000 ms (ICMP type:3, code:13, Communication administratively prohibited)
*10.10.10.1 icmp_seq=5 ttl=255 time=4.000 ms (ICMP type:3, code:13, Communication administratively prohibited)
-EXTENDED ACL
Thiết lập permit or deny traffic dựa vào địa chỉ nguồn, địa chỉ đích cùng với các giao thức tcp/udp/icmp trafic. Nó là dạng nâng cao, chi tiết.
Cấu trúc lệnh:
-Theo số,
Router(config)#access-list ACL_Identifier_number permit|deny IP_protocol
source_address source_wildcard_mask [protocol_information] destination_address destination_wildcard_mask [protocol_information]
-Theo tên,
Router(config)#ip access-list extended ACL_name_number
Router(config-ext-acl)# permit|deny IP_protocol source_IP_address wildcard_mask [protocol_information] destination_IP_address wildcard_mask [protocol_information]
Xây dựng đồ hình lab,
Yêu cầu: windows Xp không thể telnet đến R2, nhưng có thể duyệt web qua R2.
Cấu hinh cơ bản,
-IP cho Windows XP sp3,
Cầu hình IP cho PC1,
Cấu hình R1,
!
interface FastEthernet0/0
ip address 10.10.10.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 20.20.20.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/0
no ip address
shutdown
duplex auto
speed auto
!
ip forward-protocol nd
ip route 30.30.30.0 255.255.255.0 FastEthernet0/1 //static route
Cấu hình R2,
enable password @123 //pass enable cho phep tenet
line vty 0 4
password 12345 //password telnet
login
!
username abc privilege 15 password 0 abc123
archive
log config
hidekeys
!
!
!ip http server
ip http authentication local!
ip tcp synwait-time 5
!
!
!
!
interface FastEthernet0/0
ip address 30.30.30.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 20.20.20.2 255.255.255.0
duplex auto
speed auto
!
ip forward-protocol nd
ip route 10.10.10.0 255.255.255.0 FastEthernet0/1 .//static route
!
!
Từ window XP kiểm tra telnet và dịch dụ web đến R2 thông qua IP 20.20.20.2
Kích hoạt dịch vụ telnet trên Window XP,
Kết quả telnet thành công,
Duyệt web đến R2,
Triễn khai ACL extended,
Yêu cầu: windows Xp không thể telnet đến R2, nhưng có thể duyệt web qua R2.
Cấu hình trên R2,
R2(config)# access-list 100 deny tcp host 10.10.10.2 host 20.20.20.2 eq telnet
R2(config)# access-list 100 permit tcp any any
Áp lên interface f0/1 của R2,
R2(config)# interface FastEthernet0/1
R2(config-if)#ip access-group 100 in
Kiểm tra kết quả- như mong đợi.