Nguồn: Sách CCNA Labpro
LAB 4-1: STANDARD ACCESS-LIST
Mô tả:
– Access–list dùng để giám sát lưu lượng vào hoặc ra trên một cổng. Các điều kiện so sánh dựa vào access-list được định nghĩa trước, có thể đơn giản (standard access list) hay khá phức tạp (extended access list).
– Lab này mô tả lọc gói dữ liệu sử dụng standard access-list thực hiện cấm tất cả dữ liệu từ PC2 và các PC trong mạng 200.200.200.0/24 đến tất cả Pc trong mạng 172.16.0.254/16
Cấu hình:
Router R2:
!
hostname R2
!
interface Loopback0
ip address 162.16.0.1 255.255.0.0
no ip directed-broadcast
!
interface FastEthernet0/0
ip address 172.16.0.254 255.255.0.0
ip access-group 1 out <- lọc các gói đi ra khỏi cổng F0/0 của router
no ip directed-broadcast
!
interface Serial0/0
ip address 203.162.0.2 255.255.255.0
no ip directed-broadcast
clockrate 64000
!
ip classless
ip route 192.168.0.0 255.255.255.0 203.162.0.1 <- Cấu hình định tuyến tĩnh cho router
ip route 200.200.200.0 255.255.255.0 203.162.0.1
no ip http server
!
access-list 1 deny 192.168.0.2 0.0.0.0 <- Cấm PC2
access-list 1 deny 200.200.200.0 0.0.0.255 <- Cấm tất cả PC trong mạng 200
access-list 1 permit any <- phải có lệnh này vì mặc định cuối access-list sẽ là cấm tất cả (deny)
!
line con 0
transport input none
line aux 0
line vty 0 4
no login <- cho phép router kg cần mật khẩu
!
end
Router R1:hostname R2
!
interface Loopback0
ip address 162.16.0.1 255.255.0.0
no ip directed-broadcast
!
interface FastEthernet0/0
ip address 172.16.0.254 255.255.0.0
ip access-group 1 out <- lọc các gói đi ra khỏi cổng F0/0 của router
no ip directed-broadcast
!
interface Serial0/0
ip address 203.162.0.2 255.255.255.0
no ip directed-broadcast
clockrate 64000
!
ip classless
ip route 192.168.0.0 255.255.255.0 203.162.0.1 <- Cấu hình định tuyến tĩnh cho router
ip route 200.200.200.0 255.255.255.0 203.162.0.1
no ip http server
!
access-list 1 deny 192.168.0.2 0.0.0.0 <- Cấm PC2
access-list 1 deny 200.200.200.0 0.0.0.255 <- Cấm tất cả PC trong mạng 200
access-list 1 permit any <- phải có lệnh này vì mặc định cuối access-list sẽ là cấm tất cả (deny)
!
line con 0
transport input none
line aux 0
line vty 0 4
no login <- cho phép router kg cần mật khẩu
!
end
!
hostname R1
!
no ip domain-lookup
!
interface Loopback0
ip address 200.200.200.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.0.254 255.255.255.0
duplex auto
speed auto
!
interface Serial0/0
ip address 203.162.0.1 255.255.255.0
no fair-queue
!
ip classless
ip route 162.16.0.0 255.255.0.0 203.162.0.2
ip route 172.16.0.0 255.255.0.0 203.162.0.2
no ip http server
!
line con 0
transport input none
line aux 0
line vty 0 4
no login
!
end
hostname R1
!
no ip domain-lookup
!
interface Loopback0
ip address 200.200.200.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.0.254 255.255.255.0
duplex auto
speed auto
!
interface Serial0/0
ip address 203.162.0.1 255.255.255.0
no fair-queue
!
ip classless
ip route 162.16.0.0 255.255.0.0 203.162.0.2
ip route 172.16.0.0 255.255.0.0 203.162.0.2
no ip http server
!
line con 0
transport input none
line aux 0
line vty 0 4
no login
!
end
Thuật ngữ liên quan:
- Wilcard mask: wilcard mask bit nào trong địa chỉ IP sẽ được bỏ qua khi so sánh với địa chỉ IP khác. <1> trong wildcard mask có nghĩa bỏ qua vị trí bit đó khi so sánh với địa chỉ IP, và <0> xác định vị trí bit phải giống nhau. Với Standard access-list, nếu không thêm wildcard mask trong câu lệnh tạo access-list thì 0.0.0.0 ngầm hiểu là wildcard mask. Với standard access list, nếu không thêm wilcard mark trong câu lệnh tạo access-list thì 0.0.0.0 ngầm hiểu là wildcard mask.
- Inbound và outbound: Khi áp dụng một access–list trên một cổng, phải xác định access–list phải được dùng cho luồng dữ liệu vào (inbound) hay ra (outbound). Mặc định access–list áp dụng với luồng dữ liệu outbound.
- Chiều của luồng dữ liệu xác định trên cổng của router. Chẳng hạn, lấy ví dụ hình bên dưới: RouterA muốn loại bỏ (deny) tất cả luồng dữ liệu từ host 150.1.1.2 tới PCA (152.1.1.2). Có hai nơi có thể áp dụng access–list trên RouterA: inbound access–list áp dụng trên cổng serial hay outbound access–list áp dụng trên cổng Ethernet. Tốt nhất là áp dụng access–list trên cổng gần nơi luồng dữ liệu sẽ bị loại bỏ.
- Wilcard mask: wilcard mask bit nào trong địa chỉ IP sẽ được bỏ qua khi so sánh với địa chỉ IP khác. <1> trong wildcard mask có nghĩa bỏ qua vị trí bit đó khi so sánh với địa chỉ IP, và <0> xác định vị trí bit phải giống nhau. Với Standard access-list, nếu không thêm wildcard mask trong câu lệnh tạo access-list thì 0.0.0.0 ngầm hiểu là wildcard mask. Với standard access list, nếu không thêm wilcard mark trong câu lệnh tạo access-list thì 0.0.0.0 ngầm hiểu là wildcard mask.
- Inbound và outbound: Khi áp dụng một access–list trên một cổng, phải xác định access–list phải được dùng cho luồng dữ liệu vào (inbound) hay ra (outbound). Mặc định access–list áp dụng với luồng dữ liệu outbound.
- Chiều của luồng dữ liệu xác định trên cổng của router. Chẳng hạn, lấy ví dụ hình bên dưới: RouterA muốn loại bỏ (deny) tất cả luồng dữ liệu từ host 150.1.1.2 tới PCA (152.1.1.2). Có hai nơi có thể áp dụng access–list trên RouterA: inbound access–list áp dụng trên cổng serial hay outbound access–list áp dụng trên cổng Ethernet. Tốt nhất là áp dụng access–list trên cổng gần nơi luồng dữ liệu sẽ bị loại bỏ.
Thực hiện:
Hai bước để cấu hình access list trên router:
1. Tạo access list tại global config mode:
Tạo access-list trên R2 cấm PC2 và mạng 200.200.200.0/24.
R2(config)# access-list 1 deny 192.168.0.2 0.0.0.0
R2(config)# access-list 1 deny 200.200.200.0 0.0.0.255
R2(config)# access-list 1 permit any
2. Áp access-list vào cổngR2(config)# access-list 1 deny 200.200.200.0 0.0.0.255
R2(config)# access-list 1 permit any
–Áp access-list này vào chiều ra của cổng F0/0 trên R2.
–Khi áp access-list vào một cổng, xem như đang trên router. Vì vậy nếu muốn cấm dữ liệu đi ra khỏi cổng, ta dùng từ khóa out; muốn cấm dữ liệu vào một cổng, ta dùng từ khóa in.
–Vì standard access-list chỉ kiểm tra được địa chỉ nguồn nên phải áp access-list vào cổng gần đích nhất.
R2(config)# cổng f0/0
R2(config-if)# ip access-group 1 out
Kiểm tra:R2(config-if)# ip access-group 1 out
–Dùng extended ping trên R1, lấy địa chỉ nguồn là 200.200.200.1 hoặc
192.168.0.2 lệnh ping sẽ không thành công.
R1#ping
Protocol [ip]:
Target IP address: 172.16.0.3
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 200.200.200.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.3, timeout is 2 seconds:
U.U.U <- không thể tới được (Unreachable)
Success rate is 0 percent (0/5)
–Lệnh ping không thành công do access-list đã hoạt động trên R2, kiểm tra các gói vào trên R2 bằng lệnh debug ip packet. Lưu ý rằng các gói bị loại bỏ bản tin ICMP host unreachable được gởi ngược trở lại R1:Protocol [ip]:
Target IP address: 172.16.0.3
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 200.200.200.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.3, timeout is 2 seconds:
U.U.U <- không thể tới được (Unreachable)
Success rate is 0 percent (0/5)
R2#debug ip packet
IP packet debugging is on
R2#
IP: s=200.200.200.1 (Serial0/0), d=172.16.0.3 (FastEthernet0/0), len 100,
access denied
IP: s=203.162.0.2 (local), d=200.200.200.1 (Serial0/0), len 56, sending <- gởi bản tin ICMP host unreachable
–Dùng extended ping trên R2 tới PC3, lấy địa chỉ nguồn là 162.16.0.1IP packet debugging is on
R2#
IP: s=200.200.200.1 (Serial0/0), d=172.16.0.3 (FastEthernet0/0), len 100,
access denied
IP: s=203.162.0.2 (local), d=200.200.200.1 (Serial0/0), len 56, sending <- gởi bản tin ICMP host unreachable
R2#ping
Protocol [ip]:
Target IP address: 172.16.0.3
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 162.16.0.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
–Có thể ping PC3 từ PC1 được do access–list chỉ cấm PC2 vào mạng 172.16.0.0/24Protocol [ip]:
Target IP address: 172.16.0.3
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 162.16.0.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
C:\Windows\Desktop>ping 172.16.0.3
Pinging 172.16.0.3 with 32 bytes of data:
Reply from 172.16.0.3: bytes=32 time=18ms TTL=126
Reply from 172.16.0.3: bytes=32 time=18ms TTL=126
Reply from 172.16.0.3: bytes=32 time=18ms TTL=126
Reply from 172.16.0.3: bytes=32 time=18ms TTL=126
Ping statistics for 172.16.0.3:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 18ms, Maximum = 18ms, Average = 18ms
Pinging 172.16.0.3 with 32 bytes of data:
Reply from 172.16.0.3: bytes=32 time=18ms TTL=126
Reply from 172.16.0.3: bytes=32 time=18ms TTL=126
Reply from 172.16.0.3: bytes=32 time=18ms TTL=126
Reply from 172.16.0.3: bytes=32 time=18ms TTL=126
Ping statistics for 172.16.0.3:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 18ms, Maximum = 18ms, Average = 18ms
Comment