Mục lục
I. Tổng quan
II. DHCP on Router
III. DHCP on Server
IV. DHCP relay agent
V. Tổng kết
- DHCP là một giao thức tiêu chuẩn để cấp ip cho thiết bị với cơ chế client-server. Khi một client muốn yêu cầu một ip thì gửi một gói tin discover(broadcast) tìm xem trong mạng có dhcp server hay không.
+ Nếu có thì khi server nhận được gói tin discover sẽ gửi lại một gói tin offer(unicast) và chừa địa chỉ IP cho client đã gửi discover.
+ Khi nhận được gói offer client tiếp tục gửi một gói tin request(broadcast) để xin ip và cuối cùng server trả về gói tin ACK(unicast) kèm địa chỉ IP đã chừa trước đó.
- Client và server phải cùng chung lớp mạng mới có thể giao tiếp với nhau. Trong trường hợp client và server khác lớp mạng thì phải sử dụng cơ chế DHCP relay.
- Có 2 điều kiện để chọn interface và cấu hình DHCP relay agent:
+ Phải đảm bảo DHCP relay agent biết đường đi đến DHCP server.
+ Phải đảm bảo DHCP relay agent nhận được gói tin broadcast của client.
Câu hỏi: Tại sao nói offer và ACK là unicast nhưng địa chỉ IP khi gửi của nó là địa chỉ broadcast?
Trả lời: Do lúc này, client gửi yêu cầu DHCP lần đầu tiên chưa có IP cho nên để chắc chắn rằng các gói offer và ACK được đến tay của client thì server sẽ gửi broadcast.(Nhưng nếu gửi yêu cầu DHCP khi đã có IP thì sẽ đổi thành unicast)
Câu hỏi: Vậy nếu cùng lúc có 2 máy đều chưa có IP và cùng gửi DHCP thì làm sao server có thể gửi offer broadcast đúng được đến 2 máy?
Trả lời: trong một gói tin không chỉ có địa chỉ IP mà còn có địa chỉ MAC, server sẽ đính kèm theo địa chỉ MAC trong frame, nếu có cùng địa chỉ MAC dest thì gói tin mới được chấp nhận ngược lại sẽ bị drop.
- Sử dụng: phần mềm packet tracer, setup 1 router, 1 switch, 2 pc.
- Router đóng vai trò là default gateway và DHCP server.
- Đầu tiên, PC 0 sẽ gửi Broadcast gói tin discover để tìm DHCP server, có nghĩa là kể cả PC 1 trong mô hình cũng nhận được gói tin này.
- Khi router 0 hiện đang là DHCP server nhận được gói tin discover của PC 0 sẽ bắt đầu gửi lại gói tin offer cho PC 0 kèm IP và chừa lại IP đã offer cho PC 0.
- Khi PC 0 nhận được gói tin offer đến từ router ,sẽ tiếp tục gửi broadcast gói tin request đến tất cả các máy trong cùng lớp mạng để xác nhận là sẽ lấy IP đó.
- Sau cùng, router 0 sẽ gửi gói tin ACK cho PC 0 để xác nhận là đã cấp IP giờ thì sài đi.
- dhcp excluded-address: dùng để loại trừ các ip không được dùng để cấp DHCP IP, như trong thực tế các địa chỉ IP của server, interface router, default gateway cần cấu hình tĩnh nên sẽ loại trừ các IP này ra và không được cấp DHCP.
- DHCP pool là nơi dùng để cấu hình các địa chỉ IP sẽ được cấp, các bạn đặt tên gì cũng được:
+ network dùng để cấu hình khoảng IP sẽ được cấp cho các client.
+ default-router là defaultgate way.
+ dns-server như cái tên của nó dùng để chỉ định dns server cho máy.
- Thêm một server kết nối trực tiếp vào switch vẫn giữ mô hình cũ.
- Về bản chất vẫn là mô hình cũ, nhưng lần này router 0 không còn là DHCP server nữa mà chuyển thành Server 1 vì cũng nằm cùng lớp mạng cho nên hoàn toàn có thể cấp DHCP.
- Trên server, bật chế độ service DHCP lên, cấu hình DHCP pool.
- Cấu hình dịch vụ trên server cũng như trên router mà lần này sử dụng UI.
+ Default Gateway, DNS server thì cứ điền như bình thường.
+ Start IP Address và subnet mask: sẽ là DHCP Pool cấp cho các client
+ Maximum Number of Users: là số lượng User tối đa
+ Nhấn save để hoàn thành.
- Lần này mô hình thay đổi DHCP Server không còn cùng một lớp mạng với client, mà đã chuyển sang mạng 192.168.2.0/24.
- Như mình đã nói ở trên do không cùng lớp mạng cho nên các PC sẽ không tìm thấy DHCP server do đó không thể cấp IP cho client.
- Do đó để có thể tìm được DHCP server chúng ta cần phải cấu hình DHCP relay, nhưng làm sao để có thể chọn được DHCP relay agent?
- Với 2 điều kiện mình đã nêu ở trên:
- Mình vẫn giữ nguyên cấu hình DHCP service trên server và chỉ cấu hình DHCP relay agent trên int G0/0/0 trên router 0
- Câu lệnh này có nghĩa là lựa chọn int g0/0/0 sẽ trở thành DHCP relay agent cho server 192.168.2.10.
Mình đã hoàn thành bài lab cấu hình DHCP trên bộ công cụ packet tracer, mình đã nói về lý thuyết của DHCP, cách vận hành của nó, cách cấu hình và lựa chọn DHCP relay agent.
Các kiến thức trên được mình góp nhặt và nghiên cứu từ nhiều nguồn nếu như có sai sót hoặc thông tin gì sai với kiến thức chung, mọi người xin vui lòng góp ý bên dưới comment.
I. Tổng quan
II. DHCP on Router
III. DHCP on Server
IV. DHCP relay agent
V. Tổng kết
I. Tổng quan
- DHCP là một giao thức tiêu chuẩn để cấp ip cho thiết bị với cơ chế client-server. Khi một client muốn yêu cầu một ip thì gửi một gói tin discover(broadcast) tìm xem trong mạng có dhcp server hay không.
+ Nếu có thì khi server nhận được gói tin discover sẽ gửi lại một gói tin offer(unicast) và chừa địa chỉ IP cho client đã gửi discover.
+ Khi nhận được gói offer client tiếp tục gửi một gói tin request(broadcast) để xin ip và cuối cùng server trả về gói tin ACK(unicast) kèm địa chỉ IP đã chừa trước đó.
- Client và server phải cùng chung lớp mạng mới có thể giao tiếp với nhau. Trong trường hợp client và server khác lớp mạng thì phải sử dụng cơ chế DHCP relay.
- Có 2 điều kiện để chọn interface và cấu hình DHCP relay agent:
+ Phải đảm bảo DHCP relay agent biết đường đi đến DHCP server.
+ Phải đảm bảo DHCP relay agent nhận được gói tin broadcast của client.
Câu hỏi: Tại sao nói offer và ACK là unicast nhưng địa chỉ IP khi gửi của nó là địa chỉ broadcast?
Trả lời: Do lúc này, client gửi yêu cầu DHCP lần đầu tiên chưa có IP cho nên để chắc chắn rằng các gói offer và ACK được đến tay của client thì server sẽ gửi broadcast.(Nhưng nếu gửi yêu cầu DHCP khi đã có IP thì sẽ đổi thành unicast)
Câu hỏi: Vậy nếu cùng lúc có 2 máy đều chưa có IP và cùng gửi DHCP thì làm sao server có thể gửi offer broadcast đúng được đến 2 máy?
Trả lời: trong một gói tin không chỉ có địa chỉ IP mà còn có địa chỉ MAC, server sẽ đính kèm theo địa chỉ MAC trong frame, nếu có cùng địa chỉ MAC dest thì gói tin mới được chấp nhận ngược lại sẽ bị drop.
II. DHCP on Router
1. Mô hình
- Sử dụng: phần mềm packet tracer, setup 1 router, 1 switch, 2 pc.
- Router đóng vai trò là default gateway và DHCP server.
2. Mô tả lý thuyết
- Đầu tiên, PC 0 sẽ gửi Broadcast gói tin discover để tìm DHCP server, có nghĩa là kể cả PC 1 trong mô hình cũng nhận được gói tin này.
- Khi router 0 hiện đang là DHCP server nhận được gói tin discover của PC 0 sẽ bắt đầu gửi lại gói tin offer cho PC 0 kèm IP và chừa lại IP đã offer cho PC 0.
- Khi PC 0 nhận được gói tin offer đến từ router ,sẽ tiếp tục gửi broadcast gói tin request đến tất cả các máy trong cùng lớp mạng để xác nhận là sẽ lấy IP đó.
- Sau cùng, router 0 sẽ gửi gói tin ACK cho PC 0 để xác nhận là đã cấp IP giờ thì sài đi.
3. Cấu hình
- dhcp excluded-address: dùng để loại trừ các ip không được dùng để cấp DHCP IP, như trong thực tế các địa chỉ IP của server, interface router, default gateway cần cấu hình tĩnh nên sẽ loại trừ các IP này ra và không được cấp DHCP.
Bash:
Router (config)# ip dhcp excluded-address 192.168.1.1
+ network dùng để cấu hình khoảng IP sẽ được cấp cho các client.
+ default-router là defaultgate way.
+ dns-server như cái tên của nó dùng để chỉ định dns server cho máy.
Bash:
Router (config)# ip dhcp pool DHCP1
Router (dhcp-config)# network 192.168.1.0 255.255.255.0
Router (dhcp-config)# default-router 192.168.1.1
Router (dhcp-config)# dns-server 8.8.8.8
III. DHCP on Server
1.Mô hình
- Thêm một server kết nối trực tiếp vào switch vẫn giữ mô hình cũ.
2. Mô tả lý thuyết
- Về bản chất vẫn là mô hình cũ, nhưng lần này router 0 không còn là DHCP server nữa mà chuyển thành Server 1 vì cũng nằm cùng lớp mạng cho nên hoàn toàn có thể cấp DHCP.
3. Cấu hình
- Trên server, bật chế độ service DHCP lên, cấu hình DHCP pool.
- Cấu hình dịch vụ trên server cũng như trên router mà lần này sử dụng UI.
+ Default Gateway, DNS server thì cứ điền như bình thường.
+ Start IP Address và subnet mask: sẽ là DHCP Pool cấp cho các client
+ Maximum Number of Users: là số lượng User tối đa
+ Nhấn save để hoàn thành.
IV. DHCP relay agent
1.Mô hình
- Lần này mô hình thay đổi DHCP Server không còn cùng một lớp mạng với client, mà đã chuyển sang mạng 192.168.2.0/24.
2. Mô tả lý thuyết
- Như mình đã nói ở trên do không cùng lớp mạng cho nên các PC sẽ không tìm thấy DHCP server do đó không thể cấp IP cho client.
- Do đó để có thể tìm được DHCP server chúng ta cần phải cấu hình DHCP relay, nhưng làm sao để có thể chọn được DHCP relay agent?
- Với 2 điều kiện mình đã nêu ở trên:
+ DHCP relay agent phải biết đường đến DHCP server
+ Phải đảm bảo DHCP relay agent nhận được gói tin broadcast của client.
- Như vậy thì thích hợp nhất ở đây sẽ là Interface có địa chỉ G0/0/0 nằm trên router.3. Cấu hình
- Mình vẫn giữ nguyên cấu hình DHCP service trên server và chỉ cấu hình DHCP relay agent trên int G0/0/0 trên router 0
Bash:
Router(config)#int g0/0/0
Router(config-if)#ip helper-address 192.168.2.10
V. Tổng kết
Mình đã hoàn thành bài lab cấu hình DHCP trên bộ công cụ packet tracer, mình đã nói về lý thuyết của DHCP, cách vận hành của nó, cách cấu hình và lựa chọn DHCP relay agent.
Các kiến thức trên được mình góp nhặt và nghiên cứu từ nhiều nguồn nếu như có sai sót hoặc thông tin gì sai với kiến thức chung, mọi người xin vui lòng góp ý bên dưới comment.
Attachments
Last edited: