Logo CNTTShop.vn

Hotline: 0966 658 525

Hà Nội: NTT03, Line 1, Thống Nhất Complex, 82 Nguyễn Tuân, Thanh Xuân, Hà Nội. ● HCM: Số 31B, Đường 1, Phường An Phú, Quận 2 (Thủ Đức), TP HCM. ===> Đơn Vị Hàng Đầu Trong Lĩnh Vực Cung Cấp Thiết Bị Security - Network - Wifi - CCTV - Conference - Máy chủ Server - Lưu trữ Storge.
Thiết bị mạng: 0862 158 859 - 0966 658 525 Máy chủ Server: 0866 176 188 - 0968 498 887 Purchase: 096 350 6565
Danh mục sản phẩm

IP Source Guard là gì? Hướng dẫn cấu hình IPSG trên switch Cisco

 

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về tính năng IP Source Guard và cách cấu hình nó trên các dòng switch Cisco nhé. Mặc dù 1 số dòng switch Cisco chạy OS khác nhau, tuy nhiên thì việc cấu hình IP Source Guard đều giống nhau, các bạn có thể cấu hình tương tự trên tất cả các dòng switch của Cisco như Catalyst 1000, 2960 Plus, 2960X 3650, 3850, 9200, 9300 Series đều được nhé.

Như trong bài viết trước thì chúng ta cũng đã cùng tìm hiểu về tính năng DHCP Snooping để chống giả mạo DHCP Server trong mạng. Khi bật DHCP Snooping trên switch, nó sẽ sinh ra 1 bảng dhcp snooping binding, chứa các thông tin của Client bao gồm địa chỉ IP, MAC, VLAN và cổng đang kết nối với Client đó. IP Source Guard là 1 trong các tính năng sử dụng bảng DHCP Snooping để hoạt động, nghĩa là các bạn sẽ cần cấu hình DHCP Snooping trước khi sử dụng IP Source Guard.

IP Source Guard là gì?

IP Source Guard hay các bạn cũng thường gọi là IPSG, là 1 tính năng bảo mật lớp 2 để ngăn chặn các cuộc tấn công giả mạo địa chỉ IP, hoặc là cả địa chỉ IP và MAC. Các bạn có thể xem trong mô hình này.

mô hình lab của IPSG

Giả sử trong mạng của chúng ta đang có 1 máy tính A có địa chỉ IP hợp lệ là 10.0.0.2 với địa chỉ MAC là 54-05-DB-F8-7C-DE được nhận từ DHCP Server. Tuy nhiên có 1 máy tính khác của hacker cũng đặt địa chỉ IP này với MAC là DC-4A-3E-62-07-AC, nhằm giả mạo máy tính A để đánh cắp thông tin.

Trong thực tế hệ thống mạng chúng ta sẽ gặp rất nhiều trường hợp tương tự.

Chẳng hạn các bạn có 1 VLAN, và trên firewall các bạn chỉ cho phép 1 số địa chỉ IP có thể ra được internet mà không lọc theo MAC. Khi đó 1 số người có thể cố ý đặt trùng các địa chỉ IP này để truy cập ra internet khi mà các máy tính kia offline.

Hoặc trường hợp phổ biến hơn là các bạn có các server trong mạng và các server này đã được đặt IP tĩnh. Tuy nhiên firewall trên server được bật nên các bạn sẽ không ping được đến IP của Server do firewall trên server mặc định chặn ping. Lúc này có thể 1 người nào đó cần 1 IP để đặt tĩnh trên thiết bị của họ, và ping thử đến IP của server. Và tất nhiên là  họ sẽ ping không được và tưởng rằng IP chưa được sử dụng, nên họ đặt cho thiết bị của họ. Khi đó thì trong mạng sẽ có 2 máy trùng IP, và các bạn sẽ mất kết nối đến server liên tục.

