Access Control List (ACL)

Access Control List (ACL) (Router on stick network)

โจทย์จากเครื่อข่าย Router on stick ให้ทำการกำหนดเงื่อนไขการใช้งาน (ACL) ดังนี้

1. Vlan 10 เปิดได้เฉพาะ Web

2. Vlan 20 ไม่สามารถเชื่อมต่อกับ Server ได้

3. Vlan 30 Ping ไป server ได้อย่างเดียว

Access Control List (ACL) คือ กลไกการควบคุมของ Router/Switch ที่สร้างขึ้นเป็นเงื่อนไขในการอนุญาตให้เข้าถึงทรัพยากรระหว่างเครื่องผู้ใช้หรือระหว่างเครือข่าย (Network)

ACL (Access Control List ) แบ่งเป็น 2 ประเภทคือ แบบ Standard ACL และ แบบ Extended ACL โดย Standard ACL สนใจเฉพาะ source address เท่านั้น ส่วน Extended ACL สนใจ source และ destination address รวมถึง ต้องระบุ protocols และ applications ให้ถูกต้องด้วย

ส่วนการ Config บน Router CISCO นั้น Config ได้ 2 แบบคือ แบบ Numbered ACLs และแบบ Named ACLs ใช้การกำหนดชื่อเงื่อนไข

Numbered ACLs

การ Config แบบ Standard ACL number จะใช้หมายเลข  0 - 99

การ Config แบบ Extended ACL number จะใช้หมายเลข 100 – 199

 

ACL จะใช้เงื่อนไขการทำงานจากบรรทัดบน ลงบรรทัดล่างโดย คำสั่งบรรทัดบนสำคัญกว่าในกรณีที่เกิดการขัดแย้งของเงื่อนไข

Standard ACL สนใจเฉพาะ source address เท่านั้น

ตัวอย่าง Standard ACL Command:

Router(config)#access-list access-number (permit, deny)  (Source Address and Wildcard )

Router(config)#access-list 1 deny 192.168.1.0  0.0.0.255

Router(config)#access-list 1 permit any                   

( เงื่อนไข 1 คือ ไม่อนุญาตให้การเชื่อมต่อจาก IP 192.168.1.0 – 192.168.1.255 ผ่าน แต่ IP อื่นๆผ่านได้)

*คำสั่งลบ เงื่อนไข 1 ใช้ Router(config)#no access-list 1

กำหนดเงื่อนไข 1 ให้ interface gigabitEthernet 0/0  ขาออก

R1(config)#interface gigabitEthernet 0/0

R1(config-if)#ip access-group  1 out

 

Extended ACL สนใจ source และ destination address รวมถึง ต้องระบุ protocols และ protocols ด้วย

ตัวอย่าง Extended ACL Command:

Router(config)# access-list 100 permit tcp  host 10.1.1.2  30.1.1.0  0.0.0.255  eq  23

- Protocol: TCP

- Source IP address: host 10.1.1.2

- Source TCP Port: Any port (เพราะไม่ได้ระบุว่าให้ใช้ port อะไร หรือไม่มี command eq ตามหลัง source IP address)

- Destination IP address: host ตั้งแต่ IP address 30.1.1.0 ไปจนถึง IP address 30.1.1.255 (แต่ในความเป็นจริงแล้ว IP address ที่สามารถใช้ได้จริงคือ IP address 30.1.1.1 จนถึง IP address 30.1.1.254 เท่านั้น)

- Destination TCP Port: eq 23 (หรือ TCP port 23 หรือ Telnet Application)

ความหมายคือ: เรากำลังสนใจ traffic จาก client เครื่องใดเครื่องหนึ่งที่มี IP address 10.1.1.2 ไปยัง server IP address ใด address หนึ่งจาก 30.1.1.1 ถึง 30.1.1.254 โดยไม่สนใจว่า client จะใช้ source TCP port เป็นหมายเลขอะไร (any port) แต่สนใจ traffic ที่ไปหา server 30.1.1.1 ถึง 30.1.1.254 เพื่อไปติดต่อ server ขอใช้บริการ Telnet Application (หรือ TCP port 23)

 

Named ACLs เป็นการกำหนด ชื่อเงื่อนไขแทนตัวเลข

Command ที่เกี่ยวข้อง

R1(config)# ip access-list standard {acl-name | acl-num}

R1(config)# no ip access-list standard {acl-name | acl-num}

