ฉันสามารถมีเซิร์ฟเวอร์ DHCP หลายเครื่องในเครือข่ายเดียวได้หรือไม่


85

นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับเซิร์ฟเวอร์ DHCP ที่ซ้ำซ้อน

เป็นไปได้หรือไม่ที่จะมีเซิร์ฟเวอร์ DHCP มากกว่าหนึ่งเครื่องบน LAN เดียวกัน ความหมายของการทำเช่นนี้มีอะไรบ้าง

  1. จะเกิดอะไรขึ้นถ้ามีเซิร์ฟเวอร์ DHCP มากกว่าหนึ่งเครื่องที่มีอยู่ ลูกค้าของฉันจะทราบได้อย่างไรว่าลูกค้ารายใดควรใช้
  2. ฉันจะให้เซิร์ฟเวอร์ DHCP ระบุที่อยู่ไปยังกลุ่มเครือข่ายย่อยมากกว่าหนึ่งเครือข่ายได้อย่างไร
  3. ฉันจะกำหนดค่าเซิร์ฟเวอร์ DHCP หลายเครื่องเพื่อระบุที่อยู่สำหรับซับเน็ตเดียวกันได้อย่างไร

1
แนวคิดเบื้องหลังคำถามนี้คือการให้คำตอบที่ชัดเจนสำหรับคำถามทั้งหมด "ฉันจะมีเซิร์ฟเวอร์ DHCP ได้มากกว่าหนึ่งคำถาม" ที่ทำให้ผู้ใช้ปกติของเราคลั่งไคล้มากขึ้นได้อย่างไร หวังว่านี่จะเป็นหนึ่งในคำตอบที่เป็นที่ยอมรับของเรา ( meta.serverfault.com/questions/1986/… )
Rob Moir

2
RTFM? tools.ietf.org/html/draft-ietf-dhc-failover-12#section-5.3 (และ rfc 3074) กำหนดพฤติกรรมนี้แล้วและ linux dhcpd ใช้งานmanpages.ubuntu.com/manpages/precise/en/man5/ …
Dani_l

2
@Dani_l บางทีคุณควรไปตามลิงก์ 'คำถามบัญญัติ' ในคำถามและอาจตรวจสอบผู้เขียนคำตอบสำหรับคำถามของฉันที่นี่ก่อนที่จะบอกฉันว่าฉันต้อง RTFM
Rob Moir

2
ฉันไม่ได้บอกให้คุณอ่านคู่มือ ฉันแค่ชี้ให้เห็นว่ามีคู่มือ คำถามนี้เป็นที่ยอมรับ แต่ถ้าเชื่อฉันควรจะมีการอ้างอิงถึงขั้นตอน "เป็นทางการ" หากมีอยู่ ในกรณีนี้มี IETF / RFC และเป็นทางการเท่าที่ได้รับ
Dani_l

คำตอบ:


95

ฉันสมมติว่ามีความรู้พื้นฐานเกี่ยวกับสิ่งที่ DHCP ทำและวิธีกำหนดค่าเซิร์ฟเวอร์ DHCP ที่คุณเลือกในคำตอบนี้ แต่ก่อนที่เราจะพูดคุยเกี่ยวกับเซิร์ฟเวอร์ DHCP หลายตัวในเครือข่ายเดียวกัน จาก DHCP ในระดับพื้นฐานที่สุด

DHCP บนเครือข่ายง่าย ๆ ใช้หลักการ DORA

  • การค้นพบ - ไคลเอนต์ออกอากาศข้อความในส่วนเครือข่ายท้องถิ่นที่เชื่อมต่อกับเพื่อค้นหาเซิร์ฟเวอร์ DHCP ที่มีอยู่

  • ข้อเสนอ - เซิร์ฟเวอร์ DHCP ที่ได้รับการกำหนดค่าอย่างเหมาะสมได้รับคำขอจากไคลเอนต์และเสนอที่อยู่จากแหล่งรวมของที่อยู่ที่มีอยู่

  • คำขอ - ลูกค้าตอบกลับข้อเสนอโดยขอที่อยู่ที่ได้รับในข้อเสนอ

  • ตอบรับ - เซิร์ฟเวอร์รับทราบคำขอทำเครื่องหมายที่อยู่ตามที่ใช้ในกลุ่มที่อยู่และแจ้งให้ลูกค้าทราบว่าสัญญาเช่าที่อยู่นั้นมีอายุการใช้งานนานเท่าใดและข้อมูลอื่น ๆ ที่จำเป็น

