วิธีการป้องกันไม่ให้ชื่อโฮสต์ในพื้นที่แก้ไขจากชื่อ DHCP ใน OpenWRT / dnsmasq


0

ฉันมี OpenWRT 14.07 ทำงานบนเราเตอร์ที่บ้านของฉัน มีการเปิดใช้งานบริการ DNS และ DHCP สำหรับอุปกรณ์ LAN ภายในเครื่อง

อย่างไรก็ตามสิ่งนี้ยัง "รั่ว" ชื่อของอุปกรณ์แต่ละชิ้นที่เชื่อมต่อกับเราเตอร์แม้ว่าจะเชื่อมต่อกับเราเตอร์เดียวกันผ่าน a LAN ที่แตกต่างกัน . เครือข่ายทั้งหมดเป็นเช่นนี้:

OpenWRT router @ 192.168.0.1 and 192.168.222.1
 |-- LAN
 |    '-- DesktopComputer @ 192.168.0.99
 '-- Guest LAN
      '-- LaptopComputer @ 192.168.222.88

เรียกใช้คำสั่งใด ๆ ต่อไปนี้บน LaptopComputer:

$ dig  -x  192.168.0.99 @192.168.0.1
$ nslookup 192.168.0.99  192.168.0.1

ผลตอบแทน LaptopComputer.lan. ดังผลลัพท์.

ซึ่งหมายความว่า dnsmasq ใน OpenWRT กำลังแก้ไขที่อยู่ IP ภายในให้เป็นชื่อภายในตามชื่อจากการเจรจา DHCP ฉันจะป้องกันได้อย่างไร

ฉันต้องการความละเอียดแบบย้อนกลับที่จะล้มเหลว NXDOMAINหรืออะไรก็ตามที่เป็นการตอบสนองที่เหมาะสม)

ฉันไม่ได้ใช้การแก้ปัญหาชื่อโฮสต์ในพื้นที่ด้วยดังนั้นฉันจึงยอมรับโซลูชันที่ปิดใช้งานทั้งหมด (ในขณะที่ยังคงแก้ไขชื่ออินเทอร์เน็ต)


สิ่งที่ฉันทำในสถานการณ์ที่คล้ายกัน (ไม่มี openwrt แต่ dd-wrt) คือการเพิ่มตัวเลือกนี้ด้านบน dnsmasq: dhcp-option = br1,6,8.8.8.8 โดยที่ br1 เป็นอินเทอร์เฟซแขก vlan ตัวเลือก 6 เป็นตัวเลือกเซิร์ฟเวอร์ dns en 8.8.8.8 เป็นหนึ่งในเซิร์ฟเวอร์ dns ของ Google ดังนั้นแขกจะไม่ได้รับการสอบถาม LAN ภายใน
natxo asenjo

คุณเข้าใจดีว่าจุดประสงค์ของ DNS คือการระบุชื่อใช่มั้ย เซิร์ฟเวอร์ DNS / บริการบนเราเตอร์ไม่ได้ "รั่ว" ชื่อ มันแก้ไขชื่อได้ตามที่ตั้งใจไว้ คุณอ่านเอกสารสำหรับ dnsmasq บน OpenWRT แล้วหรือยัง คุณอาจจะพบทางออกของคุณที่นั่น
joeqwerty

@ Joeqwerty: ใช่ฉันเข้าใจวัตถุประสงค์ ใช่ฉันอ่าน wiki ของ OpenWRT และ dnsmasq manpage . ตัวเลือกที่ใกล้เคียงที่สุดที่ฉันพบคือ bogusprivแต่มันก็ยังดูอยู่ /etc/hosts และสัญญาเช่า DHCP
Denilson Sá Maia

คำตอบ:


1

ทางเลือกของคุณสำหรับ dnsmasq ดูเหมือนจะเป็น:

--dhcp ละเว้นชื่อ [= แท็ก: [แท็ก:]] - ละเว้นชื่อโฮสต์ที่ลูกค้า DHCP จัดหาให้

เมื่อทุกแท็กที่กำหนดปรากฏในแท็ก   ตั้งละเว้นชื่อโฮสต์ใด ๆ ที่จัดทำโดยโฮสต์ สังเกตว่าไม่เหมือนกัน   dhcp ไม่สนใจจะอนุญาตให้ไม่มีแท็กในกรณีนี้   ชื่อโฮสต์ที่ให้มากับไคลเอ็นต์ DHCP จะถูกเพิกเฉยเสมอและโฮสต์ DHCP นั้น   เพิ่มไปยัง DNS โดยใช้เฉพาะการกำหนดค่า dhcp-host ใน dnsmasq และ   เนื้อหาของ / etc / hosts และ / etc / ethers

ตัวเลือกนี้มีอยู่ใน dnsmasq 2.71 ซึ่งเป็นส่วนหนึ่งของ OpenWrt Barrier Breaker 14.07

หากคุณไม่ได้ระบุโฮสต์ใด ๆ / etc / hosts หรือ / etc / อีเทอร์ (หรือปิดการใช้งานโดยสมบูรณ์) ไม่มีข้อมูลชื่อโฮสต์ควร "รั่ว" อีกต่อไป อย่างไรก็ตามโปรดทราบว่าเครื่องมือเหล่านี้เป็นเช่นนั้น Netscan, nbtscan หรือสแกนเนอร์ Metasploit จำนวนมากซึ่งสามารถให้ข้อมูลนี้หากไม่ได้ไฟร์วอลล์อย่างแน่นหนา


ความคิดที่ดี! น่าเสียดายที่มันไม่ทำงาน ฉันพยายามเพิ่ม dhcp-ignore-names ไปยัง /etc/dnsmasq.confแต่พฤติกรรมยังคงเหมือนเดิม ฉันยังพยายามแก้ไข /etc/init.d/dnsmasq เพื่อเพิ่ม --dhcp-ignore-names พารามิเตอร์และตรวจสอบโดยใช้ ps มันถูกใช้ แต่ก็ยังไม่มีการเปลี่ยนแปลงในพฤติกรรม (แน่นอนเริ่มต้นใหม่ด้วย /etc/init.d/dnsmasq restart.)
Denilson Sá Maia

คุณได้ "ทำความสะอาด" DHCP-leasefile (ค่าเริ่มต้น: /tmp/dhcp.leases )? ฉันยังใช้ Barrier Breaker สำหรับเครือข่ายในบ้านของฉันและ ชื่อ DHCP ละเว้น ตัวเลือกใช้งานได้ตามที่คาดหวังสำหรับฉัน แต่ฉันต้องลบรายการ Lease เก่าหรือแทนที่ชื่อโฮสต์ด้วยเครื่องหมายดอกจันและรีสตาร์ทเท่านั้น นอกจากนี้ยังควรช่วยในการรอให้สัญญาเช่าหมดอายุ
sam_pan_mariusz

โอเคมันใช้งานได้ อย่างไรก็ตาม dnsmasq จะยังคงแก้ไขชื่อหากคุณได้กำหนดไว้ สัญญาเช่าคงที่ . มันเกิดขึ้นเพราะเบื้องหลังตัวเลือกนี้จะเขียน * ถึงสัญญาเช่า DHCP และ dnsmasq จะใช้สัญญาเช่าเมื่อแก้ไขชื่อเสมอ
Denilson Sá Maia
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.