ฉันใช้ Debian Jessie และฉันพยายามกำหนดค่า dnsmasq เป็นเซิร์ฟเวอร์แคช DNS ฉันใช้คำแนะนำเพื่อหาสิ่งต่อไปนี้/etc/dnsmasq.conf
:
listen-address=127.0.0.1
bind-interfaces
domain-needed
bogus-priv
no-hosts
dns-forward-max=150
cache-size=1000
neg-ttl=3600
resolv-file=/etc/resolv.dnsmasq
no-poll
การทำsudo service dnsmasq restart
ล้มเหลวและจะไม่เริ่มบอกฉัน
Mar 26 17:13:01 user dnsmasq[26743]: dnsmasq: syntax check OK.
Mar 26 17:13:01 user dnsmasq[26746]: dnsmasq: only one resolv.conf file allowed in no-poll mode.
ตกลงแปลกที่การกำหนดค่าโดยตรงจากคู่มือล้มเหลว ฉันจะลบno-poll
ตัวเลือกเพื่อดูว่าใช้งานได้หรือไม่ คราวนี้มันเริ่มดี แต่การแก้ไข DNS ล้มเหลวอย่างชัดเจน ไฟล์ที่เกี่ยวข้อง:
/etc/resolv.conf
:
nameserver 127.0.0.1
/etc/resolv.dnsmasq
:
nameserver 8.8.8.8
/var/run/dnsmasq/resolv.conf
:
nameserver 127.0.0.1
ไฟล์ที่สามดูเหมือนจะเป็นไฟล์สด resolv.conf ของ dnsmasq เนื่องจากการเพิ่มบรรทัดเนมเซิร์ฟเวอร์ในขณะที่ dnsmasq กำลังทำงานอยู่ทำให้การแก้ไข DNS เริ่มทำงานได้ทันที /etc/resolv.dnsmasq
ดังนั้นดูเหมือนว่ามันไม่สนใจฉัน ฉันได้ลองเพิ่มบรรทัด nameserver ไปที่ของฉัน/etc/resolv.conf
และลบresolv-file
บรรทัดเข้าไป/etc/dnsmasq.conf
แต่มันจะถูกเขียนทับในสิ่งที่คุณเห็นด้านบนsudo service dnsmasq restart
ทันที
เกิดอะไรขึ้นกับ dnsmasq และฉันจะกำหนดค่า dnsmasq เป็นเซิร์ฟเวอร์แคช DNS ได้หรือไม่
no-poll
resolv-file
เมื่อเริ่มต้นระบบจะใช้ไฟล์ใดก็ตามที่ใหม่กว่าซึ่งจะอยู่/etc/resolv.conf
ในกรณีของคุณ (เพราะไฟล์จะถูกเขียนใหม่เมื่อมีการเปลี่ยนแปลง)
server=8.8.8.8
ใน dnsmasq config ล่ะ?