อุปกรณ์ใด ๆ ในส่วนเครือข่ายสามารถเป็นเซิร์ฟเวอร์ DHCP ได้ ไม่จำเป็นต้องเป็นเราเตอร์หรือตัวควบคุมโดเมนหรืออุปกรณ์ "พิเศษ" อื่น ๆ ในเครือข่าย

เมื่ออุปกรณ์ในเครือข่ายของคุณก่อนขอที่อยู่ IP หรือถึงจุดสิ้นสุดของสัญญาเช่าของพวกเขา (หรือคุณบังคับให้พวกเขาในการตรวจสอบสัญญาเช่าของพวกเขายังคงถูกต้อง) พวกเขาก็จะออกอากาศการร้องขอสำหรับเซิร์ฟเวอร์ DHCP และจะยอมรับข้อเสนอจากครั้งแรก เซิร์ฟเวอร์ DHCP ที่จะตอบ สิ่งนี้เป็นสิ่งสำคัญที่ต้องจำเมื่อเราดูตัวเลือกสำหรับเซิร์ฟเวอร์ DHCP หลายตัวด้านล่าง

เซิร์ฟเวอร์ DHCP หลายตัว PT 1: การขยายเครือข่ายย่อยหลายเครือข่าย

หากคุณมีหลาย VLANs หรือส่วนเครือข่ายทางกายภาพที่แยกออกเป็นเครือข่ายย่อยต่าง ๆ และคุณต้องการให้บริการ DHCP กับอุปกรณ์ในเครือข่ายย่อยเหล่านั้นทั้งหมดมีสองวิธีในการทำเช่นนี้

  1. หากสวิตช์เราเตอร์ / เลเยอร์ 3 แยกพวกเขาสามารถทำหน้าที่เป็นตัวแทนรีเลย์ BOOTP / DHCP คุณสามารถเก็บเซิร์ฟเวอร์ DHCP ทั้งหมดของคุณไว้ในส่วนกลางหนึ่งหรือสองส่วนของเครือข่ายของคุณและกำหนดค่าเซิร์ฟเวอร์ DHCP ของคุณเป็น สนับสนุนที่อยู่หลายช่วง เพื่อที่จะสนับสนุนเรื่องนี้เราเตอร์หรือชั้น 3 สวิทช์ของคุณต้องสนับสนุนข้อกำหนด BOOTP ตัวแทนถ่ายทอดครอบคลุมในส่วนที่ 4 ของ RFC 1542

  2. หากเราเตอร์ของคุณไม่รองรับ RFC 1542 BOOTP เอเจนต์รีเลย์หรือหากบางส่วนของเครือข่ายของคุณกระจายทางภูมิศาสตร์ผ่านลิงก์ช้าคุณจะต้องวางเซิร์ฟเวอร์ DHCP หนึ่งตัวหรือมากกว่าในแต่ละเครือข่ายย่อย เซิร์ฟเวอร์ DHCP 'แบบโลคัล' นี้จะให้บริการตามความต้องการของส่วนโลคัลของตัวเองเท่านั้นและไม่มีการโต้ตอบระหว่างมันกับเซิร์ฟเวอร์ DHCP อื่น ๆ หากนี่คือสิ่งที่คุณต้องการคุณสามารถกำหนดค่าเซิร์ฟเวอร์ DHCP แต่ละเครื่องเป็นเซิร์ฟเวอร์แบบสแตนด์อโลนโดยมีรายละเอียดของกลุ่มที่อยู่สำหรับซับเน็ตของตนเองและไม่ต้องกังวลกับเซิร์ฟเวอร์ DHCP อื่น ๆ ในส่วนอื่น ๆ ของเครือข่าย นี่เป็นตัวอย่างพื้นฐานที่สุดของการมีเซิร์ฟเวอร์ DHCP มากกว่าหนึ่งเครื่องบนเครือข่ายเดียวกัน

