Tôi có thể có nhiều máy chủ DHCP trên một mạng không?


86

Đây là một câu hỏi Canonical về máy chủ DHCP dự phòng.

Có thể có nhiều máy chủ DHCP trên cùng một mạng LAN không? Ý nghĩa của việc làm này là gì?

  1. Điều gì xảy ra nếu có nhiều hơn một máy chủ DHCP? Làm thế nào để khách hàng của tôi biết nên sử dụng cái nào?
  2. Làm cách nào tôi có thể có máy chủ DHCP cung cấp địa chỉ cho nhiều phân đoạn mạng con?
  3. Làm cách nào tôi có thể định cấu hình nhiều máy chủ DHCP để cung cấp địa chỉ cho cùng một mạng con.

1
Ý tưởng đằng sau câu hỏi này là đưa ra một câu trả lời dứt khoát cho tất cả các câu hỏi "Làm thế nào tôi có thể có nhiều hơn một Máy chủ DHCP" khiến người dùng thường xuyên hơn của chúng tôi phát điên. Điều này hy vọng sẽ trở thành một trong những câu trả lời kinh điển của chúng tôi ( meta.serverfault.com/questions/1986/ mẹo )
Rob Moir

2
RTFM? tools.ietf.org/html/draft-ietf-dhc-failover-12#section-5.3 (và rfc 3074) đã xác định hành vi này và linux dhcpd thực hiện nó manpages.ub Ubuntu.com/manpages/precise/en/man5/ ...
Dani_l

2
@Dani_l có lẽ bạn nên theo liên kết 'câu hỏi chính tắc' trong câu hỏi và cũng có thể xem lại các tác giả của câu trả lời cho câu hỏi của tôi ở đây trước khi nói với tôi rằng tôi cần RTFM.
Rob Moir

2
Tôi không bảo BẠN đọc hướng dẫn. Tôi chỉ chỉ ra rằng có một hướng dẫn. Câu hỏi là hợp quy, nhưng, khi áp dụng, tôi tin rằng nó nên bao gồm tham chiếu đến các thủ tục "chính thức", nếu điều đó tồn tại. Trong trường hợp này, IETF / RFC tồn tại và đó là chính thức như nó có.
Dani_l

Câu trả lời:


96

Tôi giả định kiến ​​thức cơ bản về những gì DHCP làm và cách định cấu hình máy chủ DHCP của bạn trong câu trả lời này, nhưng trước khi chúng ta nói về nhiều máy chủ DHCP trên cùng một mạng, trước hết, hãy nhanh chóng giới thiệu lại cách khách hàng nhận địa chỉ IP từ DHCP ở cấp độ cơ bản nhất.

DHCP trên một mạng đơn giản hoạt động theo nguyên tắc DORA.

  • Discovery - ứng dụng khách phát thông báo trên phân đoạn mạng cục bộ được kết nối tới, để khám phá các máy chủ DHCP có sẵn.

  • Ưu đãi - một máy chủ DHCP được cấu hình phù hợp sẽ nhận được yêu cầu từ khách hàng và cung cấp cho nó một địa chỉ từ nhóm địa chỉ khả dụng.

  • Yêu cầu - Khách hàng trả lời ưu đãi, yêu cầu địa chỉ nhận được trong Ưu đãi.

  • Công nhận - Máy chủ xác nhận yêu cầu, đánh dấu địa chỉ được sử dụng trong nhóm địa chỉ của nó và thông báo cho khách hàng về thời gian thuê địa chỉ có hiệu lực trong bao lâu và bất kỳ thông tin nào khác cần thiết.

Bất kỳ thiết bị nào trên một phân đoạn mạng đều có thể là máy chủ DHCP; nó không phải là bộ định tuyến hoặc bộ điều khiển miền hoặc bất kỳ thiết bị "đặc biệt" nào khác trên mạng.