Với các trường hợp đặt trùng IP, thì khi đó trên switch đang lưu MAC của PC nào, thì traffic tới IP 10.0.0.2 sẽ được đẩy về PC đó, đây là tình huống mà chúng ta không mong muốn, nó có thể gây gián đoạn cho các dịch vụ quan trọng trong mạng, khi 1 thiết bị nào đó vô tình hoặc cố ý đặt trùng IP mà các bạn đang sử dụng. Hoặc IP đó các bạn đặt tĩnh nhưng không loại bỏ nó ra khỏi DHCP pool, thì khi server đó offline thì DHCP vẫn sẽ cấp.

Ngoài ra thì còn rất nhiều các trường hợp khác nữa có thể xảy ra, lúc này thì tính năng IP Source guard là tính năng cực kỳ đơn giản và hữu ích để các bạn giải quyết vấn đề này.

Cấu hình IP Source Guard trên switch Cisco

Khi các bạn bật IP Source Guard lên, ban đầu nó sẽ deny toàn bộ traffic, chỉ cho phép các gói tin DHCP. Khi đó chỉ những Client nhận được IP DHCP hoặc đã được cấu hình binding tĩnh thì mới được phép đi qua.

IP Source Guard sẽ có 2 cách để cấu hình: dựa trên DHCP Snooping binding và static binding

Cấu hình dựa trên DHCP Snooping database

Để có thể cấu hình được IP Source Guard theo bảng DHCP Snooping binding thì chúng ta cần có DHCP Snooping trước. Các bạn có thể tham khảo bài viết hướng dẫn cấu hình DHCP Snooping: DHCP Snooping - Hoạt động và cách cấu hình trên Cisco.

Mình sẽ show bảng dhcp snooping binding.

SW-Access#show ip dhcp snooping binding
MacAddress          IpAddress        Lease(sec)  Type           VLAN  Interface
------------------  ---------------  ----------  -------------  ----  --------------------
54:05:DB:F8:7C:DE   10.0.0.2         86046       dhcp-snooping   10    GigabitEthernet1/0/2
Total number of bindings: 1

SW-Access#

IP Source Guard sẽ sử dụng các thông tin này để tạo các Access list động và lọc traffic, các thông tin này tùy vào các bạn cấu hình, nó có thể là IP, hoặc cả IP, MAC, VLAN, và interface cũng được.

Ví dụ như mô hình trên, các bạn bật IP Source Guard với thông tin kiểm tra là IP và MAC, thì khi đó chỉ có PC- A sẽ có thể truy cập mạng được, do nó nhận IP từ DHCP, và thông tin này đã được binding trong DHCP Snooping database. Còn PC-B này sẽ bị deny do địa chỉ MAC của nó không khớp với địa chỉ IP, và PC-B được đặt IP tĩnh nên sẽ không có trong bảng DHCP Snooping. Tất nhiên là khi PC-B nhận IP mới thông qua DHCP, thì IP Source Guard cũng sẽ update Access list động của nó với thông tin mới trong DHCP Snooping database.

Cách hoạt động của nó chỉ đơn giản vậy thôi. Các bạn đưa các thông số nào vào check, thì nó sẽ kiểm tra các thông tin đó, nếu đúng thì cho phép truy cập.

Trước tiên mình sẽ cấu hình IP source guard cho cổng 0/2 trước.

Bật IP Source Guard bằng lệnh ip verify source trong mode Interface.

SW-Access(config)#interface g1/0/2
SW-Access(config-if)#ip verify source

Để kiểm tra thì các bạn có thể show bằng lệnh show ip verify source.

SW-Access(config-if)#do show ip verify source
Interface  Filter-type  Filter-mode  IP-address       Mac-address        Vlan
---------  -----------  -----------  ---------------  -----------------  ----
Gi1/0/2    ip           active       10.0.0.2                            10
SW-Access(config-if)#

Cổng 0/2 hiện tại đang được bật IP Source Guard, và chỉ lọc bằng địa chỉ IP. Nghĩa là lúc này chỉ các máy tính có địa chỉ IP là 10.0.0.2 được cắm vào cổng 0/2, và VLAN là 10 thì mới được truy cập.

Các bạn cũng có thể thêm bộ lọc dựa vào địa chỉ MAC. Để lọc theo MAC thì các bạn có thể thêm option port secure vào.

