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

  • DHCP Troubleshooting

    Nền tảng DHCP và tư duy Troubleshooting dành cho System Engineer / Network Engineer


    Trong môi trường doanh nghiệp hiện đại, DHCP (Dynamic Host Configuration Protocol) là một dịch vụ nền tảng nhưng cực kỳ quan trọng. Chỉ cần DHCP gặp sự cố, hàng loạt thiết bị có thể mất kết nối: máy tính người dùng không vào mạng, IP phone không đăng ký được, Access Point không join controller, máy chủ PXE không boot được, thậm chí các hệ thống sản xuất có thể bị gián đoạn.

    Điều nguy hiểm là lỗi DHCP thường biểu hiện rất mơ hồ.

    Người dùng chỉ nói:

    "Máy em không có mạng."

    Nhưng nguyên nhân thực tế có thể nằm ở rất nhiều nơi:
    • DHCP server
    • DHCP relay
    • Router
    • Switch VLAN
    • DHCP snooping
    • Windows Firewall
    • Linux iptables/nftables
    • Scope hết IP
    • Duplicate IP
    • Rogue DHCP server
    • Failover synchronization lỗi

    Muốn troubleshoot nhanh, kỹ sư cần hiểu bản chất giao thức trước.
    DHCP là gì?


    DHCP là giao thức tự động cấp phát cấu hình IP cho client.

    Thay vì phải ngồi cấu hình thủ công:
    • IP address
    • Subnet mask
    • Default gateway
    • DNS server
    • Domain suffix
    • NTP
    • PXE boot server
    • VoIP options

    ... thì client chỉ cần bật lên và yêu cầu DHCP server cấp phát.

    Ví dụ:

    Thay vì cấu hình tay:
    IP: 192.168.10.55
    Mask: 255.255.255.0
    Gateway: 192.168.10.1
    DNS: 8.8.8.8

    Client sẽ tự động nhận toàn bộ thông tin này.

    Điều này cực kỳ quan trọng trong doanh nghiệp có:
    • hàng trăm PC
    • hàng ngàn endpoint
    • IP phone
    • Wi-Fi clients
    • camera
    • printers
    • IoT devices
    • VM workloads

    DHCP hoạt động như thế nào?


    DHCP hoạt động theo mô hình client pull.

    Điều này rất quan trọng.

    Client chủ động hỏi server.

    Server không chủ động đẩy IP xuống client.

    Nói cách khác:

    DHCP là mô hình:

    Client initiated protocol

    chứ không phải:

    Server push protocol

    Điều này ảnh hưởng trực tiếp đến troubleshooting.

    Ví dụ:

    Nếu admin đổi DNS trên DHCP server, client sẽ không tự động đổi DNS ngay lập tức.

    Client chỉ cập nhật khi:
    • renew lease
    • reboot
    • ipconfig /renew
    • dhclient renew

    Quy trình DORA


    DHCP hoạt động theo chu trình nổi tiếng:

    DORA
    • Discover
    • Offer
    • Request
    • Acknowledge

    Bước 1 — DHCP Discover


    Client vừa khởi động chưa có IP.

    Nó không biết:
    • DHCP server ở đâu
    • subnet là gì
    • gateway là gì

    Vì vậy client phát broadcast:
    DHCPDISCOVER

    Destination:
    255.255.255.255

    Layer 2:
    FF:FF:FF:FF:FF:FF

    Ý nghĩa:

    "Có DHCP server nào ngoài kia không? Tôi cần IP."
    Bước 2 — DHCP Offer


    DHCP server nhận Discover.

    Server kiểm tra:
    • pool còn IP không
    • client có reservation không
    • policy nào áp dụng
    • conflict detection
    • exclusions
    • failover state

    Nếu hợp lệ:

    Server trả lời:
    DHCPOFFER

    Ví dụ:
    IP: 192.168.10.100
    Mask: 255.255.255.0
    Gateway: 192.168.10.1
    DNS: 192.168.10.10
    Lease: 8 days
    Bước 3 — DHCP Request


    Client chưa dùng IP ngay.

    Nó gửi:
    DHCPREQUEST

    Ý nghĩa:

    "Tôi đồng ý nhận IP này."
    Bước 4 — DHCP ACK


    Server xác nhận:
    DHCPACK

    Client chính thức dùng IP.
    Nếu DHCP fail thì fail ở đâu?


    Trong thực chiến, failure thường nằm tại 1 trong 4 điểm:
    Discover không đi được
    Offer không quay về
    Request không tới
    ACK không quay lại

    Đây là tư duy troubleshoot quan trọng nhất.

    Đừng đoán mò.

    Hãy xác định DORA fail ở bước nào.
    Dịch nội dung gốc: Các vấn đề DHCP tiềm ẩn khi Troubleshooting


    Dưới đây là bản dịch nội dung kỹ thuật.
    1. Router không forward broadcast


    Theo mặc định, router không chuyển tiếp broadcast.

    Điều này bao gồm cả:
    DHCPDISCOVER

    Vì DHCP client dùng broadcast để tìm server.

    Nếu DHCP client và DHCP server khác subnet:

    DHCP sẽ fail nếu không có relay agent.

    Cisco:
    ip helper-address x.x.x.x

    Ví dụ:

    Client:
    192.168.10.0/24

    DHCP server:
    10.10.10.10

    Router giữa hai mạng nếu không có:
    ip helper-address 10.10.10.10

    thì DHCP fail.
    2. DHCP pool hết IP


    DHCP pool luôn hữu hạn.

    Ví dụ:
    192.168.10.100 → 192.168.10.150

    Chỉ có:
    51 IP

    Khi hết:

    Client mới sẽ không nhận IP.

    Dấu hiệu:

    Windows:
    169.254.x.x

    Linux:

    No lease.

    Cisco IP phone:

    boot fail.
    3. Misconfiguration


    Cấu hình sai là lỗi phổ biến nhất.

    Ví dụ:

    Sai subnet:
    192.168.20.0/24

    trong khi client thực tế ở:
    192.168.10.0/24

    Sai gateway:
    192.168.10.254

    trong khi gateway thật:
    192.168.10.1

    Sai DNS.

    Sai exclusion.

    Sai lease.

    Sai helper-address.
    4. Duplicate IP address


    DHCP có thể cấp IP đã bị dùng bởi thiết bị static.

    Ví dụ:

    Server cấu hình tay:
    192.168.10.120

    DHCP cũng phát:
    192.168.10.120

    Kết quả:
    • ARP conflict
    • packet loss
    • intermittent connectivity
    • random disconnect

    5. DHCP redundancy communication failure


    Một số DHCP server chạy HA/failover.

    Ví dụ:

    Windows DHCP failover.

    Nếu synchronization fail:

    Cả hai server có thể phát IP chồng nhau.

    Kết quả:

    IP overlap.

    Network chaos.
    6. DHCP là giao thức pull


    Client chủ động lấy config.

    Server không push config.

    Điều này giải thích vì sao đổi config server mà client chưa cập nhật.
    7. Interface không thuộc DHCP subnet


    Nếu router Cisco đóng vai DHCP server:

    Router phải có interface thuộc subnet pool.

    Ví dụ:

    Pool:
    192.168.10.0/24

    Router:
    interface vlan 10
    ip address 192.168.10.1 255.255.255.0

    Nếu router không có interface phù hợp:

    DHCP fail.

    Ngoại lệ:

    Có DHCP relay.
    Tư duy Troubleshooting DHCP chuyên gia


    Đừng bắt đầu bằng câu:

    "DHCP chết rồi."

    Hãy bắt đầu bằng:

    DORA đang fail ở bước nào?
    Checklist tư duy nhanh

    Câu 1


    Client có gửi Discover không?

    Nếu không:

    Xem:
    • NIC down
    • Wi-Fi disconnected
    • VLAN sai
    • switchport shutdown
    • cable lỗi
    • client firewall
    • dhclient issue

    Câu 2


    Discover tới server chưa?

    Nếu chưa:

    Xem:
    • relay
    • helper-address
    • routing
    • ACL
    • firewall
    • UDP 67/68

    Câu 3


    Server có trả Offer không?

    Nếu không:

    Xem:
    • service stopped
    • pool exhausted
    • scope disabled
    • authorization fail
    • config syntax error

    Câu 4


    Offer có quay về client không?

    Nếu không:

    Xem:
    • relay return path
    • ACL
    • asymmetric routing
    • firewall
    • VLAN mismatch

    Câu 5


    Client có Request không?

    Nếu không:

    Có thể:
    • duplicate IP detect
    • client reject config
    • malformed packet

    Câu 6


    ACK có tới client không?

    Nếu không:

    Xem:
    • ACL
    • firewall
    • relay issue

    Công cụ packet capture bắt buộc biết


    Windows:
    pktmon

    Linux:
    tcpdump -ni eth0 port 67 or port 68

    Cisco:
    monitor capture

    Wireshark filter:
    bootp

    hoặc:
    dhcp
    Triệu chứng DHCP ngoài đời thực


    Nếu thấy:

    Windows:
    169.254.x.x

    => DHCP fail.

    Nếu thấy:
    IP đúng nhưng không ra mạng

    => Gateway/DNS sai.

    Nếu thấy:
    Lúc được lúc mất

    => Duplicate IP / rogue DHCP.

    Nếu thấy:
    Chỉ VLAN này lỗi

    => relay / helper / scope / VLAN config.

    Nếu thấy:
    Wi-Fi client fail nhưng wired OK

    => WLAN DHCP relay / controller / Option issue.
    Kết luận cho phần 1


    DHCP troubleshoot không khó nếu tư duy đúng.

    Sai lầm lớn nhất là đoán mò.

    Tư duy đúng là:
    DORA fail ở đâu?

    Khi xác định đúng điểm failure, root cause thường lộ ra rất nhanh.
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

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