dnsmasq "गर्भपात" के साथ होता है


5

मैंने ड्रंस का उपयोग करके ड्रंमसैक स्थापित किया, और इसे सफलता के बिना सेवा के रूप में चलाने की कोशिश की। मैंने इसे कैसे स्थापित किया:

brew install dnsmasq
sudo brew services start dnsmasq

system.log बस 2 से अधिक लाइनों से पता चलता है:

dnsmasq[52260]: setting --bind-interfaces option because of OS limitations
com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

मैंने इसे मैन्युअल रूप से चलाने की कोशिश की, और मुझे इसके समान परिणाम मिले:

itsadok@mpb ~$ /usr/local/sbin/dnsmasq -d --interface=lo0 --port=50003                                                                                                                              [2.2.4]
dnsmasq: started, version 2.76 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack no-ipset auth no-DNSSEC loop-detect no-inotify
dnsmasq: setting --bind-interfaces option because of OS limitations
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 192.168.1.1#53
[1]    53009 abort      /usr/local/sbin/dnsmasq -d --interface=lo0 --port=50003

निकास स्थिति 134 है, जो मेरे द्वारा देखे जा रहे गर्भपात संदेश के अनुरूप है। सुडो को जोड़ने से मदद नहीं मिलती है।

यदि मैं पोर्ट नंबर को 0 पर सेट करता हूं, तो प्रभावी रूप से DNS को अक्षम कर सकता है, तो प्रक्रिया अनिश्चित काल तक चलती है, लेकिन जाहिर है कि कुछ भी करने से बहुत कुछ होता है।

किसी भी विचार क्या चल रहा है, या मैं इसे आगे कैसे डिबग कर सकता हूं?

मैं मैक ओएस सिएरा, 10.12.4 पर हूं


प्रयास किया। इससे कोई फायदा नहीं हुआ। और मैं इसे एक config फ़ाइल के बिना चला रहा हूं और अभी भी प्राप्त कर रहा abort
हूं

जवाबों:


2

मेरे पास वही लक्षण थे जो प्रश्न में वर्णित थे और साथ ही /var/run/dnsmasq.pidप्रत्येक 10 सेकंड में एक नई और बासी पीआईडी ​​फ़ाइल । मैं dnsmasq के साथ काम कर रहा हूँ 2.77 Homebrew के माध्यम से स्थापित, और macOS 10.12.5। मेरे पास 29,000+ मेजबानों को परिभाषित किया /etc/hostsगया था, जो कुछ बिंदु तक ठीक था - मैकओएस या डैनमास्क को अपग्रेड करते हुए, शायद।

मैंने एक बैकअप बनाया /etc/hostsऔर फिर निम्नानुसार मेजबानों की फाइल से सभी लाइनों को हटा दिया।

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

255.255.255.255 broadcasthost

न्यूनतम होस्ट फ़ाइल के साथ इसे आज़माने के बाद, मैंने dnsmasq को काम करते पाया।

ps aux | grep dnsmasq
sudo lsof -n -i4TCP:53 | grep 'LISTEN'

लेकिन मैंने मेजबानों को अवरुद्ध करने की परिभाषा नहीं खोई। वे dnsmasq कॉन्फ़िगरेशन फ़ाइल में माइग्रेट किए गए थे। /etc/hostsनिम्न नमूने की तरह एक मेजबान परिभाषा ।

0.0.0.0 analytics.google.com

dnsmasq.confनिम्नलिखित नमूने की तरह लग रहा है में इसी परिभाषा ।

address=/analytics.google.com/0.0.0.0

प्रोत्साहित किया, फिर मैंने अपने घर लैन, मेरे काम लैन, कुछ दूरस्थ होस्ट उपनामों और स्थानीय वर्चुअल होस्ट के लिए अपनी सभी परिभाषाओं को होस्ट्स में वापस जोड़ दिया।


2

क्रिस्टोफर के जवाब ने मुझे सही रास्ते पर ला खड़ा किया: समस्या वास्तव में / etc / host थी।

कुछ परीक्षण और त्रुटि के बाद मैंने निर्धारित किया कि dnsmasq दुर्घटनाग्रस्त हो जाएगा अगर / etc / मेजबान में 49 से अधिक वर्णों के साथ एक डोमेन नाम है।

चूँकि मैं वास्तव में पहली जगह में / etc / host का उपयोग नहीं करना चाहता था, इसलिए मैं केवल -hकमांड लाइन में जोड़कर , या जो लाइन कहता है no-hosts, उसमें समस्या को ठीक करने में सक्षम था/usr/local/etc/dnsmasq.conf


1

लॉन्च डेमॉन को फिर से शुरू किया गया है क्योंकि आप एक dnsmasq.conf फ़ाइल बनाने के लिए प्रारंभिक चरण भूल गए हैं। प्लास्ट में गोपनीय फाइल को संदर्भित किया जाता है!

उपाय:

sudo brew services stop dnsmasq
cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf

कॉन्फिग फ़ाइल (उदाहरण के लिए पोर्ट / इंटरफेस / डोमेन नाम आदि सुनना) को संशोधित करें। फिर मैं मैन्युअल रूप से लॉन्च डेमन प्लिस्ट को कॉपी और लॉन्च करने की सलाह देता हूं - इस कदम को केवल एक बार निष्पादित किया जाना है:

sudo cp /usr/local/opt/dnsmasq/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons/
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist 

मेरे पास कोई स्पष्टीकरण नहीं है कि इस प्रक्रिया को मैन्युअल रूप से शुरू करने पर रोक क्यों लगाई गई है!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.