Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • IP Helper Address

    Trong thực tế triển khai mạng doanh nghiệp, một trong những tình huống rất phổ biến là DHCP client và DHCP server không nằm cùng subnet với nhau. Đây chính là lúc cơ chế DHCP Relay Agent phát huy vai trò cực kỳ quan trọng. Nếu không có relay agent, các gói DHCPDISCOVER do client gửi dưới dạng broadcast sẽ không thể đi qua router để đến DHCP server ở mạng khác.

    Trong ví dụ trên, DHCP client nằm trong mạng 172.16.1.0/24, còn DHCP server lại nằm trong mạng 10.1.1.0/24. Vì router mặc định không forward broadcast packet giữa các subnet, nên DHCPDISCOVER sẽ bị chặn tại interface gateway nếu không có cấu hình hỗ trợ.

    Để giải quyết vấn đề này, router R1 được cấu hình làm DHCP Relay Agent bằng lệnh ip helper-address. Khi nhận được DHCPDISCOVER broadcast từ client ở interface Fa0/0, router sẽ chuyển đổi gói tin này thành unicast và gửi trực tiếp đến DHCP server tại địa chỉ 10.1.1.2.

    Cấu hình trên router như sau:
    R1(config)# service dhcp
    R1(config)# interface fa0/0
    R1(config-if)# ip helper-address 10.1.1.2

    Lệnh service dhcp dùng để bật DHCP service trên router. Thông thường tính năng này đã được enable mặc định, nhưng trong quá trình troubleshooting, đây vẫn là một điểm cần kiểm tra vì nếu service bị disable thì DHCP relay sẽ không hoạt động đúng.

    Điểm cực kỳ quan trọng là lệnh ip helper-address phải được cấu hình trên interface nhận DHCP broadcast từ client, tức là interface gateway của subnet client. Trong ví dụ này là Fa0/0 thuộc mạng 172.16.1.0/24. Nếu cấu hình nhầm interface hoặc nhập sai IP DHCP server, router sẽ relay gói tin đến sai nơi hoặc hoàn toàn không relay được.

    Một chi tiết thú vị mà nhiều người mới học networking thường chưa để ý là ip helper-address không chỉ relay DHCP. Theo mặc định, Cisco IOS còn forward thêm nhiều loại broadcast UDP khác như TFTP, DNS, NetBIOS, TACACS, BootP và một số dịch vụ legacy khác. Đây là lý do tại sao trong môi trường bảo mật cao, kỹ sư thường cần kiểm soát kỹ các UDP forwarding behavior để tránh lưu lượng không mong muốn đi xuyên subnet.

    Khi phân tích DHCP bằng Wireshark hoặc troubleshooting thực tế, chúng ta sẽ thường gặp các loại DHCP message khác nhau. Quá trình cấp phát địa chỉ IP cơ bản xoay quanh chuỗi DORA gồm Discover, Offer, Request và Acknowledgment.

    Đầu tiên, client gửi DHCPDISCOVER đến địa chỉ broadcast 255.255.255.255 bằng UDP port 67 để tìm DHCP server. DHCP server phản hồi bằng DHCPOFFER qua UDP port 68, đề xuất địa chỉ IP cùng các tham số cấu hình như subnet mask, default gateway và DNS server. Sau đó client gửi DHCPREQUEST để yêu cầu sử dụng thông tin được đề xuất. Cuối cùng DHCP server trả về DHCPACK để xác nhận lease chính thức.

    Ngoài DORA còn có nhiều message khác xuất hiện trong thực tế. DHCPDECLINE được client gửi khi phát hiện IP được cấp đã bị thiết bị khác sử dụng trên mạng. DHCPNAK xảy ra khi server từ chối yêu cầu của client, thường do lease không hợp lệ hoặc client đang ở sai subnet. DHCPRELEASE được gửi khi client trả lại IP lease cho server trước khi shutdown hoặc disconnect. DHCPINFORM thường xuất hiện trong một số mô hình đặc biệt khi client đã có IP nhưng muốn lấy thêm thông tin cấu hình như DNS hoặc domain name.

    Trong môi trường enterprise lớn, DHCP relay gần như xuất hiện ở khắp nơi vì rất hiếm khi doanh nghiệp triển khai DHCP server riêng cho từng VLAN. Một DHCP server tập trung kết hợp với relay agent trên router hoặc Layer 3 switch giúp việc quản trị đơn giản hơn rất nhiều, đồng thời dễ dàng tích hợp với các hệ thống như IPAM, NAC hoặc logging tập trung.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X