Khi các thiết bị trên mạng của bạn trước tiên yêu cầu địa chỉ IP hoặc đến cuối hợp đồng thuê của họ (hoặc bạn buộc họ kiểm tra hợp đồng thuê của họ vẫn hợp lệ), họ sẽ chỉ phát một yêu cầu cho máy chủ DHCP và sẽ chấp nhận đề nghị từ người đầu tiên Máy chủ DHCP để trả lời . Điều này rất quan trọng cần nhớ khi chúng ta xem xét các tùy chọn cho nhiều máy chủ DHCP bên dưới.

Nhiều máy chủ DHCP PT 1: Kéo dài nhiều mạng con.

Nếu bạn có một số Vlan hoặc phân đoạn mạng vật lý được phân tách thành các mạng con khác nhau và bạn muốn cung cấp dịch vụ DHCP cho các thiết bị trong tất cả các mạng con đó thì có hai cách để thực hiện việc này.

  1. Nếu bộ chuyển đổi bộ định tuyến / lớp 3 tách chúng có thể hoạt động như một tác nhân chuyển tiếp BOOTP / DHCP, thì bạn có thể tiếp tục giữ tất cả (các) máy chủ DHCP của mình ở một hoặc hai phần trung tâm của mạng và định cấu hình (các) máy chủ DHCP của bạn hỗ trợ nhiều dải địa chỉ. Để hỗ trợ điều này, bộ định tuyến hoặc bộ chuyển đổi lớp 3 của bạn phải hỗ trợ đặc tả tác nhân chuyển tiếp BOOTP được đề cập trong phần 4 của RFC 1542 .

  2. Nếu bộ định tuyến của bạn không hỗ trợ các tác nhân chuyển tiếp RFC 1542 BOOTP hoặc nếu một số phân đoạn mạng của bạn bị phân tán về mặt địa lý qua các liên kết chậm, thì bạn sẽ cần đặt một hoặc nhiều máy chủ DHCP trong mỗi mạng con. Máy chủ DHCP 'cục bộ' này sẽ chỉ phục vụ các yêu cầu của phân khúc cục bộ của chính nó và không có sự tương tác giữa nó và các máy chủ DHCP khác. Nếu đây là những gì bạn muốn thì bạn có thể chỉ cần cấu hình mỗi máy chủ DHCP thành một máy chủ độc lập, với các chi tiết của nhóm địa chỉ cho mạng con riêng của nó và không phải lo lắng về bất kỳ máy chủ DHCP nào khác trên các phần khác của mạng. Đây là ví dụ cơ bản nhất về việc có nhiều hơn một máy chủ DHCP trên cùng một mạng.

Nhiều máy chủ DHCP PT 2: Máy chủ DHCP phục vụ cùng phân khúc mạng.

Khi hầu hết mọi người hỏi về nhiều máy chủ DHCP trên cùng một mạng, điều họ thường yêu cầu là đây; họ muốn có nhiều hơn một máy chủ DHCP phát hành cùng một dải địa chỉ mạng cho khách hàng, để phân chia tải giữa nhiều máy chủ hoặc để cung cấp dự phòng nếu một máy chủ ngoại tuyến.

Điều này là hoàn toàn có thể, mặc dù nó đòi hỏi một số suy nghĩ và lập kế hoạch.

Từ quan điểm lưu lượng truy cập mạng của Cameron Quan điểm của người dùng, quy trình DORA được nêu ra khi bắt đầu câu trả lời này giải thích cách có thể có nhiều hơn một máy chủ DHCP trên một phân đoạn mạng; khách hàng chỉ cần phát một yêu cầu Khám phá và máy chủ DHCP đầu tiên phản hồi với Ưu đãi là 'người chiến thắng'.

Từ quan điểm của máy chủ, mỗi máy chủ sẽ có một nhóm địa chỉ mà nó có thể cấp cho khách hàng, được biết phạm vi địa chỉ của nó. Các máy chủ DHCP đang phục vụ cùng một mạng con không nên có một phạm vi được chia sẻ trên một mạng, mà thay vào đó, chúng nên có một phạm vi chia tách ra.

