TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN

Bài giảng môn học: THIẾT KẾ HỆ THỐNG MẠNG

Biên soạn: ThS. Nguyễn Văn Thành Email : nvanthanh@ntt.edu.vn Phone : 09 1819 3131

Số tín chỉ: 3 Tổng số tiết: 60 tiết (30 LT + 30 TH)

MH – Thiết kế hệ thống mạng

Bài 1: Tổng quan về thiết kế mạng

Bài 2: Tiêu chuẩn thiết kế mạng cục bộ

Bài 3: Cấu hình thiết bị mạng

Bài 4: Các kỹ thuật Layer-2 trong TKM

Bài 5: Các kỹ thuật Layer-3 trong TKM

Trung tâm đào tạo SmartPro

Bài 6: Các kỹ thuật Layer-4 trong TKM

Bài 7: Ứng dụng Access-List trong TKM

2

Bài 7: Ứng dụng Access-List vào TKM

1 • Tổng quan vế Access List 2 • Wildcard mask. 3 • Standard Access-list 4 • Ứng dụng Std. ACL trong thiết kế mạng 5 • Extended Access-list 6 • Ứng dụng Ext. ACL trong thiết kế mạng

3

Tổng quan Access Control List (ACL)

• Khái niệm Access Control List

• Access Control List (ACL) là một danh sách các điều kiện truy vấn

khi Router tiến hành lọc (filter) hoặc phân loại (classification) gói tin.

• Router thực hiện lọc (hay phân loại) khi gói tin đi váo (inbound)

hoặc đi ra (outbound) khỏi một interface của Router.

• Mục đích sử dụng ACL

• Lọc gói tin (Packet filter): Router kiểm soát các gói tin đi ngang

qua nó bằng 1 trong 2 hành động: cho (permit) hoặc hủy bỏ (drop / deny).

• Lọc gói tin (Packet classification): xác định loại của gói tin (như: GRE, NAT, OSPF, EIGRP…) để chọn phương thức xử lý gói tin đó.

Tổng quan Access Control List (ACL)

• Các loại Access List:

• Danh sách chỉ chứa địa chỉ IP làm tiêu chuẩn (criteria) so khớp với

Source IP của gói tin.

• Standard ACL:

• Danh sách chứa giao thức, Source IP, Source Port, Destination IP,

Destination Port… làm tiêu chuẩn (criteria) so sánh.

• Extended ACL:

• Mỗi dòng thông tin trong ACL có hành động: permit hay deny.

• Định danh cho ACL:

• Numbered ACL: sử dụng con số để định danh cho Access-list.

• Standard ACL: dùng số: 1 - 99, hoặc: 1300 – 1999 • Extended ACL: dùng số: 100 – 199, hoặc: 2000 – 2699 • Named ACL: sử dụng “tên” để định danh cho Access-list.

Tổng quan Access Control List (ACL)

• Hoạt động của ACL

Tổng quan Access Control List (ACL)

• ACL Entry

Wildcard Mask

• Khái niệm Wildcard Mask:

• Access list là danh sách chứa các thông tin IP address làm tiêu chí

(criteria) so khớp cho Router điều khiển các luồng traffic.

• Trên một IP address mẫu (32 bits), phải có thông tin bit nào cần

so khớp, bit nào không cần so khớp.

• Wildcard mask là dãy 32 bits thông tin các bits cần (hay không

cần) so khớp trên IP address mẫu.

• Quy tắc của Wildcard mask:

• Wildcard bit = 0 => bit IP address mẫu tại vị trí tương ứng phải

khớp (match).

• Wildcard bit = 1 => bit IP address mẫu tại vị trí tương ứng không

cần khớp (no match).

Wildcard Mask

• Minh họa vai trò của Wildcard bits:

•Wildcard bit = 0 => bit địa chỉ tương ứng phải khớp (match). •Wildcard bit = 1 => bỏ qua (không so khớp) bit địa chỉ tương ứng.

Wildcard Mask

• Các ví dụ dùng Wildcard mask: Address và wildcard mask: 172.30.16.0 0.0.15.255

Wildcard Mask

• Các ví dụ dùng Wildcard mask: ▪ 172.30.16.29 0.0.0.0 phải đúng tất cả các bit địa chỉ trên (host).

▪ Có thể viết theo cách khác:

host 172.30.16.29

▪ 0.0.0.0 255.255.255.255

bỏ qua tất cả các bit địa chỉ (any).

▪ Tương đương với từ khóa: any.

Standard Access Lists

• Giới thiệu Standard Access Lists:

• Là danh sách chỉ chứa địa chỉ IP làm tiêu chuẩn (criteria) so khớp

với Source IP của gói tin.

• Cột 1: hành động (permit hay deny) nếu khớp (match) điều kiện. • Cột 2: IP address mẫu. • Cột 3: Wildcard mask – quy định bits IP address mẫu cần so khớp.

• Mỗi dòng thông tin trong Standard ACL có 4 cột (4 field):

• Numbered ACL: sử dụng con số từ 1 - 99. • Named ACL: sử dụng “tên” để định danh cho Access-list

• Standard ACL được định danh bằng:

• Nên chọn interface ở phía xa Source Network (gần Destination). • Xét các gói tin theo hướng outbound đối với interface.

12

• Đặt Standard ACL vào interface:

Standard Access Lists

• Standard ACL commands:

Router (config)# access-list number {deny | permit} source [wildcard]

• Ví dụ: access-list 1 permit 192.168.1.0 0.0.0.255

• Định nghĩa Standard ACL định danh bằng số, ghi dòng đầu tiên:

• Dùng cú pháp lệnh trên với number của ACL đã có. • Ví dụ: R(config)# access-list 1 permit 192.168.2.0 0.0.0.255

• Thêm dòng mới cho Standard ACL đã có:

R(config)# ip access-list standard name Router(config-std-nacl)# {deny | permit} source [wildcard]

• Ví dụ: R(config)# ip access-list standard Mang-A R(config-std-nac)# permit 192.168.1.0 0.0.0.255 R(config-std-nac)# permit 192.168.2.0 0.0.0.255

• Định nghĩa Standard ACL định danh bằng tên

Standard Access Lists

• Standard ACL commands:

• Bước 1: chọn interface cần gán • Bước 2: dùng lệnh ip access-group …

Router (config)# interface if-name

Router (config-if)# ip access-group access-list-number { in | out }

• Ví dụ:

R (config)# interface f0/0 R (config-if)# ip access-group 1 out Hoặc: R (config-if)# ip access-group Mang-A out

• Gán ACL vào interface:

• Lưu ý: mặc định khi interface có gán ACL sẽ deny (drop) tất cả

packet không match với ACL được gán.

• Xem lại các ACL đã có:

Router#show access-lists

Ứng dụng Standard ACL trong TKM

• Vai trò của Std. ACL trong TKM:

• Dùng ngăn chặn (hay cho phép) cho phép tất cả traffic từ các

mạng khác đi vào 1 mạng nào đó ngang qua Router.

• Dùng ngăn chặn (hay cho phép) traffic từ 1 mạng đến các mạng

khác.

• Dùng ngăn chặn (hay cho phép) 1 hay một số máy tính nào đó

trong mạng đi ra (hay đi vào) mạng khác.

• Dùng cấp phép truy cập ra internet thông qua cơ chế NAT của

Router.

• Dùng cho cấp phép (hay ngăn cấm) các máy tính (hoặc mạng) sử

15

dụng giao thức nào đó của Router.

Standard Access Lists

• Các ví dụ sử dụng Standard ACL:

• Chỉ cho phép các mạng 172.16.0.0 /16 truy cập lẫn nhau:

RouterX(config)# access-list 1 permit 172.16.0.0 0.0.255.255 (implicit deny all - not visible in the list) (access-list 1 deny 0.0.0.0 255.255.255.255) RouterX(config)# interface ethernet 0 RouterX(config-if)# ip access-group 1 out RouterX(config)# interface ethernet 1 RouterX(config-if)# ip access-group 1 out

Standard Access Lists

• Các ví dụ sử dụng Standard ACL

• Deny a specific host:

RouterX(config)# access-list 1 deny 172.16.4.13 0.0.0.0 RouterX(config)# access-list 1 permit 0.0.0.0 255.255.255.255 (implicit deny all) (access-list 1 deny 0.0.0.0 255.255.255.255) RouterX(config)# interface ethernet 0 RouterX(config-if)# ip access-group 1 out