SW-Access(config-if)#ip verify source port-security
SW-Access(config-if)#do show ip verify source
Interface  Filter-type  Filter-mode  IP-address       Mac-address        Vlan
---------  -----------  -----------  ---------------  -----------------  ----
Gi1/0/2    ip-mac       active       10.0.0.2         permit-all         10
SW-Access(config-if)#

Khi đó thì switch sẽ check cả IP và MAC, tuy nhiên thì MAC hiện tại đang cho phép tất cả do mình chưa cấu hình Port secure, mình sẽ bật port secure trên cổng 0/2.

SW-Access(config-if)#switchport port-security
SW-Access(config-if)#do show ip verify source
Interface  Filter-type  Filter-mode  IP-address       Mac-address        Vlan
---------  -----------  -----------  ---------------  -----------------  ----
Gi1/0/2    ip-mac       active       10.0.0.2         54:05:DB:F8:7C:DE  10
SW-Access(config-if)#

Bây giờ thì switch sẽ lọc các Client tương ứng với địa chỉ IP và địa chỉ MAC này.

Mình sẽ cấu hình tương tự cho cổng 0/3 nối xuống PC-B

SW-Access(config-if)#interface g1/0/3
SW-Access(config-if)#ip verify source
SW-Access(config-if)#ip verify source port-security
SW-Access(config-if)#switchport port-security

Kiểm tra lại bằng lệnh show ip verify source.

SW-Access(config-if)#do show ip verify sou
Interface  Filter-type  Filter-mode  IP-address       Mac-address        Vlan
---------  -----------  -----------  ---------------  -----------------  ----
Gi1/0/2    ip-mac       active       10.0.0.2         54:05:DB:F8:7C:DE  10
Gi1/0/3    ip-mac       active       deny-all         deny-all           10
SW-Access(config-if)#

Các bạn có thể thấy do cổng 0/3 đang cấu hình IP tĩnh,và nó không có thông tin trong bảng DHCP Snooping, nên nó sẽ deny toàn bộ traffic đến từ cổng này, trừ gói tin DHCP thôi. Nên chúng ta sẽ tránh được các trường hợp ai đó đặt trùng với các IP quan trọng trong hệ thống mạng. Các máy client lúc này tại cổng 0/3 cần phải nhận IP qua DHCP thì mới truy cập được. Còn trường hợp đặt tĩnh thì chúng ta sẽ cần static binding.

Như vậy PC-B dù có đặt trùng IP thì cũng không làm ảnh hưởng đến kết nối mạng của PC-A.

Cấu hình Static binding

Ngoài sử dụng thông tin về client trong DHCP snooping Binding, thì IP Source Guard cũng hỗ trợ các bạn cấu hình Static. Nó sẽ được sử dụng trong trường hợp Server của các bạn cấu hình IP tĩnh, và các bạn chỉ muốn IP này được phép sử dụng trên 1 cổng nhất định, tránh trường hợp ai đó đặt trùng IP của server gây mất mạng chẳng hạn. Thì khi đó chúng ta không cần kết hợp với DHCP Snooping nữa

Trước tiên mình đã đổi IP của PC-B sang IP 10.0.0.10 để tránh trùng lặp với PC-A.

Để cấu hình static binding, các bạn quay lại vào mode global config, và cấu hình bằng lệnh ip source binding, sau đó là các thông tin về MAC, VLAN, IP và cuối cùng là cổng kết nối.

SW-Access(config)#ip source binding dc4a.3e62.07ac vlan 10 10.0.0.10 interface g1/0/3

Bây giờ thì các server tại cổng 0/3 với các thông tin này có thể truy cập mạng, mặc dù chúng không có trong bảng DHCP Binding.