Nói cách khác, nếu bạn có một dải địa chỉ DHCP để cấp cho các máy khách từ 192.168.1.100 đến 192.168.1.200, thì cả hai máy chủ sẽ được cấu hình để phục vụ các phần riêng biệt của phạm vi đó, vì vậy máy chủ đầu tiên có thể sử dụng các phần của phạm vi đó từ 192.168.1.100 đến 192.168.1.150 và máy chủ thứ hai sau đó sẽ cấp 192.168.1.151 thành 192.168.1.200.

Tách phạm vi DHCP, hiển thị loại trừ

Các triển khai DHCP gần đây của Microsoft có một trình hướng dẫn để phân tách phạm vi của bạn như thế này dễ thực hiện, được mô tả trong bài viết Technet có thể đáng xem ngay cả khi bạn không sử dụng triển khai Microsoft DHCP, vì nó minh họa các nguyên tắc được nói đến ở đây khá độc đáo và câu trả lời này đã đủ dài.

Chia phạm vi - thực tiễn tốt nhất

Một điều bạn sẽ nghe được đề cập là cách thực hành tốt nhất là quy tắc 80/20 để phân chia phạm vi DHCP, có nghĩa là một máy chủ sẽ phục vụ 80% địa chỉ trong phạm vi đó và máy chủ DHCP khác, có hiệu quả 'dự trữ' sẽ phục vụ 20% địa chỉ.

Ý tưởng đằng sau việc chia địa chỉ 80/20 là vì 80% địa chỉ có sẵn hy vọng sẽ đủ cho tất cả các địa chỉ cần thiết trên mạng con và việc cho thuê DHCP thường được ban hành trong vài ngày; do đó, nếu máy chủ DHCP chính của bạn ngừng hoạt động trong vài giờ thì có khả năng hơn 20% số máy trên mạng con đó sẽ cần gia hạn địa chỉ của chúng trong thời gian ngừng hoạt động, làm cho nhóm địa chỉ 20% đủ.

Đây vẫn là lời khuyên hợp lý, nhưng nó giả định hai điều:

  1. Rằng bạn có thể giải quyết bất kỳ vấn đề nào với máy chủ DHCP chính của DHCP đủ nhanh để tránh làm cạn kiệt nhóm địa chỉ nhỏ trên máy chủ DHCP dự trữ của bạn.
  2. Rằng bạn không quan tâm đến việc cân bằng tải.

Những ngày này (như bạn có thể thấy từ các ví dụ của tôi) Tôi có xu hướng thích chia 50/50, mà tôi nghĩ là một câu trả lời thực tế hơn cho các điểm trên.

Một điều khác cần xem xét khi tạo phạm vi của bạn trên các máy chủ DHCP là định cấu hình phạm vi đầy đủ vào mỗi máy chủ và loại trừ phạm vi được cung cấp bởi máy chủ DHCP khác. Điều này có lợi ích của việc tự ghi lại thông tin DHCP về thông tin DHCP cho mạng con đầy đủ trên mỗi máy chủ DHCP, điều này sẽ cải thiện sự rõ ràng cho bất kỳ ai khác đang cố gắng hiểu những gì đang xảy ra và trong trường hợp một trong các máy chủ DHCP của bạn ngoại tuyến đôi khi, bạn có thể tạm thời cấu hình lại phạm vi loại trừ trên máy chủ khác để cho phép nó nhận lấy sự chậm chạp.

Kết hợp những ý tưởng

Cuối cùng, điều đáng ghi nhớ là bạn có thể kết hợp các nguyên tắc được thảo luận ở trên - bạn có thể đặt tất cả các máy chủ DHCP của mình vào một hoặc nhiều Vlan "máy chủ trung tâm" và sử dụng các tác nhân chuyển tiếp BOOTP trên tất cả các bộ định tuyến của bạn để gửi tất cả các yêu cầu DHCP từ rất lớn và được phân đoạn kết nối với dịch vụ DHCP tập trung (đó là những gì tôi làm, xem bên dưới). Hoặc bạn có thể có các máy chủ DHCP được phân phối trên toàn mạng của mình, với máy chủ DHCP "chính" trong mạng con cục bộ và máy chủ DHCP "dự trữ" trên phân đoạn mạng "gần đó" cung cấp một lượng nhỏ địa chỉ làm bản sao lưu - bạn thậm chí có thể có hai máy chủ DHCP trong các phân đoạn mạng riêng được định cấu hình để cung cấp dải địa chỉ 80/20 cho nhau. Sự lựa chọn hợp lý nhất sẽ phụ thuộc vào cách các mạng vật lý và logic của bạn ánh xạ với nhau.