Standard Access Lists

• Các ví dụ sử dụng Standard ACL

• Deny a specific subnet:

RouterX(config)# access-list 1 deny 172.16.4.0 0.0.0.255 RouterX(config)# access-list 1 permit any (implicit deny all) (access-list 1 deny 0.0.0.0 255.255.255.255) RouterX(config)# interface ethernet 0 RouterX(config-if)# ip access-group 1 out

Extended Access Lists

• Cấu trúc gói TCP/IP:

• Protocol: loại giao thức: ICMP, IP, TCP, UDP, GRE,…. • Source Address, Destination Address: địa chỉ IP nguồn và đích • Source Port, Destination Port: địa chỉ port của ứng dụng / dịch vụ

Extended Access Lists

• Giới thiệu Extended Access Lists:

• Là danh sách chứa giao thức, Source IP, Source Port, Destination

IP, Destination Port… làm tiêu chuẩn (criteria) so sánh.

• Cột 1: hành động (permit hay deny) nếu khớp (match) điều kiện. • Cột 2: Protocol: loại giao thức: ICMP, IP, TCP, UDP, GRE,…. • Cột 3 & 4: Source IP Address và Wildcard mask • Cột 5: Source Port (nếu giao thức là TCP hay UDP) • Cột 6 & 7: Destination Address và Wildcard mask • Cột 8: Destination Port (nếu giao thức là TCP hay UDP)

• Mỗi dòng thông tin trong Extended ACL có nhiều fields:

• Nếu trường giao thức là ICMP thì có thêm một số phương thức của

ICMP, như:

• echo: gởi gói PING. • echo-reply: phản hồi gói PING.

20

Extended Access Lists

• Giới thiệu Extended Access Lists:

• Nếu trường giao thức là IP thì không có các trường Port.

• Nếu trường giao thức là GRE, OSPF, EIGRP.. thì sẽ có các trường

khác tương ứng với giao thức.

• Một số toán tử dùng cho Port:

• eq : (equal) bằng với port nào đó. Ví dụ: eq 80

• gt : (greater than) lớn hơn port nào đó. Ví dụ: gt 80

• lt : (less than) nhỏ hơn port nào đó. Ví dụ: lt 80

• neq : (not equal) không bằng với port . Ví dụ: neq 80

21

• range : dãy port. Ví dụ: range 3456-3459

Extended Access Lists

• Định danh cho Extended ACL:

• Numbered ACL: sử dụng con số từ 100 - 199.

• Named ACL: sử dụng “tên” để định danh cho Access-list

• Gán Extended ACL vào interface:

• Nên chọn interface ở phía gần Source Network (xa Destination).

• Xét các gói tin theo hướng inbound đối với interface (nếu đặt ACL

22

phía gần Source Network)

Extended Access Lists

• Extended ACL commands:

R(config)# access-list number [wildcard] [port] [wildcard] [port] [log]

• Ví dụ: R(config)# access-list 100 permit tcp 10.0.0.0 0.0.0.255

• Định nghĩa Extended ACL định danh bằng số, ghi dòng đầu tiên:

any eq 80

• Định nghĩa Standard ACL định danh bằng tên

R(config)# ip access-list extende name Router(config-std-nacl)# {deny | permit} [wildcard]

[port] [wildcard] [port]

• Ví dụ: R(config)# ip access-list ext Mang-A

R(config-std-nac)# permit tcp 10.0.0.0 0.0.0.255 any eq 80

• R(config-std-nac)# permit icmp any any echo

Extended Access Lists

• Các ví dụ sử dụng Extended ACL

• Deny FTP from subnet 172.16.4.0 to subnet 172.16.3.0 out of E0.

• Permit all other traffic.

RouterX(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21 RouterX(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20 RouterX(config)# access-list 101 permit ip any any (implicit deny all) (access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255)

RouterX(config)# interface ethernet 0 RouterX(config-if)# ip access-group 101 out

Extended Access Lists

• Các ví dụ sử dụng Extended ACL

• Deny Telnet từ subnet 172.16.4.0 ra khỏi E0.

• Permit tất cả các traffic khác.

RouterX(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23 RouterX(config)# access-list 101 permit ip any any (implicit deny all)

RouterX(config)# interface ethernet 0 RouterX(config-if)# ip access-group 101 out