dnsmasq: 53 পোর্টের জন্য শ্রবণ সকেট তৈরি করতে ব্যর্থ হয়েছে: ইতিমধ্যে ব্যবহারের ঠিকানা


16

আমি নীচের লিঙ্ক https://help.ubuntu.com/commune/Dnsmasq হিসাবে একটি সার্ভার সেট আপ করছিলাম

root@user-desktop:/etc/init.d# sudo apt-get install dnsmasq
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  dnsmasq
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/15.4 kB of archives.
After this operation, 120 kB of additional disk space will be used.
Selecting previously unselected package dnsmasq.
(Reading database ... 146283 files and directories currently installed.)
Unpacking dnsmasq (from .../dnsmasq_2.59-4_all.deb) ...
Processing triggers for ureadahead ...
Setting up dnsmasq (2.59-4) ...
 * Starting DNS forwarder and DHCP server dnsmasq                                                                                                                                                            
dnsmasq: failed to create listening socket for port 53: Address already in use [fail]
invoke-rc.d: initscript dnsmasq, action "start" failed.

উত্তর:


8

আমি আপনার মত একই সমস্যা পেতে। আমি মনে করি এটি 12.10 সাল থেকে সত্য, তবে 12.10 প্রকাশের আগে এই থ্রেডটি বন্ধ ছিল।

কিছুটা গুগল করা প্রায়শই (বেশিরভাগ এখান থেকে অনুপ্রাণিত ), আমি এই সমাধানটি পেয়েছি:

  • /etc/NetworkManager/NetworkManager.confআপনার সাথে প্রেমের সম্পাদক সম্পাদনা করুন
  • লাইনে মন্তব্য করুন dns=dnsmasq
  • নেটওয়ার্ক ম্যানেজারটি পুনরায় চালু করুন: sudo service network-manager restart

তবে আপনার dnsmasq কনফিগারেশনে ( /etc/dnsmasq.conf), আপনাকে লাইনটি দিয়ে লোকালহোস্ট ডিএনএস কোয়েরিগুলি শুনতে ভুলবেন না listen-address=127.0.0.1

আপনি যদি ডিএনএমস্যাকের কনফিগারেশন পরিবর্তন করেন তবে চালাতে ভুলবেন না sudo /etc/init.d/dnsmasq restart

আমি আশা করি এটি সাহায্য করবে


2
মন্তব্য dns=dnsmasqকরার মাধ্যমে এটি ডিএনএসম্যাস্ক ইনস্টল করার উদ্দেশ্যকে পরাস্ত করে না। আমি listen-address=127.0.0.1পরিবর্তন করেছি এবং এখন এটি ঠিকঠাক কাজ করছে বলে মনে হচ্ছে।

1
না। আপনি নেটওয়ার্কম্যানেজারকে ডিএনএসমাস্ক শুরু করতে এবং তার পরিবর্তে এটি স্বাধীনভাবে শুরু করে রাখছেন।
মিঃমাস

4

আমারও একই সমস্যা ছিল।

dnsmasq-baseইনস্টল করা হয়েছিল এবং 53 পোর্টে শোনানো dnsmasqশুরু হয়েছিল প্রতিরোধ করতে।

একই উদ্দেশ্যে dnsmasq-baseinsead ব্যবহার করা সম্ভব dnsmasq: কেবলমাত্র একটি অন্য কনফিগারেশন ডিরেক্টরি ব্যবহার করুন: Network Managerফোল্ডারে রাখা একটি :

/etc/NetworkManager/dnsmasq.d/

4

53 পোর্টে (ডোমেন) এর সাথে কী শুনছে তা পরীক্ষা করুন:

sudo ss -lp "sport = :domain"

এই বন্দরে চলমান যে কোনও পরিষেবা অক্ষম করুন। এটি সাধারণত এর systemd-resolved

আমি এটিও যাচ্ছি maskযাতে এটি পুনরায় বুট করার সময় স্বয়ংক্রিয়ভাবে শুরু না হয়।

sudo systemctl disable systemd-resolved
sudo systemctl mask systemd-resolved

আপনি যা করেছেন তা পূর্বাবস্থায়:

sudo systemctl unmask systemd-resolved
sudo systemctl enable systemd-resolved

এছাড়াও sudo update-rc.d systemd-resolved disableএটি বুট থেকে স্বয়ংক্রিয়ভাবে শুরু হওয়া থেকে বিরত থাকতে পারে তবে আমি এটি পরীক্ষা করে দেখিনি। কমান্ডটি পূর্বাবস্থায় ফেরানোর defaultsপরিবর্তে ব্যবহার করুন disable