รูปแบบประกอบด้วยคำสั่ง   ip access-list 

ประเภท ACL    Standard หรือ Extended

ชื่อหรือตัวเลข        {acl-name | acl-num}

 

 

ตัวอย่าง

สร้างชื่อเงื่อนไข ACL แบบ standard  ชื่อ  blockVlan20

R1(config)#ip access-list  standard  blockVlan20

ปฏิเสธการเชื่อมต่อ IP 192.168.20.0 – 192.168.20.255

R1(config-std-nacl)#deny 192.168.20.0  0.0.0.255  

อนุญาตให้ IP Address อื่นสามารถ เชื่อมต่อได้

R1(config-std-nacl)#permit any

ออกไปยัง config

R1(config-std-nacl)#exit

 

กำหนดการทำงานให้ Router interface gigabitEthernet 0/0  ขาออก

R1(config)#interface gigabitEthernet 0/0

กำหนดเงื่อนไขการทำงาน ชื่อ  blockVlan20 ขาออก

R1(config-if)#ip access-group blockVlan20 out

R1(config-if)#exit

 

ขั้นตอนการ Config

1. Vlan 10 เปิดได้เฉพาะ Web

สร้าง Access-list แบบ Extended  หมายเลข 101 อนุญาตการเชื่อมต่อ IP 192.168.20.0 – 192.168.20.255

Port protocols TCP 80 /UDP 53  ไปยัง IP 199.199.199.199  port 80, 443, 53

R1(config)# access-list 101 permit tcp 192.168.10.0 0.0.0.255 host 199.199.199.199  eq 80

R1(config)# access-list 101 permit tcp 192.168.10.0 0.0.0.255 host 199.199.199.199  eq 443

R1(config)# access-list 101 permit tcp 192.168.10.0 0.0.0.255 host 199.199.199.199  eq 53

R1(config)# access-list 101 permit udp 192.168.10.0 0.0.0.255 host 199.199.199.199 eq 53

ไม่อนุญาตให้ทุก IP และทุก port เชื่อมต่อ ไปยัง 199.199.199.199

R1(config)# access-list 101 deny ip any host 199.199.199.199

อนุญาตการเชื่อมต่อไปยัง VLAN อื่นได้

R1(config)# access-list 101 permit ip any any

กำหนดการทำงานให้ Router interface gigabitEthernet 0/1.10 ขาเข้า Router

R1(config)#interface gigabitEthernet 0/1.10

R1(config-subif)#ip access-group 101 in

R1(config-subif)#exit

 

2. Vlan 20 ไม่สามารถเชื่อมต่อกับ Server ได้

สร้างชื่อเงื่อนไข ACL แบบ standard  ชื่อ  blockVlan20  ปฏิเสธการเชื่อมต่อ IP 192.168.20.0 – 192.168.20.255 แต่ อนุญาตให้ IP Address อื่นสามารถ เชื่อมต่อได้ กำหนดการทำงานให้ Router interface gigabitEthernet 0/0  ขาออก Router

R1(config)#ip access-list  standard  blockVlan20

R1(config-std-nacl)#deny 192.168.20.0  0.0.0.255  

R1(config-std-nacl)#permit any

R1(config-std-nacl)#exit

R1(config)#interface gigabitEthernet 0/0

R1(config-if)#ip access-group blockVlan20 out

R1(config-if)#exit

 

3. Vlan 30 Ping ไป server ได้อย่างเดียว

สร้าง Access-list แบบ Extended  หมายเลข 103 อนุญาตการเชื่อมต่อ IP 192.168.30.0 – 192.168.30.255

Port protocols ipmp ไปยัง IP 199.199.199.199 

R1(config)# access-list 103 permit icmp 192.168.30.0  0.0.0.255  host  199.199.199.199

ไม่อนุญาตให้ทุก IP และทุก port เชื่อมต่อ ไปยัง 199.199.199.199

R1(config)# access-list 103 deny ip any host 199.199.199.199

อนุญาตการเชื่อมต่อไปยัง VLAN อื่นได้

R1(config)# access-list 103 permit ip any any

กำหนดการทำงานให้ Router interface gigabitEthernet 0/1.30 ขาเข้า Router

R1(config)#interface gigabitEthernet 0/1.30

R1(config-subif)#ip access-group 103 in

R1(config-subif)#exit

R1(config)#

 

 

ประเภทเนื้อหาของ article
Computer Network
Rating
Average: 4 (1 vote)