Dnsmasq เป็นซอฟต์แวร์โอเพนซอร์สฟรีและง่ายต่อการกำหนดค่าและมีน้ำหนักเบาที่ออกแบบมาจากออฟเซตเพื่อทำหน้าที่เป็นเซิร์ฟเวอร์ DHCP (Dynamic Host Configuration Protocol) และ DNS (Domain Name System ) บนระบบปฏิบัติการ GNU / Linux และ UNIX เหมือนกัน
ซอฟต์แวร์ได้รับการออกแบบมาเพื่อให้บริการ DNS รวมถึงฟังก์ชัน DHCP ให้กับเครือข่ายขนาดเล็ก สามารถให้บริการชื่อเครื่องท้องถิ่นที่ไม่ได้อยู่ใน DNS ทั่วโลกและมีคุณลักษณะที่น่าสนใจมากมาย
ตัวเลือกบรรทัดคำสั่งที่มีประสิทธิภาพ
มีตัวเลือกบรรทัดคำสั่งมากมายสำหรับโครงการนี้ซึ่งสามารถดูได้โดยการเรียกใช้ & lsquo; dnsmasq --help & rsquo; คำสั่งในแอป Terminal ในส่วนนี้เราสามารถพูดถึงความสามารถในการระบุที่อยู่ในตัวเครื่องเพื่อฟังในการระบุขนาดแคชในรายการรวมทั้งระบุไฟล์การกำหนดค่าเอง
เริ่มต้นใช้งาน Dnsmasq
การติดตั้ง Dnsmasq ในระบบปฏิบัติการ GNU / Linux ทำเช่นเดียวกับที่คุณทำกับโปรแกรมโอเพ่นซอร์สอื่น ๆ ที่แจกจ่ายเป็นแหล่งเก็บข้อมูล ขั้นแรกให้ดาวน์โหลดแพคเกจแล้วบันทึกลงในคอมพิวเตอร์ของคุณ (โดยเฉพาะในโฮมไดเร็กตอรี่ของคุณ) และแยกเนื้อหาออกโดยใช้ยูทิลิตีผู้จัดการที่จัดเก็บ
จากนั้นย้ายไปยังตำแหน่งที่คุณดึงไฟล์เก็บถาวรในโปรแกรมจำลอง terminal (เช่น cd /home/softoware/dnsmasq-2.72 - แทนที่ & lsquo; softoware & rsquo ด้วยชื่อผู้ใช้ของคุณ) ให้เรียกใช้ & lsquo; ./ configure & amp ; & amp; ทำให้ & rsquo; เพื่อกำหนดค่าและคอมไพล์โปรแกรมตามด้วย & lsquo; sudo make install & rsquo; คำสั่งเพื่อติดตั้งระบบให้กว้าง
รันบน GNU / Linux, BSD และ Mac OS X
Dnsmasq สนับสนุนระบบปฏิบัติการหลายระบบรวมถึง Linux (Debian, Gentoo, Slackware, Smoothwall, SUSE, IP-Cop, Firebox, floppyfw, LEAF, CoyoteLinux, Clarkconnect, Freesco ฯลฯ ), BSD (FreeBSD) และ Mac OS X ทำงานบนแพลตฟอร์มคอมพิวเตอร์แบบ 32 บิตและ 64 บิต
มีอะไรใหม่ ในรุ่นนี้:
- สร้างข้อผิดพลาดเมื่อกำหนดค่าด้วยลูป CNAME แทนที่จะเป็นข้อผิดพลาด ขอขอบคุณ George Metz ในการระบุปัญหานี้
- คำนวณความยาวของแพ็กเก็ตตอบข้อผิดพลาด TFTP อย่างถูกต้อง ซึ่งช่วยแก้ไขปัญหาเมื่อข้อความแสดงข้อผิดพลาดในแพคเก็ต TFTP เกินขีด จำกัด 500 อักขระโดยพลการ ข้อความถูกตัดทอนอย่างถูกต้อง แต่ไม่ใช่ความยาวของแพ็คเก็ตดังนั้นจึงมีการเพิ่มข้อมูลเสริม นี่เป็นความเสี่ยงด้านความปลอดภัยที่เป็นไปได้เนื่องจากข้อมูลเพิ่มเติมมาจากบัฟเฟอร์ที่ใช้สำหรับ DNS ดังนั้นการสอบถามหรือการตอบกลับ DNS ก่อนหน้านี้อาจถูกปล่อยออกมา ขอบคุณ Mozilla สำหรับการตรวจสอบด้านความปลอดภัยซึ่งตรวจพบข้อบกพร่องนี้
- แก้ไขข้อผิดพลาดทางตรรกะใน Linuxlinklink code ซึ่งอาจทำให้ dnsmasq ป้อนลูปแน่นในระบบที่มีอินเทอร์เฟซเครือข่ายจำนวนมาก ขอขอบคุณ Ivan Kokshaysky สำหรับการวินิจฉัยและแพทช์
- แก้ไขปัญหาเกี่ยวกับ --dnssec-timestamp โดยการรับ SIGHUP จะทำผิดพลาดในการตรวจสอบเวลา ขอบคุณ Kevin Darbyshire-Bryant สำหรับงานนี้
- พ็อกเก็ตโซนอนุกรมเมื่อโหลด / etc / hosts และเพื่อนเมื่อมีสิทธิ์ DNS ขอบคุณ Harrald Dunkel สำหรับการตรวจสอบสิ่งนี้
- จัดการกับ IPv6 ที่จับคู่ v4 ในการระบุโดเมนแบบซิงค์ เหล่านี้มีการแสดงมาตรฐานเช่น :: ffff: 1.2.3.4 และได้รับการแปลงเป็นชื่อเช่น --ffff-1-2-3-4 แล้ว
- จัดการเซิร์ฟเวอร์ต้นน้ำที่เชื่อมโยงกับอินเทอร์เฟซ (--server=1.2.3.4@eth0) เมื่ออินเทอร์เฟซที่ชื่อถูกทำลายและสร้างขึ้นใหม่ในเคอร์เนล ขอบคุณ Beniamino Galvani สำหรับแพทช์
- อนุญาตระเบียน CNAME จาก wildcard ในเขตเผด็จการ ตัวอย่างเช่น --cname = *. example.com, default.example.com ขอบคุณ Pro Backup สำหรับสนับสนุนการพัฒนานี้
- ชนที่ได้รับอนุญาตของการเชื่อมต่อ TCP ระหว่าง 5 ถึง 32 และทำให้เป็นตัวเลือกที่สามารถกำหนดค่าได้ในคอมไพล์ ขอบคุณ Donatas Abraitis สำหรับการวินิจฉัยว่านี่เป็นปัญหาที่อาจเกิดขึ้น
- เพิ่มตัวแปรสภาพแวดล้อม DNSMASQ_REQUESTED_OPTIONS ลงในสคริปต์การเช่าซื้อ ขอบคุณ ZHAO Yu สำหรับแพทช์
- แก้ไข foobar ในโค้ด rrfilter ซึ่งอาจทำให้เกิดการตอบกลับที่ไม่ถูกต้องโดยเฉพาะอย่างยิ่งเมื่อมีการตรวจสอบ DNSSEC และเซิร์ฟเวอร์ต้นน้ำจะตอบกลับคำตอบด้วย RRs ตามลำดับที่ระบุ เฉพาะเซิร์ฟเวอร์ DNS ที่เรียกได้ว่าเป็นจุดเด่นของ Nominum ขอบคุณ Dave Taht ในการระบุข้อบกพร่องและช่วยเหลือในการแก้ไข
- แก้ไข manpage ซึ่งกล่าวว่าเฉพาะชื่อหลักเท่านั้น
- Make --localise-queries ใช้กับชื่อจาก --interface-name ขอบคุณ Kevin Darbyshire-Bryant และ Eric Luehrsen ในการผลักดันสิ่งนี้
- ปรับปรุงการจัดการการเชื่อมต่อเมื่อคุยกับเซิร์ฟเวอร์ต้นทาง TCP โดยเฉพาะเตรียมที่จะเปิดการเชื่อมต่อ TCP ใหม่เมื่อเราต้องการทำแบบสอบถามหลายรายการ แต่เซิร์ฟเวอร์ต้นน้ำยอมรับการค้นหาต่อการเชื่อมต่อน้อยลง
- ปรับปรุงการบันทึกข้อมูลของเซิร์ฟเวอร์ต้นน้ำเมื่อมีรายการที่อยู่ "เฉพาะที่อยู่" จำนวนมาก ขอบคุณ Hannu Nyman สำหรับแพทช์
- กำหนดให้ --bogus-priv ใช้กับ IPv6 สำหรับคำนำหน้าที่ระบุไว้ใน RFC6303 ขอบคุณ Kevin Darbyshire-Bryant สำหรับการทำงานนี้
- อนุญาตให้ใช้ที่อยู่ MAC กับ --tftp-unique-root ขอบคุณ Floris Bos สำหรับแพทช์
- เพิ่มตัวเลือก - dhcp-reply-delay ขอบคุณ Floris Bos สำหรับแพทช์
- เพิ่มสถานที่ตั้งของ mtu ไปที่ --ra-param ขอบคุณ David Flamand สำหรับแพทช์
- จับภาพ STDOUT และ STDERR เอาต์พุตจาก dhcp-script และบันทึกเป็นส่วนหนึ่งของสตรีมไฟล์บันทึก dnsmasq ทำให้ชีวิตง่ายขึ้นสำหรับการวิเคราะห์ปัญหาที่ไม่คาดคิดในสคริปต์ ขอบคุณ Petr Mensik สำหรับแพทช์
- สร้างข้อผิดพลาดร้ายแรงเมื่อไม่สามารถแยกวิเคราะห์ผลลัพธ์ของสคริปต์ dhcp ในโหมด "init" หลีกเลี่ยงข้อผิดพลาดที่แปลกประหลาดเมื่อสคริปต์บังเอิญส่งข้อความผิดพลาด ขอบคุณ Petr Mensik สำหรับแพทช์
- สร้าง --rev-server สำหรับงานย่อยของ RFC1918 แม้ว่าจะอยู่ในสถานะของ --bogus-priv flag ขอบคุณ Vladislav Grishenko สำหรับแพทช์
- ขยาย --ra-param mtu: ฟิลด์เพื่อให้ชื่ออินเทอร์เฟซ ซึ่งจะช่วยให้ MTU ของอินเทอร์เฟซ WAN สามารถโฆษณาบนอินเทอร์เฟซภายในของเราเตอร์ได้ ขอบคุณ Vladislav Grishenko สำหรับแพทช์
- ตรวจสอบ ICMP-ping สำหรับที่อยู่ที่ใช้สำหรับ DHCPv4 เมื่อไคลเอ็นต์ระบุที่อยู่ใน DHCPDISCOVER และเมื่อมีการกำหนดที่อยู่ในเครื่อง ขอบคุณ Alin Nastac สำหรับการจำแนกปัญหา
- เพิ่มแท็ก DHCP ใหม่ "known -netnet" ซึ่งตั้งค่าไว้เมื่อมีเฉพาะ dhcp-host สำหรับ subnet อื่น สามารถใช้เพื่อให้มั่นใจได้ว่าโฮสต์ที่ได้รับการยกเว้นจะไม่ได้รับที่อยู่ "ผู้เยี่ยมชม" โดยบังเอิญ ขอขอบคุณ Todd Sanket สำหรับคำแนะนำ
- ลบการรวม IDN อัตโนมัติในประวัติศาสตร์เมื่อสร้างการสนับสนุนระหว่างประเทศ สิ่งนี้ไม่เหมาะกับตอนนี้มีทางเลือกให้กับห้องสมุด IDN อย่าลืมใส่ DHAVE_IDN หรือ -DHAVE_LIBIDN2 เพื่อสนับสนุน IDN
มีอะไรใหม่ ในเวอร์ชัน 2.72:
- เพิ่มโหมด ra-advrouter สำหรับการสนับสนุน IPv6 บนอุปกรณ์เคลื่อนที่ RFC-3775
- เพิ่มการสนับสนุน "ipsets" ใน * BSD โดยใช้ pf ขอบคุณสำหรับ Sven Falempim สำหรับแพทช์
- แก้ไขสภาวะการแข่งขันซึ่งอาจทำให้ dnsmasq ล็อคขึ้นเมื่ออินเทอร์เฟซลดลงอย่างรวดเร็ว ขอบคุณ Conrad Kostecki ในการช่วยติดตามนี้
- เพิ่มเมธอด DBus SetFilterWin2KOption และ SetBogusPrivOption ขอบคุณโครงการ Smoothwall สำหรับแพทช์
- แก้ไขความล้มเหลวในการสร้าง Nettle-3.0 ขอขอบคุณ Steven Barth ในการจำสิ่งนี้และหาวิธีแก้ปัญหา เมื่อกำหนดสัญญาเช่า DHCP ที่มีอยู่กับ intefaces โดยการเปรียบเทียบเครือข่ายให้จัดการกรณีที่มีอินเทอร์เฟซตั้งแต่สองตัวขึ้นไปมีส่วนของเครือข่ายเหมือนกัน แต่มีความยาวของคำนำหน้าแตกต่างกันไป (ขอบคุณความยาวของคำนำหน้า) ขอบคุณ Lung-Pin Chang สำหรับแพทช์ >
- เพิ่มโหมดที่ตรวจจับและลบลูปการส่งต่อ DNS เช่นแบบสอบถามที่ส่งไปยังเซิร์ฟเวอร์ต้นน้ำจะส่งกลับเป็นแบบสอบถามใหม่ไปยัง dnsmasq และจะถูกส่งต่อไปอีกครั้งส่งผลให้มีข้อความค้นหาซึ่งวนรอบหลายครั้งก่อนที่จะถูกส่ง เซิร์ฟเวอร์ต้นทางที่วนกลับถูกปิดใช้งานและเหตุการณ์นี้ถูกบันทึกไว้ ขอขอบคุณ Smoothwall ในการให้การสนับสนุนคุณลักษณะนี้
- ขยาย --conf-dir เพื่อให้สามารถกรองไฟล์ได้ ดังนั้น --conf-dir = / etc / dnsmasq.d, *. conf จะโหลดไฟล์ทั้งหมดใน /etc/dnsmasq.d ซึ่งลงท้ายด้วย. conf
- แก้ไขข้อบกพร่องเมื่อคำตอบของ NXDOMAIN แทน NODATA ในบางสถานการณ์
- แก้ไขข้อผิดพลาดที่ทำให้ dnsmasq ไม่ตอบสนองหากไม่สามารถส่งแพ็คเก็ตเนื่องจากอินเตอร์เฟซเครือข่ายหายไป ขอบคุณ Niels Peen ในการจำสิ่งนี้
- แก้ไขปัญหาด้วย - ตัวเลือกบริการในท้องถิ่นบนแพลตฟอร์ม big-endian ขอบคุณ Richard Genoud สำหรับแพทช์
มีอะไรใหม่ ในเวอร์ชัน 2.68:
- ใช้ที่อยู่แบบสุ่มสำหรับการจัดสรรที่อยู่ชั่วคราวของ DHCPv6 แทนที่จะใช้ที่อยู่ที่มีเสถียรภาพตามขั้นตอนอัลกอริทึม
- แก้ไขข้อผิดพลาดซึ่งหมายความว่า DHCPv6 DUID ไม่สามารถใช้งานได้ในสคริปต์ DHCP ทำงานในช่วงอายุการใช้งานของกระบวนการ dnsmasq ซึ่งสร้าง DUID de-novo เมื่อ DUID ถูกสร้างขึ้นและเก็บไว้ในไฟล์สัญญาเช่าแล้ว dnsmasq ก็เริ่มใหม่ข้อผิดพลาดนี้จะหายไป
- แก้ไขข้อบกพร่องที่นำมาใช้ใน 2.67 ซึ่งอาจส่งผลให้ NXDOMAIN เกิดข้อผิดพลาดในการค้นหา CNAME
- แก้ไขความล้มเหลวของระบบใน MacOS X และ openBSD
- อนุญาตให้ใช้ข้อกำหนด subnet ใน --auth-zone เป็นชื่ออินเตอร์เฟสรวมทั้งตัวอักษรที่อยู่ ซึ่งทำให้สามารถกำหนดค่า DNS ที่ได้รับอนุญาตเมื่อช่วงที่อยู่ภายในเป็นแบบไดนามิกและทำงานได้ดีกว่าการทำงานก่อนหน้าซึ่งได้ยกเว้นช่วง DHCP แบบเดิมจากการกรองที่อยู่ IP เป็นผลให้การทำงานรอบที่จะถูกลบออก ภายใต้สถานการณ์บางอย่างการเปลี่ยนแปลงนี้จะทำลายการกำหนดค่าที่มีอยู่: ถ้าคุณใช้ข้อยกเว้นแบบ contructed-range คุณจำเป็นต้องเปลี่ยน --auth-zone เพื่อระบุอินเทอร์เฟซเดียวกันกับที่ใช้ในการสร้างช่วง DHCP ของคุณซึ่งอาจมีผลต่อท้าย "/ 6" ดังนี้: --auth-zone = example.com, eth0 / 6 เพื่อ จำกัด ที่อยู่ให้เป็นที่อยู่ IPv6 ของ eth0
- แก้ไขปัญหาเมื่อโฆษณานำคำนำหน้า IPv6 ออก ถ้าคำนำหน้าถูกลบ (แทนที่จะถูกแทนที่) จะไม่ได้รับการโฆษณาด้วยเวลาที่ต้องการเป็นศูนย์ ขอบคุณ Tsachi สำหรับรายงานข้อบกพร่อง
- แก้ไข segfault ด้วย CNAME ที่กำหนดค่าไว้ภายในเครื่อง ขอขอบคุณ Andrew Childs ในการระบุปัญหานี้
- แก้ไขการรั่วไหลของหน่วยความจำในการอ่าน / etc / hosts และเพื่อนใหม่ ๆ ที่นำมาใช้ใน 2.67
- ตรวจสอบอินเทอร์เฟซการมาถึงของ DNS ที่เข้ามาและคำขอ TFTP ผ่าน IPv6 แม้ใน --bind-interfaces mode นี่เป็นไปไม่ได้สำหรับ IPv4 และสามารถสร้างคำเตือนที่น่ากลัว แต่ก็เป็นไปได้เสมอสำหรับ IPv6 (API นี้มีอยู่เสมอ) เราควรจะทำเสมอ
- ปรับแต่งกฎเกี่ยวกับคำนำหน้าในช่วง --dhcp สำหรับ IPv6 กฎใหม่คือความยาวของคำนำหน้าที่ระบุต้องใหญ่กว่าหรือเท่ากับความยาวคำนำหน้าของที่อยู่ที่ตรงกันในอินเทอร์เฟซภายใน
มีอะไรใหม่ ในเวอร์ชัน 2.63:
- การเพิ่มหลักในรีลีสนี้คือโหมดใหม่ --bind-dynamic ซึ่งทั้งคู่หลีกเลี่ยงการเชื่อมโยงที่อยู่ IP ของตัวแทนเข้ากับเครือข่ายที่สร้างขึ้นแบบไดนามิกเพื่อลดข้อ จำกัด หลักของโหมดเครือข่ายทั้งสองแบบที่มีอยู่ < li>
มีอะไรใหม่ ในเวอร์ชัน 2.61:
- รุ่นนี้มีการทำงานเป็นพิเศษในรหัส DHCPv6 ที่ออกมาใน 2.60
- ข้อผิดพลาดจำนวนมากได้รับการแก้ไขแล้วและมีการเพิ่มคุณสมบัติพิเศษ
- คุณลักษณะการโฆษณาเราเตอร์มีการกำหนดค่าได้มากขึ้นและมีโหมดที่ช่วยให้ dnsmasq สามารถสร้างระเบียน AAAA DNS สำหรับโฮสต์ที่ใช้ที่อยู่ IP ของ SLAAC IPv6 และที่อยู่ DHCP IPv4
มีอะไรใหม่ ในเวอร์ชัน 2.59:
- เวอร์ชันนี้ระบุปัญหาที่เกิดขึ้นกับ dnsmasq-2.58 ซึ่งอาจทำให้เกิดปัญหาขณะเริ่มต้นด้วยที่อยู่ IP แอดเดรสของ IPv6
- หนึ่งในการถดถอยใน dnsmasq และอีกส่วนหนึ่งเกิดจากการเปลี่ยนแปลงพฤติกรรมของส่วนเชื่อมต่อของสะพานในเคอร์เนล Linux ล่าสุด
มีอะไรใหม่ ในเวอร์ชัน 2.58:
- รุ่น 2.58
- ระบุข้อกำหนดของมาโคร SA_SIZE ที่ขาดหายไป แก้ไขข้อผิดพลาดในการสร้าง openBSD
- อย่ารวม terminator เป็นศูนย์ในตอนท้ายของข้อความที่ส่งไปที่ / dev / log เมื่อ / dev / log เป็นซ็อกเก็ตดาต้า ขอบคุณ Didier Rabound ในการจำแนกปัญหา
- เพิ่ม --dhcp-sequential-ip flag เพื่อบังคับการจัดสรรที่อยู่ IP ตามลำดับจากน้อยไปมาก โปรดทราบว่าโหมด pseudo-random เริ่มต้นโดยทั่วไปดีกว่า แต่บางแอพพลิเคชันที่ใช้งานเซิร์ฟเวอร์จำเป็นต้องใช้นี้
- แก้ไขปัญหาที่เซิร์ฟเวอร์ id ของ 0.0.0.0 ถูกส่งไปยังไคลเอ็นต์เมื่อมีการใช้งาน relay dhcp ในกรณีที่ไคลเอนต์ต่ออายุสัญญาเช่าหลังจากที่มีการเริ่มต้น dnsmasq และก่อนที่ไคลเอ็นต์ใด ๆ ใน subnet จะได้รับสัญญาเช่าใหม่ ขอขอบคุณ Mike Ruiz สำหรับความช่วยเหลือในการไล่คนนี้ลงไป
- อย่ากลับ NXDOMAIN เป็นแบบสอบถาม AAAA ถ้าเรามี CNAME ซึ่งชี้ไปที่ระเบียน A เท่านั้น: NODATA คือคำตอบที่ถูกต้องในกรณีนี้ ขอขอบคุณ Tom Fernandes ในการจำแนกปัญหา
- ผ่อนคลายจำเป็นต้องจัดหา netmask ใน --dhcp-range สำหรับเครือข่ายที่ใช้ DHCP relay ขณะนี้ยังคงเป็นที่น่าพอใจในกรณีที่ไม่มี netmask dnsmasq จะใช้ค่าดีฟอลต์ตามคลาส (A, B หรือ C) ของที่อยู่ อย่างน้อยควรลบสาเหตุของความล้มเหลวลึกลับสำหรับคนที่ใช้ที่อยู่ RFC1918 และรีเลย์
- เพิ่มการสนับสนุนการทำเครื่องหมายการเชื่อมต่อ conntrack Linux หากเปิดใช้งานด้วย --conntrack เครื่องหมายการเชื่อมต่อสำหรับการสอบถาม DNS ที่เข้ามาจะถูกคัดลอกไปยังการเชื่อมต่อขาออกที่ใช้เพื่อตอบคำถามเหล่านั้น นี้จะช่วยให้ไฟร์วอลล์ฉลาดและสิ่งที่บัญชี ใช้ได้เฉพาะเมื่อ dnsmasq ถูกคอมไพล์ด้วย HAVE_CONNTRACK และเพิ่มการพึ่งพาใน libnetfilter-conntrack ขอขอบคุณ Ed Wildgoose สำหรับความคิดเริ่มแรกการทดสอบและการสนับสนุนงานนี้
- ระบุข้อความแสดงข้อผิดพลาดที่มีสติเมื่อมีผู้พยายามจับคู่แท็กใน --dhcp-host
- ปรับแต่งลักษณะการทำงานของโดเมนที่จำเป็นเพื่อหลีกเลี่ยงปัญหาเกี่ยวกับเซิร์ฟเวอร์นามแฝงที่อยู่ด้านหลังของ dnsmasq พฤติกรรมใหม่จะหยุดการสอบถาม A และ AAAA เท่านั้นและส่งคืน NODATA แทนที่จะตอบกลับ NXDOMAIN
- การแก้ไขประสิทธิภาพสำหรับการกำหนดค่า DHCP ที่มีขนาดใหญ่มากเนื่องจาก James Gartrell และ Mike Ruiz สำหรับความช่วยเหลือนี้
- อนุญาตให้ที่อยู่เซิร์ฟเวอร์ TFTP ใน --dhcp-boot เป็นชื่อโดเมนที่จะค้นหาใน / etc / hosts นี้สามารถให้ที่อยู่ IP หลายที่ใช้ round - robin จึงทำ TFTP server load balancing ขอบคุณ Sushil Agrawal สำหรับแพทช์
- เมื่อสอง dhcp ที่ติดแท็กไว้สำหรับหมายเลขอ็อพชันเฉพาะมีทั้งที่ถูกต้องให้ใช้ตัวเลือกที่ถูกต้องโดยไม่มีแท็กจาก dhcp-range อนุญาตให้เอาชนะค่าของตัวเลือก DHCP สำหรับโฮสต์เฉพาะรวมทั้งค่าต่อเครือข่าย
- - DHCP ช่วง = ชุด: interface1 ......
- - DHCP เจ้าภาพ = ชุด: MyHost .....
- - DHCP-option = แท็ก: interface1 ตัวเลือก: NIS โดเมน "โดเมน 1"
- - DHCP-option = แท็ก: MyHost ตัวเลือก: NIS โดเมน "domain2"
- จะกำหนดโดเมน NIS ให้เป็นโดเมน 1 สำหรับโฮสต์ในช่วง แต่
- แทนที่ข้อเสนอนี้กับโดเมน 2 สำหรับโฮสต์เฉพาะ
- แก้ไขข้อบกพร่องที่ทำให้ไฟล์ตัดทอนและหมดเวลาสำหรับการถ่ายโอนข้อมูล TFTP บางอย่าง ข้อผิดพลาดเกิดขึ้นกับการโอนย้าย netascii เท่านั้นและต้องมีความสัมพันธ์ที่ไม่เหมาะสมระหว่างขนาดไฟล์ blocksize และจำนวนบรรทัดใหม่ในช่วงก่อนที่จะปรากฏตัว ขอบคุณ Alkis Georgopoulos ในการจำแนกปัญหาและให้การทดสอบที่ครอบคลุม
- แก้ไขการถดถอยในเซิร์ฟเวอร์ TFTP บน * แพลตฟอร์ม BSD ที่นำมาใช้ในเวอร์ชัน 2.56 เนื่องจากความสับสนกับความยาวของ sockaddr ขอบคุณ LoA & macr; c Pefferkorn ในการค้นหาข้อมูลนี้
- สนับสนุนขอบเขต -id ในที่อยู่ IPv6 ของเซิร์ฟเวอร์ชื่อจาก /etc/resolv.conf และใน - ตัวเลือกของเซิร์ฟเวอร์ E
- เช่น nameserver fe80 :: 202: a412: 4512: 7bbf% eth0
- เซิร์ฟเวอร์ = fe80 :: 202: a412: 4512: 7bbf% eth0 ขอบคุณ
- Michael Stapelberg สำหรับคำแนะนำ
- อัปเดตการแปลภาษาโปแลนด์ขอบคุณ Jan Psota li>
- อัปเดตการแปลภาษาฝรั่งเศส ขอบคุณ Gildas Le Nadan
มีอะไรใหม่ ในเวอร์ชัน 2.57:
- รุ่นนี้แก้ไขการถดถอยสองครั้งในรุ่นก่อนหน้าและเพิ่มการสนับสนุนแพลตฟอร์ม Android
มีอะไรใหม่ ในเวอร์ชัน 2.56:
- เพิ่มแพทช์เพื่อให้ dnsmasq สามารถรับชื่ออินเทอร์เฟซได้ในโซน Solaris ขอขอบคุณ Dj Padzensky สำหรับข้อมูลนี้
- ปรับปรุงการวิเคราะห์ข้อมูลแบบแยกประเภทข้อมูลเพื่อให้ --dhcp-option = option: domain-search. ถือว่าค่าเป็นสตริงและไม่ใช่ที่อยู่ IP ขอขอบคุณ Clemens Fischer ในการระบุว่า
- เพิ่มการสนับสนุน IPv6 ไปยังเซิร์ฟเวอร์ TFTP ขอบคุณมากสำหรับ Jan 'RedBully' Seiffert สำหรับแพทช์
- บันทึกการสอบถาม DNS ที่ระดับ LOG_INFO แทน LOG_DEBUG สิ่งนี้ทำให้สิ่งต่างๆสอดคล้องกับการบันทึกข้อมูล DHCP ขอขอบคุณ Adam Pribyl ในการระบุปัญหานี้
- ตรวจสอบให้แน่ใจว่า dnsmasq ยุติการทำงานอย่างสมบูรณ์โดยใช้ - syslog-async แม้ว่าจะไม่สามารถเชื่อมต่อกับ syslogd ได้
- เพิ่ม - เพิ่มตัวเลือก mac นี่คือการสนับสนุนสิ่งอำนวยความสะดวกการกรอง DNS แบบทดลองปัจจุบัน ขอบคุณ Benjamin Petrin สำหรับแพทช์ orignal
- แก้ไขข้อผิดพลาดซึ่งหมายความว่าแท็กจะถูกละเว้นในการกำหนดค่าช่วง dhcp ระบุบริการ PXE-proxy ขอขอบคุณ Cristiano Cumer สำหรับสิ่งนี้
- เพิ่มข้อผิดพลาดหากมีขยะจำนวนมากไม่ใช่ส่วนหนึ่งของตัวเลือกในบรรทัดคำสั่ง
- ตั้งค่าสถานะข้อความบันทึกในแคช.cว่ามาจากระบบย่อย DHCP ขอบคุณ Olaf Westrik สำหรับแพทช์
- ไม่ใช้ timestamps จากบันทึกเมื่อ a) บันทึกไปยัง stderr และ b) --keep-in-forground ถูกตั้งค่าไว้ สิ่งอำนวยความสะดวกเข้าสู่ระบบในส่วนอื่น ๆ ของ stderr สามารถ assumned เพื่อจัดหาพวกเขา ขอบคุณ John Hallam สำหรับแพทช์
- อย่าบ่นเกี่ยวกับสตริงที่ยาวกว่า 255 อักขระใน --txt-record เพียงแบ่งสายยาวออกเป็นชิ้น 255 ชัตเตอร์แทน
- แก้ไขข้อขัดข้องเกี่ยวกับการใช้งานแบบ double-free ข้อผิดพลาดนี้สามารถเกิดขึ้นได้เฉพาะเมื่อใช้สคริปต์ dhcp ในสถานการณ์ที่ไม่ค่อยพบเนื่องจากมีอัตราการทำธุรกรรมสูงของ DHCP และสคริปต์ช้า ขอบคุณ Ferenc Wagner ในการค้นหาปัญหา
- ล็อกไฟล์เฉพาะที่ TFTP ส่งไฟล์หลังจากการโอนเสร็จสิ้นเรียบร้อยแล้ว
- คำแนะนำที่ดีจาก Ferenc Wagner: ขยายตัวเลือกโดเมนเพื่อให้สามารถจัดเรียงสิ่งเหล่านี้ได้: --domain = thekelleys.org.uk, 192.168.0.0/24, local ซึ่งจะสร้างขึ้นโดยอัตโนมัติ
- - ท้องถิ่น = / thekelleys.org.uk /
- - ท้องถิ่น = / 0.168.192.in-addr.arpa /
- กระชับการตรวจสอบไวยากรณ์ของ contants hex ในไฟล์ config ขอขอบคุณ Fred Damen ในการจัดทำเรื่องนี้
- เพิ่มโลโก้ / ไอคอน dnsmasq ที่มีส่วนร่วมโดยจัสตินสวิฟท์ ขอบคุณมากสำหรับสิ่งนั้น
- ไม่ต้องแคชการตอบกลับ DNS ที่มีชุดบิต 'cd' หรือซึ่งเป็นผลมาจากการสอบถามที่ส่งต่อด้วยชุดบิต 'cd' บิต 'cd' แนะนำให้เซิร์ฟเวอร์ DNSSSSS ตรวจสอบความถูกต้องก่อนที่จะละเว้นความล้มเหลวของลายเซ็นและส่งคืนการตอบกลับไป หากไม่มีการเปลี่ยนแปลงนี้เป็นไปได้ที่จะทำให้แคช dnsmasq มีข้อมูลไม่ถูกต้องโดยการค้นหาด้วยชุด 'cd' และข้อความค้นหาที่ตามมาจะแสดงข้อมูลนี้โดยไม่ถูกระบุว่าเป็นผู้ต้องสงสัย ขอขอบคุณ Anders Kaseorg ในการชี้ปัญหานี้
- เพิ่ม --proxy-dnssec flag เพื่อให้สอดคล้องกับ RFC 4035 Dnsmasq จะล้างบิต 'โฆษณา' ในคำตอบที่ส่งกลับจากการตรวจสอบความถูกต้องของเซิร์ฟเวอร์ที่ตั้งค่าเริ่มต้นยกเว้นกรณีนี้ได้ตั้งค่าไว้แล้ว
- อนุญาตให้ชื่อไฟล์เป็น "-" สำหรับ --conf-file เพื่ออ่าน stdin คำแนะนำจาก Timothy Redaelli
- หมุนลำดับของระเบียน SRV ในการตอบกลับเพื่อให้สมดุลย์ภาระแบบ round-robin เมื่อลำดับความสำคัญทั้งหมดเท่าเทียมกัน ขอขอบคุณ Peter McKinney สำหรับคำแนะนำ
- แก้ไข contrib / MacOSX-launchd / uk.org.thekelleys.dnsmasq.plist เพื่อไม่ให้ล็อกข้อความค้นหาทั้งหมดไปยังไฟล์โดยค่าเริ่มต้น ขอขอบคุณ Peter McKinney อีกครั้ง
- โดยค่าเริ่มต้นการตั้งค่าที่อยู่ IPv4 สำหรับโดเมน แต่ไม่ใช่ที่อยู่ IPv6 ทำให้ dnsmasq ส่งคืนการตอบกลับ NODATA สำหรับ IPv6 (หรือในทางกลับกัน) ดังนั้น --address = / google.com / 1.2.3.4 หยุดการสอบถาม IPv6 สำหรับ * google.com จากการส่งต่อ ทำให้สามารถแทนที่ลักษณะการทำงานนี้ได้โดยการกำหนด sematics ถ้าโดเมนเดียวกันปรากฏในทั้ง --server และ - address ในกรณีนี้ --address มีลำดับความสำคัญสำหรับครอบครัวที่อยู่ซึ่งปรากฏ แต่เซิร์ฟเวอร์มีลำดับความสำคัญของครอบครัวที่อยู่ซึ่งไม่ปรากฏใน - adddress
- ดังนั้น:
- - ที่อยู่ = / google.com / 1.2.3.4
- - เซิร์ฟเวอร์ = / google.com / #
- จะส่งกลับ 1.2.3.4 สำหรับการค้นหา IPv4 สำหรับ * .google.com แต่จะส่งต่อคำร้องขอ IPv6 ไปยัง nameserver ต้นน้ำปกติ ในทำนองเดียวกันเมื่อตั้งค่าที่อยู่ IPv6 เท่านั้นนี้จะช่วยให้การส่งต่อของแบบสอบถาม IPv4 ขอบคุณวิลเลียมสำหรับชี้ความจำเป็นในเรื่องนี้
- อนุญาตให้มีมากกว่าหนึ่งไฟล์ --dhcp-optsfile และ --dhcp-hostsfile และทำให้พวกเขาเข้าใจไดเร็กทอรีเป็นอาร์กิวเมนต์ในลักษณะเดียวกับ --addn-hosts คำแนะนำจาก John Hanks
- เพิกเฉยต่อคำขอเลิกสัญญาเช่าที่เราไม่ทราบ Rebind ได้รับการออกอากาศดังนั้นเราจึงอาจได้รับฟังคำร้องขอสำหรับเซิร์ฟเวอร์ DHCP อื่น การทำเช่นนี้ไม่ถูกต้อง ขอบคุณ Brad D'Hondt สำหรับความช่วยเหลือด้านนี้
- แก้ไขข้อผิดพลาดเกี่ยวกับเครื่องสำอางที่ทำให้เกิดผลแปลก ๆ เมื่อทิ้งสถิติแคชด้วยการกำหนดค่าบางอย่าง ขอบคุณ Fedor Kozhevnikov สำหรับการตรวจสอบสิ่งนี้
มีอะไรใหม่ ในเวอร์ชัน 2.55:
- แก้ไขข้อขัดข้องเมื่อ / etc / ethers ถูกใช้งาน ขอบคุณ Gianluigi Tiesi สำหรับการค้นหานี้
- แก้ไขข้อขัดข้องใน netlink_multicast () ขอบคุณอาร์โนวาลด์ที่หาคนนี้
- อนุญาตโดเมนว่าง "." ในตัวเลือกการค้นหาโดเมน dhcp (119)
ความคิดเห็นที่ไม่พบ