เซิร์ฟเวอร์ DHCP หลายตัว PT 2: เซิร์ฟเวอร์ DHCP ที่ให้บริการส่วนเครือข่ายเดียวกัน

เมื่อคนส่วนใหญ่ถามเกี่ยวกับ“ เซิร์ฟเวอร์ DHCP หลายตัวในเครือข่ายเดียวกัน” สิ่งที่พวกเขามักจะถามคือ พวกเขาต้องการเซิร์ฟเวอร์ DHCP มากกว่าหนึ่งตัวที่ออกช่วงของที่อยู่เครือข่ายเดียวกันออกไปสู่ไคลเอนต์เพื่อแยกโหลดระหว่างเซิร์ฟเวอร์หลายเครื่องหรือเพื่อจัดเตรียมความซ้ำซ้อนหากเซิร์ฟเวอร์หนึ่งออฟไลน์

สิ่งนี้เป็นไปได้อย่างสมบูรณ์แม้ว่าต้องใช้ความคิดและการวางแผน

จากมุมมอง "ปริมาณการใช้เครือข่าย" กระบวนการ DORA ที่ระบุไว้ในตอนต้นของคำตอบนี้จะอธิบายว่าเซิร์ฟเวอร์ DHCP สามารถมีได้มากกว่าหนึ่งเซิร์ฟเวอร์ในส่วนเครือข่าย ลูกค้าเพียงแค่ออกอากาศคำขอ Discovery และเซิร์ฟเวอร์ DHCP แรกที่ตอบสนองต่อข้อเสนอคือ 'ผู้ชนะ'

จากมุมมองของเซิร์ฟเวอร์แต่ละเซิร์ฟเวอร์จะมีกลุ่มที่อยู่ที่สามารถให้กับลูกค้าซึ่งรู้จักขอบเขตของที่อยู่ เซิร์ฟเวอร์ DHCP ที่ให้บริการเครือข่ายย่อยเดียวกันไม่ควรมีขอบเขต“ แชร์” เดียว แต่ควรมีขอบเขต“ แยก”

กล่าวอีกนัยหนึ่งถ้าคุณมีช่วงของที่อยู่ DHCP ที่ส่งไปยังไคลเอนต์จาก 192.168.1.100 ถึง 192.168.1.200 ดังนั้นเซิร์ฟเวอร์ทั้งสองควรได้รับการกำหนดค่าให้บริการส่วนต่าง ๆ ของช่วงนั้นดังนั้นเซิร์ฟเวอร์แรกอาจใช้ชิ้นส่วนของขอบเขตนั้นจาก 192.168.1.100 ถึง 192.168.1.150 และเซิร์ฟเวอร์ที่สองจะออก 192.168.1.151 ถึง 192.168.1.200

แยกขอบเขต DHCP ซึ่งแสดงการยกเว้น

การนำ DHCP ไปใช้งานเมื่อไม่นานมานี้ของ Microsoft มีตัวช่วยในการแยกขอบเขตของคุณเช่นนี้ทำง่ายอธิบายไว้ในบทความของ Technetซึ่งอาจจะคุ้มค่าที่จะดูแม้ว่าคุณจะไม่ได้ใช้งาน DHCP ของ Microsoft ก็ตาม ที่นี่ค่อนข้างดีและคำตอบนี้นานพอ

แยกขอบเขต - แนวทางปฏิบัติที่ดีที่สุด

สิ่งหนึ่งที่คุณจะได้ยินว่าวิธีปฏิบัติที่ดีที่สุดคือกฎ 80/20 สำหรับการแยกขอบเขต DHCP ซึ่งหมายความว่าเซิร์ฟเวอร์หนึ่งจะให้บริการ 80% ของที่อยู่ในขอบเขตนั้นและเซิร์ฟเวอร์ DHCP อื่นซึ่งมีประสิทธิภาพ 'สำรอง' จะให้บริการ 20% ของที่อยู่