SW-Access(config)#do show ip verify source
Interface  Filter-type  Filter-mode  IP-address       Mac-address        Vlan
---------  -----------  -----------  ---------------  -----------------  ----
Gi1/0/2    ip-mac       active       10.0.0.2         54:05:DB:F8:7C:DE  10
Gi1/0/3    ip-mac       active       10.0.0.10        DC:4A:3E:62:07:AC  10
SW-Access(config)#do show ip dhcp snooping binding
MacAddress          IpAddress        Lease(sec)  Type           VLAN  Interface
------------------  ---------------  ----------  -------------  ----  --------------------
54:05:DB:F8:7C:DE   10.0.0.2         85224       dhcp-snooping   10    GigabitEthernet1/0/2
Total number of bindings: 1

SW-Access(config)#

Ngoài ra thì còn rất nhiều cách để triển khai IP Source Guard, tuy nhiên trên đây là 2 cách phổ biến nhất mà chúng ta thường dùng, mình cũng sẽ không đề cập sâu vào các option trong bài viết này. Các bạn có thể tham khảo trên configure guide của hãng nhé.

Kiểm tra

Để kiểm tra hoạt động của IP Source Guard (IPSG), các bạn có thể sử dụng lệnh show ip verify source như mình đã show ở trên, hoặc các bạn cũng có thể bật debug IPSG để xem chi tiết.

Mình sẽ bật debug IPSG trên switch lên trước. Các bạn lưu ý kết quả debug này là lúc mình chưa cấu hình static binding cho PC-B, và PC-B vẫn đang đặt IP 10.0.0.2 trùng với PC-A nhé.

SW-Access#debug ip verify source packet
IP source guard debug packet debugging is on
SW-Access#

Mình sẽ ping từ PC-B đến gateway.

C:\Users\Administrator>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.9:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

C:\Users\Administrator>

Các bạn có thể thấy 1 log đã được đẩy ra thông báo PC từ cổng 0/3, địa chỉ IP và MAC không có trên interface này, do vậy tất cả traffic này sẽ bị drop.

*Feb 27 04:00:53.601: DHCP_SECURITY_SW: validate port security packet, recv port: GigabitEthernet1/0/3, recv vlan: 10, mac: dc4a.3e62.07ac, invalid flag: 1.
*Feb 27 04:00:53.601: DHCP_SECURITY_SW: validate port security packet, recv port: GigabitEthernet1/0/3, recv vlan: 10, mac: dc4a.3e62.07ac, invalid flag: 1.
*Feb 27 04:01:08.621: DHCP_SECURITY_SW: validate port security packet, recv port: GigabitEthernet1/0/3, recv vlan: 10, mac: dc4a.3e62.07ac, invalid flag: 1.
*Feb 27 04:01:08.621: DHCP_SECURITY_SW: validate port security packet, recv port: GigabitEthernet1/0/3, recv vlan: 10, mac: dc4a.3e62.07ac, invalid flag: 1.

Ok như vậy chắc các bạn cũng đã hiểu về IP Source Guard và cách ứng dụng nó vào trong 1 mô hình cụ thể rồi phải không. Nếu các bạn có bất kỳ góp ý hay thắc mắc nào, hãy để lại comment để mọi người cùng trao đổi nhé.

Chúc các bạn thành công!

Lê Văn Tuấn

Là chuyên gia trong lĩnh vực Network System, Security, Server.. Có kinh nghiệm nhiều năm tư vấn giải pháp mạng, triển khai các giải pháp CNTT và phân phối thiết bị mạng Switch, Wifi, Router, Máy chủ Server, Lưu trữ Storage, Tường lửa Firewall, Video Conferencing, Module quang, Load Balancing. Hiện tại tôi là Founder và Managing Director công ty TNHH Công Nghệ Việt Thái Dương (CNTTShop.vn).

Bình luận bài viết!

Có 1 bình luận:
M
Minh
Chào Ad Cho em hỏi chút nếu trường hợp bảng MAC DHCP Snooping database full thì những máy kết nối sau không thể truy cập mạng đúng không a? Cảm ơn ad
5 tháng
C
CNTTShopAdmin

đúng rồi bạn nhé, client cần có IP từ DHCP Server thì mới có thể sử dụng dịch vụ mạng

Chuyên mục chính
Bài viết cùng danh mục
Sản phẩm liên quan