ใช้เซิร์ฟเวอร์ DHCP สองเครื่องในเครือข่ายเดียวกัน


9

ฉันได้เชื่อมต่อ raspberry pi ของฉันกับจุดเข้าใช้งานแบบไร้สายและต้องการเรียกใช้เซิร์ฟเวอร์ DHCP บน RPi เพื่อกำหนด IP และเกตเวย์อย่างถูกต้อง นี่เป็นเพราะ RPi ทำหน้าที่เป็นเกตเวย์ของ VPN น่าเสียดายที่จุดเชื่อมต่อยังใช้เซิร์ฟเวอร์ DHCP ซึ่งฉันไม่สามารถปิดการใช้งานได้ด้วยเหตุผลบางประการ วิธีที่ดีที่สุดในการรับการตั้งค่าที่ถูกต้องโดยอัตโนมัติจาก RPi แพร่กระจายไปยังผู้ใช้ wifi ทั้งหมดคืออะไร?

คำตอบ:


13

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

ดังนั้นจึงเป็นความคิดที่ดีที่จะบล็อกหนึ่งในสอง สิ่งที่ง่ายที่สุดคือ:

  1. ขั้นแรกตรวจสอบให้แน่ใจว่าช่วงที่พวกเขาวาดที่อยู่ไม่ทับซ้อนกัน : คุณอาจมี 192.168.1.11-74 สำหรับช่วงหนึ่ง 192.168.1.139-202 อย่างน้อยก็ป้องกันความขัดแย้ง

  2. ตอนนี้เราป้องกัน AP ไม่ให้บริการที่อยู่ IP ไปยังไคลเอนต์แบบใช้สาย สมมติว่า AP เสียบเข้ากับ raspberry บนeth1จากนั้นคำสั่งต่อไปนี้จะทำ:

    sudo iptables  -A INPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP
    sudo iptables  -A OUTPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP  
    

เราทำเสร็จแล้ว สองความคิดเห็น:

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

ประการที่สองคุณต้องเสียบ AP ลงในราสเบอร์รี่โดยตรง (ฉันรู้ว่าราสเบอร์รี่มีพอร์ตอีเธอร์เน็ตเพียงพอร์ตเดียวซึ่งใช้อยู่แล้ว: คุณสามารถซื้ออะแดปเตอร์ USB ต่อ Ethernet ได้และราสเบอร์รี่ของคุณจะมีการ์ดอีเทอร์เน็ตตัวที่สอง) เหตุผลก็คือถ้าคุณเสียบ AP ลงในสวิตช์การร้องขอและการตอบกลับ DHCP จะมาถึง / มาจาก AP โดยไม่ต้องผ่านราสเบอร์รี่ดังนั้นคำสั่งiptablesจะไร้ประโยชน์

แก้ไข:

ฉันลืมที่จะบอกว่ากฎ iptables ข้างต้นยังป้องกันการร้องขอ dhcp ไม่ให้ไหลจาก AP ไปยังราสเบอร์รี่เพื่อให้สถานการณ์ที่คุณมีอยู่ในขณะนี้คือที่อยู่ DHCP ในช่วง 192.168.1.0xx ให้กับราสเบอร์รี่ไปยังไคลเอนต์แบบใช้สาย ที่อยู่ในช่วง 192.168.1.1xx นั้นกำหนดโดย AP ไปยังไคลเอนต์ไร้สาย อย่างน้อยก็เป็นระเบียบ


ขอบคุณ! แต่นั่นหมายความว่าฉันไม่สามารถทำอะไรเกี่ยวกับลูกค้าที่เชื่อมต่อผ่าน wifi ไปยัง AP ใช่ไหม?
โบนันซ่า

2
@bonanza กลัวมาก: การรับส่งข้อมูลทั้งหมดจากไคลเอนต์ไร้สายไปยัง Ap ไม่เคยผ่านราสเบอร์รี่เลยคำขอหรือคำตอบ ดังนั้นจึงไม่มีวิธีที่จะปิดกั้นได้: ทุกอย่างเกิดขึ้นภายใน AP
MariusMatutiae
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.