แนวคิดที่อยู่เบื้องหลังการแยกที่อยู่ 80/20 นั้นเป็นเพราะ 80% ของที่อยู่ที่มีอยู่ควรจะเพียงพอสำหรับที่อยู่ทั้งหมดที่จำเป็นในเครือข่ายย่อยและสัญญาเช่า DHCP มักจะออกมาหลายวัน ดังนั้นหากเซิร์ฟเวอร์ DHCP หลักของคุณหยุดทำงานสักสองสามชั่วโมงก็ไม่น่าเป็นไปได้ที่เครื่องมากกว่า 20% ในเครือข่ายย่อยนั้นจะต้องต่ออายุที่อยู่ในช่วงเวลาหยุดทำงานทำให้พูลที่อยู่ 20% เพียงพอ

นี่ยังเป็นคำแนะนำที่สมเหตุสมผล แต่ถือว่าสองสิ่ง:

  1. คุณสามารถแก้ปัญหาใด ๆ กับเซิร์ฟเวอร์ DHCP“ หลัก” ของคุณได้อย่างรวดเร็วพอที่จะหลีกเลี่ยงการใช้กลุ่มที่อยู่ขนาดเล็กบนเซิร์ฟเวอร์ DHCP สำรองของคุณ
  2. ว่าคุณไม่สนใจโหลดบาลานซ์

วันนี้ (อย่างที่คุณเห็นจากตัวอย่างของฉัน) ฉันมักจะชอบแยก 50/50 ซึ่งฉันคิดว่าเป็นคำตอบที่สมจริงมากขึ้นสำหรับประเด็นข้างต้น

อีกสิ่งที่ควรพิจารณาเมื่อสร้างขอบเขตของคุณบนเซิร์ฟเวอร์ DHCP คือการกำหนดค่าขอบเขตเต็มในแต่ละเซิร์ฟเวอร์และยกเว้นช่วงที่กำหนดโดยเซิร์ฟเวอร์ DHCP อื่น สิ่งนี้มีประโยชน์ของ“ การจัดทำเอกสารด้วยตนเอง” ข้อมูล DHCP สำหรับซับเน็ตเต็มในเซิร์ฟเวอร์ DHCP แต่ละเครื่องซึ่งจะปรับปรุงความชัดเจนให้กับผู้อื่นที่พยายามเข้าใจสิ่งที่เกิดขึ้นและในกรณีที่เซิร์ฟเวอร์ DHCP ของคุณออฟไลน์อยู่ ในบางครั้งคุณสามารถกำหนดค่าช่วงการยกเว้นชั่วคราวบนเซิร์ฟเวอร์อื่นเพื่อให้อนุญาตให้รับสายได้

การรวมความคิดเหล่านี้

สุดท้ายคุณควรรวมหลักการที่กล่าวถึงข้างต้นไว้ด้วย - คุณสามารถวางเซิร์ฟเวอร์ DHCP ทั้งหมดของคุณไว้ใน VLAN "เซิร์ฟเวอร์กลาง" หนึ่งตัวหรือมากกว่าและใช้ BOOTP รีเลย์เอเจนต์บนเราเตอร์ของคุณทั้งหมดเพื่อส่งคำขอ DHCP ทั้งหมดจากขนาดใหญ่ เครือข่ายไปยังบริการ DHCP ส่วนกลาง (ซึ่งเป็นสิ่งที่ฉันทำดูด้านล่าง) หรือคุณสามารถให้เซิร์ฟเวอร์ DHCP กระจายทั่วทั้งเครือข่ายของคุณด้วยเซิร์ฟเวอร์ DHCP "หลัก" ในเครือข่ายย่อยท้องถิ่นและเซิร์ฟเวอร์ DHCP "สำรอง" ในส่วนเครือข่าย "ใกล้เคียง" ซึ่งให้ที่อยู่จำนวนเล็กน้อยในการสำรองข้อมูล - คุณอาจมี เซิร์ฟเวอร์ DHCP สองเครื่องในส่วนเครือข่ายของตนเองได้รับการกำหนดค่าให้ระบุที่อยู่ในช่วง 80/20 ซึ่งกันและกัน ตัวเลือกที่เหมาะสมที่สุดจะขึ้นอยู่กับว่าเครือข่ายทางกายภาพและตรรกะของคุณจับคู่กันอย่างไร

เซิร์ฟเวอร์ DHCP ที่ให้บริการขอบเขตการแยกเป็นหลายเครือข่ายย่อย