অথবা কনফিগারেশন ফাইলটি সম্পাদনা করে আপনি পোর্ট dnsmasq যা শুনছেন তা পরিবর্তন করতে পারেন:

sudo nano /etc/dnsmasq.conf

হিট Ctrl+ Wএবং টাইপ করুন listen-address=এবং এন্টার চাপুন।

লাইনটি কমেন্ট করুন এবং 127.0.0.1 টি 53 এর মতো আলাদা পোর্টের সাথে যুক্ত করুন:

listen-address=127.0.0.1#5300

0

সম্পাদনা: কিছু গুগলিং, এবং আমি সমাধানটি পেয়েছি । দেখে মনে হচ্ছে নেটওয়ার্ক ম্যানেজার "dnsmasq-বেস" নামক একটি প্যাকেজের উপর নির্ভর করে যা কিছু dnsmasq কার্যকারিতা সরবরাহ করে। উবুন্টু উইকিতে Dnsmasq এন্ট্রি লিখেছেন যে

"নোট করুন যে প্যাকেজ" dnsmasq "নেটওয়ার্ক ম্যানেজারের সাথে হস্তক্ষেপ করে যা কোনও ইন্টারনেট সংযোগ ভাগ করে নেওয়ার সময় DHCP পরিষেবাদি সরবরাহ করতে" dnsmasq-বেস "ব্যবহার করতে পারে Therefore সুতরাং, আপনি যদি নেটওয়ার্ক ম্যানেজারটি (কেবলমাত্র সহজ সেটআপগুলিতে সূক্ষ্ম) ব্যবহার করেন, তবে dnsmasq ইনস্টল করুন -বেস, তবে ডিএনএসমাস্ক নয় you আপনার যদি আরও জটিল সেটআপ থাকে, নেটওয়ার্ক ম্যানেজার আনইনস্টল করুন, ডিএনএসম্যাস্ক বা অনুরূপ সফ্টওয়্যার (বাইন্ড 9, ডিএইচসিপিডি ইত্যাদি) ব্যবহার করুন এবং জিনিসগুলি হাতে হাতে কনফিগার করুন। "

অন্য কথায়: আপনি dnsmasq ব্যবহার করতে চান? তাহলে আপনি কী করছেন তা আপনি আরও ভাল করে জানতে পারবেন। পূর্বে উল্লিখিত সমাধানটি dnsmasq-base কে dnsmasq দ্বারা নিম্নলিখিত উপায়ে প্রতিস্থাপন করার পরামর্শ দেয় (প্রথম কমান্ডটি নেটওয়ার্ক-ম্যানেজারকেও সরিয়ে ফেলবে):

sudo apt-get remove dnsmasq-base
sudo apt-get install dnsmasq
sudo apt-get install network-manager network-manager-gnome

এবং আপনার বন্দরগুলি কী কী অবরুদ্ধ করে তা সন্ধানের জন্য এখানে কিছু সাধারণ মন্তব্য: আপনি কোন বন্দরে কী শুনছেন তা ব্যবহার করে খুঁজে পেতে পারেন lsof:

lsof -Pn +M -i4

-i4 এর কারণে আইপিভি 4 পোর্ট তালিকাভুক্ত করবে, যখন

lsof -Pn +M -i6

IPv6 পোর্টগুলি তালিকাভুক্ত করবে। বা টাইপ করুন

lsof -Pn +M | grep ':53 (LISTEN)'

এই (আশা) তোমাদেরকে কি এ বন্দর 53. ব্যবহার করছে বলা উচিত -Pn/ হোস্ট আইপি এর নামের কমান্ড লাইন সুইচ পোর্ট নম্বর রূপান্তর প্রতিরোধ।

বিকল্পভাবে, চালান

netstat -utlnp

3
Dnsmasq-বেস অপসারণ করবেন না; Dnsmasq প্যাকেজ এটি নির্ভর করে!
jdthood

3
এটি করার সময় সাবধানতা অবলম্বন করুন, দৌড়ানোর পরে sudo apt-get remove dnsmasq-baseআমাকে কোনও নেটওয়ার্ক সংযোগ না দিয়ে রেখে দেওয়া হয়েছিল যাতে আমি পরবর্তী পদক্ষেপগুলি না করতে পারি! সমাধানটি একটি নতুন আইপি ঠিকানা পেতে dhclient চলমান আছে।
গ্লেনজামিন

এর দ্বারা কামড়েছি ..
আমাকে সিস্টেমড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.