Máy chủ DHCP phục vụ phạm vi phân chia cho nhiều mạng con


3
Trong trường hợp chia phạm vi: Xin lưu ý rằng các đặt phòng DHCP phải được thiết lập trên cả hai nửa. Giữ chúng được đồng bộ hóa có thể khá rắc rối nếu bạn cần cập nhật thường xuyên.
Tonny

4
Bạn có thể giải thích các kỹ thuật để đảm bảo rằng máy chủ DHCP dự trữ không bị tấn công miễn là máy chủ DHCP chính đang chạy không? Từ những gì tôi có thể đọc, nếu có xác suất nhận được phản hồi từ một trong hai máy chủ, thì máy chủ dự trữ sẽ hết thống kê, ngay khi tổng số hợp đồng thuê vượt quá hai lần kích thước của nhóm dự trữ. Điều này có lẽ làm cho máy chủ dự trữ vô giá trị đối với các máy khách mới, khi máy chủ DHCP chính bị hỏng ... phải không?
Niels B.

3
@NielsB. nếu bạn đang làm một cái gì đó giống như phân tách 80/20 thì bạn có thể đặt độ trễ trong phản hồi của máy chủ dự trữ ( blog.technet.com/b/teamdhcp/archive/2009/01/22/ trên ). Tôi không bận tâm với điều này khi tôi sử dụng chia 50/50 cho mình, nhưng nó sẽ hoạt động.
Rob Moir

13

Tôi đã áp dụng phương pháp này vài năm trước cho một mạng có quy mô vừa và nhỏ (500 người dùng) với những lợi ích đáng kể. DHCP đã không còn là một điểm duy nhất của sự thất bại. Bằng cách liên kết vĩnh viễn các địa chỉ MAC và IP, chúng tôi đảm bảo rằng cả hai máy chủ DHCP đều có cùng một phản hồi cho từng yêu cầu DHCP. Biết địa chỉ IP của mọi tài sản mạng cũng đơn giản hóa việc quản trị mạng và DNS có thể chạy cùng một cơ sở dữ liệu. Hệ thống được sử dụng BIND và DNS của Tập đoàn phần mềm Internet và các tập lệnh liên quan có thể được tải xuống tại https://web.archive.org/web/20121031051901/http://www.pearbright.com/index.php/doad/25- tải xuống dns-dhcp .

Một giải pháp thay thế sẽ là sử dụng chuyển đổi dự phòng ISC DHCPD thực sự: https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html


2
OP đặc biệt yêu cầu một câu trả lời giải thích cho câu hỏi này. Bạn có thể muốn sửa đổi câu trả lời của bạn để mở rộng dựa trên nó.
Brent Chihuahua vào

3
fwiw, trong khi câu trả lời này ngắn và tôi sẽ không bao giờ từ chối chi tiết hơn trong bộ câu hỏi và câu trả lời chính tắc, tôi nghĩ nó khá hay vì nó đề cập đến một phương pháp khác để thực hiện dự phòng DHCP.
Rob Moir

1
@DJ Pon3 Tôi đồng ý: Tôi chạy một thiết lập tương tự như DHCP đa trang web lớn của bạn (mặc dù ít Vlan hơn) và tôi sử dụng cách tiếp cận tương tự như Peter Talbot cho 3/4 Vlan đó.
Tonny

1
Liên kết bị hỏng ngay bây giờ :(
Sergey Vlasov
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.