3
ในกรณีที่มีการแยกขอบเขต: โปรดจำไว้ว่าควรตั้งค่าการจอง DHCP ทั้งสองส่วน การทำให้ข้อมูลตรงกันอาจทำให้เกิดความยุ่งยากได้หากคุณต้องการทำการอัปเดตเป็นประจำ
Tonny

4
คุณสามารถอธิบายรายละเอียดเกี่ยวกับเทคนิคต่าง ๆ เพื่อให้แน่ใจว่าเซิร์ฟเวอร์ DHCP สำรองไม่ได้ถูกโจมตีตราบใดที่เซิร์ฟเวอร์หลัก DHCP กำลังทำงานอยู่ จากสิ่งที่ฉันสามารถอ่านได้หากมีความเป็นไปได้ที่เท่าเทียมกันในการได้รับการตอบสนองจากเซิร์ฟเวอร์ใดเซิร์ฟเวอร์สำรองจะมีสถิติหมดเร็ว ๆ นี้เมื่อจำนวนสัญญาเช่าทั้งหมดเกินกว่าขนาดสระสองเท่า สิ่งนี้น่าจะทำให้เซิร์ฟเวอร์สำรองไม่มีค่าสำหรับลูกค้าใหม่เมื่อเซิร์ฟเวอร์ DHCP หลักไม่ทำงาน ... ใช่ไหม?
Niels B.

3
@NielsB หากคุณกำลังทำสิ่งที่แบ่ง 80/20 แล้วคุณสามารถตั้งค่าความล่าช้าในการตอบสนองของเซิร์ฟเวอร์สำรอง ( blogs.technet.com/b/teamdhcp/archive/2009/01/22/ … ) ฉันไม่รำคาญกับสิ่งนี้เพราะฉันใช้ตัวแยก 50/50 แต่มันจะใช้ได้
Rob Moir

13

ฉันใช้แนวทางนี้เมื่อหลายปีก่อนสำหรับเครือข่ายขนาดเล็กถึงขนาดกลาง (ผู้ใช้ 500 คน) ที่มีประโยชน์มากมาย DHCP หยุดเป็นจุดเดียวของความล้มเหลว ด้วยการเชื่อมโยงที่อยู่ MAC และ IP อย่างถาวรเรารับรองว่าเซิร์ฟเวอร์ DHCP ทั้งสองนั้นให้การตอบสนองที่เหมือนกันกับคำขอ DHCP แต่ละรายการ การทราบที่อยู่ IP ของสินทรัพย์ในเครือข่ายทุกรายการนั้นทำให้การจัดการเครือข่ายง่ายขึ้นและ DNS สามารถเรียกใช้ฐานข้อมูลเดียวกันได้ ระบบใช้ Internet Software Corporation BIND และ DNS และสามารถดาวน์โหลดสคริปต์ที่เกี่ยวข้องได้ที่https://web.archive.org/web/20121031051901/http://www.pearbright.com/index.php/download/25- DNS-DHCP

ทางเลือกอื่นคือใช้การล้มเหลว ISC DHCPD จริง: https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html


2
OP ขอคำตอบโดยเฉพาะสำหรับคำถามนี้ คุณอาจต้องการแก้ไขคำตอบเพื่อขยายออกไป
Brent Pabst

3
fwiw ในขณะที่คำตอบนี้สั้นและฉันจะไม่ลงรายละเอียดเพิ่มเติมในชุดคำถามและคำตอบที่ยอมรับฉันคิดว่ามันค่อนข้างดีเพราะกล่าวถึงวิธีการที่แตกต่างกันเล็กน้อยในการทำ DHCP ซ้ำซ้อน
Rob Moir

1
@DJ Pon3 ฉันยอมรับ: ฉันเรียกใช้การตั้งค่าที่คล้ายกันเป็น DHCP หลายไซต์ขนาดใหญ่ของคุณ (แม้ว่า VLANs น้อยกว่า) และฉันใช้วิธีการเดียวกันกับ Peter Talbot สำหรับ VLAN เหล่านั้น 3/4
Tonny

1
ลิงก์ใช้งานไม่ได้แล้ว :(
Sergey Vlasov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.