যখন resolv.conf ওভাররাইট করা হচ্ছে তখন আমি কীভাবে আমার ডিএনএস সেট করব?


279

আমি অনলাইনে যে তথ্য দেখি সেগুলির বেশিরভাগই সম্পাদনা করতে বলে /etc/resolv.conf, তবে সেখানে আমি যে কোনও পরিবর্তন করি তা কেবল ওভাররাইড হয়ে যায়।

$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- 
#     YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1

দেখে মনে হচ্ছে 127.0.1.1 এর স্থানীয় উদাহরণ dnsmasqdnsmasqডক্স সম্পাদনা করতে বলবে /etc/resolv.conf। আমি কাস্টম নেমসার্ভারগুলি ভিতরে রাখার চেষ্টা করেছি /etc/resolv.conf.d/base, তবে পরিবর্তনগুলি /etc/resolv.confচলার পরে দেখা যায় নি sudo resolvconf -u

এফওয়াইআই, আমি প্রতি সংযোগের ভিত্তিতে ডিএনএস পরিবর্তন করতে চাই না, অন্যথায় নির্দিষ্ট না থাকলে আমি সমস্ত সংযোগের জন্য ডিফল্ট ডিএনএস সেটিংস সেট করতে চাই।

হালনাগাদ:

আমি নিজেই এই প্রশ্নের উত্তর দিয়েছি: https://unix.stackexchange.com/a/163506/67024

আমি মনে করি এটি সবচেয়ে ভাল সমাধান:

  1. এটা কাজ করে।
  2. এটির জন্য সর্বনিম্ন পরিমাণের পরিবর্তন প্রয়োজন এবং
  3. এটি এখনও বাইপাস না করে dnsmasq এর DNS ক্যাশের সাথে একত্রে কাজ করে।

আপনার প্রশ্নটি আপডেট করার পরিবর্তে আপনার প্রশ্নের উত্তর দেওয়া ভাল বলে আমি মনে করি ... আপনি আপনার সমস্যার যে সঠিক উত্তর দিয়েছেন তার সন্ধান করা আরও সহজ হবে
ফিলিপ গ্যাচড

দেখে মনে হচ্ছে বেশিরভাগ উত্তরগুলি উবুন্টুমুখী এবং অতিরিক্ত জটিল। নেটওয়ার্কম্যানেজার ব্যবহারকারীদের জন্য সর্বজনীন সমাধানটি কেবল যুক্ত dns=noneকরা /etc/NetworkManager/NetworkManager.conf(নীচে আমার উত্তরে বিশদটি দেখুন)।
স্কিপি লে গ্র্যান্ড গৌরু

আমি মনে করি এই উত্তরটি স্পষ্ট করে যে কেন রেজলিউশন কনফার্ট ওভাররাইট করা হয়েছে, তবে আপনি কীভাবে এটি কনফিগার করবেন তা আপনি জানেন।
ফোম

উত্তর:


250

আমি বিশ্বাস করি আপনি যদি ডিএনএস নেমসারভারকে ওভাররাইড করতে চান তবে আপনার baseফাইলের আওতায় কেবল এই জাতীয় একটি লাইন যুক্ত করুন resolv.conf.d

উদাহরণ

$ sudo vim /etc/resolvconf/resolv.conf.d/base

তারপরে আপনার নেমসার্ভারের তালিকাটি এমনভাবে রাখুন:

nameserver 8.8.8.8
nameserver 8.8.4.4

শেষ অবধি resolvconf:

$ sudo resolvconf -u

আপনি যদি ম্যান পৃষ্ঠাতে একবার দেখে থাকেন resolvconfতবে এর নীচে থাকা বিভিন্ন ফাইলের বর্ণনা দেয় /etc/resolvconf/resolv.conf.d/

   /etc/resolvconf/resolv.conf.d/base
          File  containing  basic  resolver  information.  The lines in this 
          file are included in the resolver configuration file even when no
          interfaces are configured.

   /etc/resolvconf/resolv.conf.d/head
          File to be prepended to the dynamically generated resolver 
          configuration file.  Normally this is just a comment line.

   /etc/resolvconf/resolv.conf.d/tail
          File to be appended to the dynamically generated resolver 
          configuration file.  To append nothing, make this  an  empty  
          file.   This file is a good place to put a resolver options line 
          if one is needed, e.g.,

              options inet6

যদিও headফাইলের শীর্ষে একটি সতর্কতা রয়েছে :

$ cat /etc/resolvconf/resolv.conf.d/head
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

এই সতর্কতাটি তাই রয়েছে যাতে এই ফাইলগুলি তৈরি করা হলে, সতর্কতাটি শেষ পর্যন্ত resolv.confএই ফাইলগুলি তৈরি করতে ব্যবহৃত ফলাফলের ফাইলটিতে কাজ করবে। সুতরাং আপনি কেবল ফাইলের nameserverজন্য উপরে বর্ণিত লাইনগুলি খুব সহজেই যুক্ত করতে পারতেন ।basehead

তথ্যসূত্র


21
উবুন্টু 14.04 - যখন আমি মধ্যে নেমসার্ভার করা baseএবং চালানোর resolvconf -u, নেমসার্ভার হয়েছে না resolv.conf পুরা - যখন আমি মধ্যে নেমসার্ভার করা head, তারা ছিল
HorusKol

7
উবুন্টু 14.04 - এছাড়াও কনফিগারেশন সেট করার জন্য মন্তব্য করতে হয়েছিল/run/resolvconf/interface/NetworkManager
বিটসোফ্লোগিক

3
টাইপ করুন nslookup google.comএবং তালিকার প্রথম আইপিটি আপনার নতুন নেমসার্ভার হওয়া উচিত, যদি না হয় তবে আপনি এটি ভুল করেছেন
ফ্রেজাররা

6
উবুন্টু 16,04: কাজ খুঁজতে এবং তাতে যোগ /etc/resolvconf/resolv.conf.d/headশুধুমাত্র না সঙ্গে base। নিশ্চিত করা হয়েছে nslookup google.com
একিউম্যানাস

3
প্রাথমিকভাবে, আপনার অবশ্যই resolvconfইনস্টল করা উচিত । এটি করে আপনি এটি ইনস্টল করতে পারেন sudo apt-get install resolvconf
MAChitgarha

79

আমি এই প্রশ্নে আগ্রহী এবং আমি @ সিম প্রস্তাবিত সমাধানটি চেষ্টা করেছিলাম।

এটি পরীক্ষা করার জন্য, আমি রেখেছি

nameserver 8.8.8.8

ইন /etc/resolvconf/resolv.conf.d/baseএবং

nameserver 8.8.4.4

মধ্যে /etc/resolvconf/resolv.conf.d/head

তারপরে আমি নেটওয়ার্কটি পুনরায় চালু করেছি

sudo service network-manager restart

ফলাফলটি /etc/resolv.confদেখতে যেমন লাগে

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.4.4
nameserver 127.0.1.1

এবং nm-toolজানিয়েছে যে ডিজেন্সার হ'ল

DNS:             208.67.222.222
DNS:             208.67.220.220

যা আমার রাউটার দ্বারা সরবরাহিত। অন্যদিকে একটি ঠিকানা খনন করে বলে

;; Query time: 28 msec
;; SERVER: 8.8.4.4#53(8.8.4.4)

আমি যদি ঠিকই থাকি, আমি এই সমস্ত থেকে উপসংহারে পৌঁছেছি

  1. কেবল "মাথা" অংশটি রেজোলভনফ দ্বারা পঠিত হয়: "বেস" অংশটি কোনওভাবে ডিএনএসএমএএসসি দ্বারা নিয়ন্ত্রিত হয়
  2. ডিএনএসসিভারটি ডিএইচসিপি দ্বারা প্রদত্ত সার্ভার নির্বিশেষে 8.8.4.4 এ বাধ্য করা হবে, তবে আপনি ডিএনএসমাস্ক দ্বারা সরবরাহ করা ক্যাচটি আলগা করুন, যেহেতু অনুরোধটি সর্বদা 8.8.4.4 এ প্রেরণ করা হয়
  3. dnsmasq এখনও কেবলমাত্র ডিএইচসিপি দ্বারা সরবরাহিত ডিঞ্জারবার ব্যবহার করছে।

সব মিলিয়ে এটি কাজ করে তবে আমি মনে করি না এটি এটির উদ্দেশ্যে করা ফলাফল result আমি মনে করি আরও ঘনিষ্ঠ সমাধান নিম্নলিখিত। সম্পাদন করা

sudo vim /etc/dhcp/dhclient.conf

তারপর যোগ

supersede domain-name-servers 8.8.8.8;

ফলাফলটি নিম্নোক্ত: রেজোলভ.কনফটিতে কেবল 127.0.0.1 রয়েছে, যার অর্থ dnsmasq ক্যাশে রয়েছে এবং এনএম-টুল বলছে

DNS:             8.8.8.8

যার অর্থ এটি যদি অনুসন্ধান করা নামটি ক্যাশে না থাকে তবে এটি 8.8.8.8 এ বলা হবে এবং ডিএইচসিপি দ্বারা সরবরাহ করা সার্ভারে নয়।

আরেকটি (সম্ভবত আরও ভাল) বিকল্পটি হ'ল "সুপারপেড" এর পরিবর্তে "প্রিপেন্ড" ব্যবহার করুন: এইভাবে, যদি নামটি 8.8.8.8 দ্বারা সমাধান না করা হয়, তবে অনুরোধটি অন্য সার্ভারে ফিরে আসে। আসলে, এনএম-সরঞ্জাম বলে

DNS:             8.8.8.8    
DNS:             208.67.222.222
DNS:             208.67.220.220

4
এনএস কনফিগারেশনে হ্যাকিংয়ের চেয়ে অনেক ভাল উত্তর। বিশেষত ডিএইচসিপি সরবরাহকারীর সামনে একটি সার্ভার প্রিপেন্ড করার বিকল্প। নতুন সমস্যা তৈরি না করেই সমস্যার সমাধানের নিখুঁত ভারসাম্য বলে মনে হচ্ছে!
স্টিভ মিডলেগি

2
উত্তরের মধ্যে এত স্পষ্টতা এবং চিন্তাভাবনা এবং কেবল একটি আদেশ নয়।
ইগৌরব

3
আ মানুষ! "ডোমেন-নেম-সার্ভারগুলি 8.8.8.8; উত্তরটি
জ্যাক

এটি লক্ষণীয় যে এনএম-সরঞ্জামটি
এনএমসিলি

59

আমি জানতে পেরেছি যে আপনি dnsmasqনীচের লাইনগুলি যুক্ত করে ব্যবহার করে এমন নেমসার্ভারগুলি পরিবর্তন করতে পারেন /etc/dnsmasq.conf:

server=8.8.8.8
server=8.8.4.4

/etc/dnsmasq.confযদিও আমার কাছে কোনও ফাইল নেই, কারণ এটি ডিএনএসম্যাস্ক প্যাকেজটি ইনস্টল করেছে, তবে উবুন্টু কেবলমাত্র ডিএনএসম্যাস্ক-বেসের সাথে আসে। আমি দৌড়েছি sudo apt-get install dnsmasq, তারপরে সম্পাদনা করেছি /etc/dnsmasq.conf, তারপরে sudo service dnsmasq restartএবং sudo service network-manager restart

আমি sudo tail -n 200 /var/log/syslogআমার সিসলগটি যাচাই করতে দৌড়ে এসেছি এবং যাচাই dnsmasqকরেছিলাম যা আমি নির্দিষ্ট করা नेमসারভারগুলি ব্যবহার করেছিলাম:

Oct 21 23:00:54 mylaptop dnsmasq[8611]: using nameserver 8.8.8.8#53
Oct 21 23:00:54 mylaptop dnsmasq[8611]: using nameserver 8.8.4.4#53

4
এটি সেরা উত্তর হিসাবে চিহ্নিত হওয়ার কারণ রয়েছে ... কারণ এটি সত্যই! অনেক ধন্যবাদ! আমি যুক্ত করব যে, আপনি উল্লিখিত সমস্ত পদক্ষেপের পরে, সবকিছু সুষ্ঠুভাবে কাজ করার জন্য একটি নেটওয়ার্ক পুনরায় চালু করা প্রয়োজন হতে পারে (এটি আমার জন্য ছিল .... sudo service network-manager restart)
ক্লিন্ট ইস্টউড

3
উবুন্টু 14.04 সার্ভারে প্রায় অর্ধেক সময় একটি শীতল বুটের ফলে ইউআরএল ব্যবহার না করে কোনও ইন্টারনেট কানেক্টিভিটি পাওয়া যাবে তবে একটি আইপি-ঠিকানা কাজ করবে। আমি নির্বিঘ্নে এটি ঠিক করার চেষ্টা করে অনেক সময় ব্যয় করেছি, কয়েক মাস ধরে ছেড়ে দিয়েছি, তারপরে এই সমাধানটি পেয়েছি। আমিও মনে করি এটি সেরা উত্তর।
নাট লকউড

এটি আগ্রহজনক যে dnsmasq ইনস্টল করতে হবে। এটি সত্যই আমার
ডিএনএসকে

22

স্ট্যাটিক আইপি পরিস্থিতিতে, উবুন্টু সার্ভার গাইড ফাইল / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেসগুলি পরিবর্তন করতে বলেছে, যা দেখতে এটি দেখতে পারে:

iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com
dns-nameservers 192.168.3.45 192.168.8.10

আপনি 8.8.8.8 এর মত আপনি যে আইপিগুলি চান 192.168.3.45 192.168.8.10 পরিবর্তন করুন change

https://help.ubuntu.com/14.04/serverguide/serverguide.pdf পৃষ্ঠা 38


এটি অবশ্যই সঠিক দেখাচ্ছে তবে আমি এখন কীভাবে রেজলভ.কনফটি পুনরায় তৈরি করব ?!
জোয়েল বার্গার

3
@JoelBerger ifdown eth0; ifup eth0
জাজো নরটন

17
  1. 'নেটওয়ার্ক সংযোগ' অনুসন্ধান করুন
  2. ইহা খোল

                        এখানে চিত্র বর্ণনা লিখুন

  3. তারপরে ওয়াইফাই বা ইথারনেট বা আপনি যা ব্যবহার করছেন তা নির্বাচন করুন এবং সম্পাদনাতে ক্লিক করুন। আপনি এটি পাবেন:

                  এখানে চিত্র বর্ণনা লিখুন

  4. ট্যাবগুলিতে আইপিভি 4 নির্বাচন করুন

  5. কেবল পদ্ধতিতে ঠিকানা নির্বাচন করুন
  6. নীচে আপনার ডিএনএস নাম লিখুন এবং এটি সংরক্ষণ করুন

  7. তুমি করেছ


যদিও প্রতিটি নেটওয়ার্ক সংযোগের জন্য আমাকে এটি করতে হবে। অতীতে আপনি সমস্ত সংযোগের জন্য ডিফল্ট পরিবর্তন করতে পারেন, যা আমি এখানে যা করতে চাইছিলাম।
সেন হেইস

2
আমি তোমাকে ভালোবাসি! এই ইউআই সেটিংটি আমার পাছাটিকে সুডো এবং ভিম গণ্ডগোল থেকে বাঁচিয়েছিল: '(
লূক

পুদিনা ব্যবহার করে (উবুন্টু ১৪.০৪ তে) - তবে এটি কেডিএর সাথেও দেখা গেছে - কোনও কারণে জিইউআই নেটওয়ার্ক ম্যানেজারে ডিএনএস সার্ভার সেট করা কোনও টার্মিনালে ব্যবহৃত ডিএনএস সেটিংসকে প্রভাবিত করে না
হুরাসকোল ২

2
সেরা উত্তর imho। উবুন্টু 14.04 এ আমি ডিএনএসের জন্য 2 টি বাহ্যিক আইপি-ঠিকানা পেয়েছি যা আমার হোম নেটওয়ার্কের অভ্যন্তরে ক্লায়েন্টকে চিনতে পারে না। তারযুক্ত সংযোগ জন্য 'স্বয়ংক্রিয় (DHCP)' তে পদ্ধতি ছেড়ে যাওয়া যোগ বিদ্যমান লিস্টে আমার রাউটার এর IP- ঠিকানা। Wlan0 এর সাথে ওয়্যারলেস সংযোগের জন্য, এটি কাজ করে না, তবে 'অটোমেটিক (ডিএইচসিপি) ঠিকানাগুলিতে মেথড' কেবল আমার রাউটার আইপি দিয়ে বাহ্যিক ঠিকানাগুলি প্রতিস্থাপন করে এবং এটি পরেও কাজ করে। এর সাথে পরিবর্তনগুলি প্রয়োগ করুন sudo service network-manager restart, কিছুটা অপেক্ষা করুন, যাচাই করুন nmcli d list | grep 'DNS\|IP-IFACE'। এবং আপনার অভ্যন্তরীণ ক্লায়েন্টকে নাম দিয়ে পিং করুন।
রল্ফব্লি

13

একটি দ্রুত এবং নোংরা কাজটির কথা উল্লেখ করা হয়নি যা resolv.confএডিট করার পরে ঠিক ফাইলটিতে অবিচ্ছেদ্য পতাকা স্থাপন করছে ।

$ sudo nano /etc/resolv.conf

এটি যোগ করুন এবং সংরক্ষণ করুন:

nameserver 8.8.8.8

তারপর:

$ sudo chattr +i /etc/resolv.conf

কৌতুক করা উচিত। আমি আমার সিস্টেমেও এটি করি।


18
যে কোনও সময় আপনার সমাধানে চ্যাটার জড়িত, এটি আসলে কোনও সমাধান নয়।
জেফ জিরসা

1
আমি সিস্টেমে এটিই করি যেখানে আমার কোনও কারণে অস্থায়ীভাবে ডিএনএস পরিবর্তন করতে হবে এবং কনফিগারেশনটি পরিবর্তন করতে চাই না। স্থায়ী সমাধান হিসাবে আমি এটি সুপারিশ করব না।
hochl

3
"দ্রুত এবং নোংরা কাজ"
ইউনিএস বেনসালাহ

10
এটি নোংরা নয়। স্থানীয় কনফিগারেশন নষ্ট করে এমন প্রোগ্রামগুলি যেহেতু তারা মনে করে যে তারা আরও ভাল জানেন তারা নোংরা।

11

লিনাক্সের অধীনে ডিএনএস কনফিগারেশন

লিনাক্সে ডিএনএসের ব্যবহার সি লাইব্রেরিতে রুটিনগুলির একটি সেট দিয়ে সম্পন্ন হয় যা ইন্টারনেট ডোমেন নেম সিস্টেম (ডিএনএস) এ অ্যাক্সেস সরবরাহ করে। রিসলভার কনফিগারেশন ফাইল ( resolv.conf) তে এমন কোনও তথ্য থাকে যা সমাধান প্রক্রিয়াটির মাধ্যমে প্রথমবার ডাকা হয় ol সংক্ষেপে প্রতিটি প্রক্রিয়া ডিএনএসের অনুরোধ /etc/resolv.confকরে পাঠাগার জুড়ে পড়বে । এনএসএস এর উপরে স্তরযুক্ত এবং এটি দ্বারা কনফিগার করা হয়েছে /etc/nsswitch.conf

লিনাক্স ডিএনএস কনফিগ ফাইলে অবস্থিত হয় /etc/resolv.conf কিন্তু স্বয়ংক্রিয়ভাবে পরিচালনা করার এবং ডিএনএস কনফিগারেশন ফাইল পরিচালনা করতে চান প্রোগ্রাম নম্বর / সেবা আছে /etc/resolv.conf। কিছু পরিস্থিতিতে আপনি নিজেরাই এই ফাইলটি পরিচালনা করতে চাইতে পারেন। প্রতিটি প্রোগ্রাম / পরিষেবা পরিচালিত ডিএনএসের নিজস্ব কনফিগারেশন ফাইল রয়েছে /etc/dnsmasq.conf(ডিএনএসম্যাস্ক পরিষেবাদির জন্য) এবং সংযোগ পরিবর্তনের সময় এবং / অথবা অন্যান্য ইভেন্টে ডিএনএস কনফিগারেশন সংযোজন করা হয় ... একটি দ্রুত সমাধান ডিএনএস কনফিগারেশন ফাইলটি লক করা যায় chattr +i /etc/resolv.confতবে এটি প্রস্তাবিত নয় নির্দিষ্ট ক্ষেত্রে, ডিএনএস (ড্যানমাসক / নেটওয়ার্ক-ম্যানেজার / রেজোলভকনফ / ইত্যাদি) ব্যবহার করে সমস্ত প্রোগ্রাম / পরিষেবাদি সঠিকভাবে সেটআপ করা একটি ভাল সমাধান is

ডিএনএসের নিয়ন্ত্রণ ফিরে পাওয়া

রেজোলভকনফের নিয়ন্ত্রণ ফিরে পেতে এবং এটির ওভাররাইট না হওয়া এড়াতে সেটআপগুলির একটি বিস্তৃত তালিকা এখানে রয়েছে ( রেজোলভকনফ ব্যতীত অন্য স্থান থেকে ডিএনএসকে কীভাবে অক্ষম / সেটআপ করবেন ) নোট করুন যে রেজোলভকনফ রেজোলভকনফ থেকেও একটি স্বতন্ত্র প্রোগ্রাম, আপনার সিস্টেম / কনফিগারেশনের উপর নির্ভর করে আপনার এখানে এক বা একাধিক প্রোগ্রাম থাকতে পারে না।

1. রেজোলভকনফ:

ফাইলগুলি কনফিগার করুন

cat /etc/resolvconf/resolv.conf.d/head
nameserver 8.8.4.4
cat /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.4.4

কনফিগার আপডেট করুন

sudo resolvconf -u

রেজোলভকনফ অক্ষম করুন

systemctl disable --now resolvconf.service 

2. ডিএনএমসেক সার্ভিস:

ফাইলগুলি কনফিগার করুন

cat /etc/dnsmasq.conf
server=1.1.1.1
server=8.8.4.4

কনফিগার আপডেট করুন

sudo systemctl restart dnsmasq.service

৩. নেটওয়ার্ক ম্যানেজার:

ফাইলগুলি কনফিগার করুন

/etc/NetworkManager/*

ডিএনএস অক্ষম করুন

$ cat /etc/NetworkManager/conf.d/no-dns.conf
[main]
dns=none

ডিএনএস সক্ষম করুন

$ cat /etc/NetworkManager/conf.d/dns.conf
[main]
dns=default

[global-dns]
searches=example.com

[global-dns-domain-*]

সমাধান পরিষেবা ব্যবহার করুন

$ cat /usr/lib/NetworkManager/conf.d/resolved.conf 
[main]
dns=systemd-resolved

রেজোলভকনফ ব্যবহার করুন

$ cat /usr/lib/NetworkManager/conf.d/resolvconf.conf 
[main]
rc-manager=resolvconf

কনফিগার আপডেট করুন

systemctl restart NetworkManager.service

4. নেটওয়ার্ক ইন্টারফেস:

ফাইলগুলি কনফিগার করুন

$ cat /etc/network/interfaces
#nameservers
# or dns-search like so
# dns-search x.y 
dns-nameservers 4.4.4.4 8.8.8.8

কনফিগার আপডেট করুন

reboot

5. ডিএইচসিপি ক্লায়েন্ট:

ফাইলগুলি কনফিগার করুন

$ cat /etc/dhcp3/dhclient.conf
supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;

কনফিগার আপডেট করুন

reboot

R. আরডিএনএসডি সার্ভিস:

Rdnssd অক্ষম করুন

systemctl disable --now rdnssd.service

7. সমাধান করা পরিষেবা:

সমাধান করা অক্ষম করুন

systemctl disable --now systemd-resolved.service

8. নেটকনফিগ:

ফাইলগুলি কনফিগার করুন

/etc/sysconfig/network/config

নেটকনফিগ অক্ষম করুন

cat /etc/sysconfig/network/config
NETCONFIG_DNS_POLICY=""

কনফিগার আপডেট করুন

reboot

ডিএনএস সার্ভার সেট করা হচ্ছে

একটি /etc/resolv.confকনফিগারেশন উদাহরণ

#Cloudflare
nameserver 1.0.0.1

#Google
#nameserver 8.8.8.8
#nameserver 8.8.4.4

#Cloudflare 
#nameserver 1.1.1.1

#Classic Config
#nameserver 192.168.1.1
#search lan

10

আমার সমস্যাটি কিছুটা আলাদা ছিল, আমি আমার রাউটারগুলি ডিএনএস সার্ভারগুলিকে ওভাররাইড করতে চেয়েছিলাম। আমি উবুন্টু থেকে এই লিঙ্কটি পেয়েছি: https://wiki.ubuntu.com/OverrideDNSServers

এতে বলা হয়েছে: আপনি যদি ডিএইচসিপি সার্ভারের দ্বারা সরবরাহ করা ডিএনএস সেটিংস ওভাররাইড করতে চান তবে খুলুন

/etc/dhcp3/dhclient.conf

এবং নিম্নলিখিত লাইন যুক্ত করুন:

supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;

<dns_ip_address*>সঠিক বিষয়বস্তু দিয়ে আইটেম প্রতিস্থাপন ।


এই উত্তরটিই আমার সমস্যার সমাধান করেছে।
মাইকেল

পারফেক্ট। পরিবর্তনগুলি সক্ষম করতে আপনার কেবল সার্ডো নেটওয়ার্কিং পুনরায় চালু করা উচিত should
নিক ট্রিয়ান্টাফিলু

আমাদের যদি সেই dhcp3ফোল্ডার না থাকে ? আমার জুবুন্টু 17.10 আছে, এটি কি সরল হয়ে গেছে /etc/dhcp?
প্লাজমাবিন্টুরং

4

সম্ভবত আমি কিছু মিস করছি, তবে https://help.ubuntu.com/14.04/serverguide/network-configration.html এ কনফিগারেশন নির্দেশাবলী অনুসারে আপনি যা করছেন তা নীচের আপডেট করুন। আমি একটি প্রক্সি চালাচ্ছি না - ফায়ারওয়াল এবং স্থানীয় ডিএনএসের পিছনে কেবল একটি মেশিন (উদাহরণস্বরূপ গুগলস দেখায়, তবে আপনার যা প্রয়োজন তা সেট করুন)।

nano /etc/network/interfaces

ডিফল্ট:

# This file...
# and how to activate...

# The loopback...
auto local
iface lo inet loopback

# The primary network interface 
auto eth0
iface eth0 inet dhcp

আপডেট:

# This file...
# and how to activate...

# The loopback...
auto local
iface lo inet loopback

# The primary network interface 
#iface eth0 inet dhcp
iface eth0 inet static
address x.x.x.x
netmask 255.255.255.0
gateway x.x.x.x

#nameservers
# you may not need dns-search
# I use it because I'm running this on a Windows network 
# so its useful to have
# dns-search x.y 
dns-nameservers 4.4.4.4 8.8.8.8

রিবুট করুন, পারলে পারেন।


3

dns-nameservers XXX.XXX.XXX.Xআপনার /etc/networking/interfacesফাইলে যুক্ত করার চেষ্টা করুন।


আপনি ডাউন ডাউন যখন একটি মন্তব্য করুন, দয়া করে। এই পদ্ধতি দেওয়া হয় ম্যানুয়াল , পৃষ্ঠা 38.
Zook

1
নিরীক্ষণবিহীন ম্যানুয়াল সমস্ত আইপি এক লাইনে দেখায়। এই উত্তরটি একটি লাইন যুক্ত করার পরামর্শ দেয় বলে মনে হচ্ছে। এবং শেষ সংখ্যাটি কেবলমাত্র এক এক্স প্রশস্ত? আমি মনে করি এটি বেশিরভাগ অনানুষ্ঠানিক এবং অনিশ্চিত সংক্ষিপ্ত চ্যাট-স্টাইল রচনা যা ডাউনবোটগুলি অর্জন করেছিল, @ জুক।
সিইস টিমারম্যান

2

এখানে কিছু উত্তর ঠিক কাজ করে। তবে সত্য আমি নিজে শুধু "সঠিক" তে সেট কনফিগারেশন ফাইল মধ্য দিয়ে যেতে খুশি ছিলেন না DNSযা আমি ইতিমধ্যে ওভার প্রাপ্তির করছি DHCPসঙ্গে NetworkManager

আমি কিছুটা খনন করে লক্ষ্য করেছি যে /etc/resolv.confফাইলটি আসলে একটি লিঙ্ক এবং এটি নির্দেশ করছে /run/systemd/resolve/stub-resolv.conf। কিছু পরীক্ষা-নিরীক্ষার পরে এটি প্রদর্শিত হয় যে /run/systemd/resolve/ডিরেক্টরিতে অন্য একটি ফাইল resolv.confরয়েছে যা ইতিমধ্যে আপনার মাধ্যমে প্রাপ্ত সেটিংস ধারণ করে DHCP। সুতরাং, কনফিগারেশন ফাইলগুলিতে ম্যানুয়ালি ওভাররাইট / তৈরি করার পরিবর্তে /etc/আপনি কেবল ফাইলটিতে /etc/resolv.confনির্দেশ করতে পুনরায় লিঙ্ক করতে পারেন /run/systemd/resolve/resolv.confএবং সমস্ত ঠিকঠাক হওয়া উচিত:

# sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

আপনার এখন জিনোমে নেটওয়ার্ক ম্যানেজার থেকে সেটিংস সম্পাদনা করতে সক্ষম হওয়া উচিত। :)

এটি পুরানো উবুন্টুতে কাজ করবে কিনা তা নিশ্চিত নয় তবে এটি উবুন্টু 17.10-এ কাজ করে।


আমরা যখন systemd-resolve --flush-cacheমূল লিঙ্কযুক্ত ফাইলটি চালাই তখন দৃশ্যত
বিভক্ত

1

6,2016 মে সম্পাদনা করুন

আমি /etc/Network-Manager/system-connections/ডিরেক্টরিতে সিস্টেম সংযোগের জন্য সমস্ত সেটিংস আপডেট করার জন্য একটি স্ক্রিপ্ট লিখেছি । আপনি স্বতন্ত্র সংযোগগুলি সম্পাদনা করতে যে GUI ব্যবহার করেন, সেই ডিরেক্টরিতে একটি নির্দিষ্ট ফাইল সম্পাদনা করে। স্ক্রিপ্টটি সমস্ত ফাইল আপডেট করে - এটি কেবল তাদের জন্য অনুসন্ধান করে যাদের গ্রেপ দিয়ে ডিএনএস সেট নেই এবং এটি এজেকে দিয়ে সেট করে।

যেহেতু এই ফাইলগুলিতে অ্যাক্সেসের অ্যাক্সেস প্রয়োজন তাই sudoএই স্ক্রিপ্টটি চালান sudoএবং তারপরে - নেটওয়ার্ক ম্যানেজারটি পুনরায় চালু করুন

#!/bin/bash
# Author: Serg Kolo
# Date: May 6, 2015
# Description: this script checks all settings for connections in 
# /etc/NetworkManager/system-connections/ , and if there's no custom
# dns set , this script sets it;
# NOTE: run sudo service network-manager restart after running this script

set -x

for file in /etc/NetworkManager/system-connections/* ; do
        grep 'dns=208.67.220.220;' "$file"  || ( awk '{print;if ($1=="[ipv4]"){getline; print "method=auto\ndns=208.67.220.
220;\nignore-auto-dns=true"}}' "$file" > .tmpfile && ( cat .tmpfile > "$file") )
done

স্ক্রিপ্ট কার্যকর

এখানে চিত্র বর্ণনা লিখুন

মূল পোস্ট এখানে কিছু ব্যবহারকারী উল্লেখ করেছেন যে ডিএনএস কোনওভাবে নিয়ন্ত্রণ করে dnsmasq। এটা আসলে সত্য। আমি একটি কিছুটা ছোট সমস্যা, যেখানে কোন ব্যাপার কিভাবে আমি পরিবর্তন সম্মুখীন করেছি headবা bodyমধ্যে /etc/resolvconf/resolv.conf.d, আমার কম্পিউটারে আসলে ডোমেইন নাম দ্বারা অন্তরীণ না অ্যাক্সেস করতে পারে - শুধুমাত্র IP ঠিকানা সঙ্গে কাজ।

আমি যা করেছি তা /etc/NetworkManager/NetworkManager.confফাইল সম্পাদনা করা । মূলত, এটা বলেন dns=dnsmasqকিন্তু আমি তা পরিবর্তিত হয়েছে: dns=208.67.222.222। যদিও এইভাবে, nm-tool208.67.222.222 এর উল্লেখ নেই, আমি এখনও কেবল আইপি ঠিকানা নয়, ডোমেন নামগুলি ব্যবহার করতে সক্ষম হয়েছি।

আমার NetworkManager.confফাইলটি এখন কেমন দেখাচ্ছে তা এখানে :

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
dns=208.67.222.222

[ifupdown]
managed=false

দ্রষ্টব্য: আমার সমস্যা এবং এই সমাধান সম্পর্কে আরও তথ্যের জন্য, Askubuntu.com- এ আমার পোস্টটি দেখুন

আপডেট # 1

বিশ্ববিদ্যালয় থেকে আজ দেশে ফিরে, আমি আবিষ্কার করেছি যে আমি আমার বাড়ির ওয়াইফাইয়ের সাথে সংযোগ করতে পারি না। আমি পড়তে-আপ করে থাকেন একটু উপর man NetworkManager.confএবং এটি দেখা যাচ্ছে যে dns=[main]আসলে প্ল্যাগ-ইনগুলি জন্য একটি লাইন, তাই লাইন dns=dnsmasqআসলে NetworkManager দ্বারা করা dnsmasq প্লাগইন যোগ, দৃশ্যত হয়।

সুতরাং আমার সমাধানটি এখনও কাজ করেছিল, যেমনটি আমি প্রত্যাশা করেছিলাম তেমন নয়। ম্যান পৃষ্ঠা থেকে এখানে উদ্ধৃত অংশ:

dns=plugin1,plugin2, ... List DNS plugin names separated by ','. 

ডিএনএস প্লাগইনগুলি স্থানীয় ক্যাচিং নেমসার্ভার কার্যকারিতা সরবরাহ করতে ব্যবহৃত হয় (যা ডিএনএস কোয়েরিগুলিকে গতি দেয়) এবং এটি ব্যবহার করে এমন অ্যাপ্লিকেশনগুলিতে ডিএনএস ডেটা ধাক্কা দেয়।

সুতরাং সেট করে dns=208.67.222.222আমি মূলত, নেটওয়ার্কম্যানেজারকে সেই প্লাগইনটি ব্যবহার করা থেকে বিরত থাকতে পারি, যা অন্যথায় স্থানীয় ডিএনএস সার্ভার ব্যবহার করবে (যা দৃশ্যত কাজ করে না)।


1

আছে দুই পদ্ধতি

পদ্ধতি 1

ব্যবহার করার জন্য ডিএনএস সার্ভারটি headআন্ডারে ফাইল আপডেট করে পরিবর্তন করা যেতে পারেresolv.conf.d

$ echo 'nameserver 1.1.1.1' | sudo tee /etc/resolvconf/resolv.conf.d/base

এবং তারপর চালান

$ sudo resolvconf -u

উপরের ডিরেক্টরিতে একটি জেনেরিক resolv.confফাইল উত্পন্ন করবে /etc। আপনার সমস্ত সমাধানের অনুরোধগুলি উপরে বর্ণিত নেমসার্ভারে প্রেরণ করা হবে। সমাধান।

তবে এর সাথে এর অন্তর্ভুক্তি রয়েছে। ঠিকানার রেজোলিউশনের জন্য resolvconfসরাসরি জিজ্ঞাসা করার 1.1.1.1জন্য ব্যবহার করার সময়, ডিএনএসমাস্ক দ্বারা সরবরাহ করা ক্যাশেিংয়ের শক্তি চলে যায়। প্রতিটি অনুরোধে যেতে হবে1.1.1.1

পদ্ধতি 2

আপনি যদি না চান এবং DNS রেজোলিউশনের জন্য dnsmasq ব্যবহার করেন তবে এই উত্তরটি উল্লেখ করুন । উত্তরটি এখানে সহজভাবে বর্ণনা করা হয়েছে।

/etc/dnsmasq.confফাইলটিতে নিম্নলিখিত সামগ্রী যুক্ত করুন।

সার্ভার = 1.1.1.1

তারপরে dnsmasq পরিষেবাটি পুনরায় চালু করুন

$ sudo systemctl restart dnsmasq.service

জিনিস ভাল কাজ করবে। সমাধান।


0

ডিএনএস পরিবর্তন করার সহজ উপায়:

$ sudo nano /etc/network/interfaces

যদি সমস্যাগুলি সামনে আসে তবে ইনস্টল করুন nano:

$ sudo apt-get install nano -y

তাহলে ..

  1. এটি সন্ধান করুন: dns-nameservers
  2. যদি আপনি এটি না পান তবে এটি কেবল সেখানে টাইপ করুন
  3. আমি আমার মত করেছিলাম: dns-nameservers 199.85.126.10 199.85.127.10

আমি আশা করি এটি সর্বোত্তম উপায়, আমি এটি কোনও ভিপিএসে এটির মতো করেছিলাম।


0

মূল:

  1. মন্তব্য dns=dnsmasqউপর/etc/NetworkManager/NetworkManager.conf
  2. supersede domain-name-servers 4.2.2.1,4.2.2.3,4.2.2.5,4.2.2.4,4.2.2.1,4.2.2.2;এর শেষে যুক্ত করুন/etc/dhcp/dhclient.conf
  3. sudo service network-manager restart

নিম্নলিখিতটি উপরে প্রদর্শিত পরিবর্তনগুলি করে:

$ sudo sed -i 's/dns\x3Ddnsmasq/\x23dns\x3Ddnsmasq/' \
   /etc/NetworkManager/NetworkManager.conf

$ echo 'supersede domain-name-servers 4.2.2.1,4.2.2.3,4.2.2.5,4.2.2.4,4.2.2.1,4.2.2.2;' | \
   sudo tee --append /etc/dhcp/dhclient.conf

$ sudo service network-manager restart

পুনঃসূচনা প্রক্রিয়াটি শেষ করতে 7-10 সেকেন্ড অপেক্ষা করুন, "এনস্লুকআপ নিস্ট.gov" দিয়ে আপনার কনফিগারেশনটি পরীক্ষা করুন। উবুন্টু এলটিএস 14.04 এ ভাল কাজ করে।


0

নোট: বেশিরভাগ উত্তরের মতো, এটি নেটওয়ার্কম্যানেজারের ব্যবহার অনুমান করে। তবে অন্যান্য অধিকাংশ উত্তর অসদৃশ, এটা ব্যবহার অনুমান করে না resolvconf, dhclientবা অন্য কিছু - হুঁশিয়ার যে, তারা যদিও (আপডেট দেখুন), অধিগ্রহণ করতে পারে।

এই প্রশ্নের মতামতের সংখ্যা দেওয়া এটি যথেষ্ট অবিশ্বাস্য যে এই 8 টি অক্ষরের সমাধানটি এখনও পোস্ট করা হয়নি: অনুসারে man NetworkManager.conf,

ডিএনএস: […] কোনওটি নয়: নেটওয়ার্কম্যানেজার রেজোলভকনফ সংশোধন করবে না। এটি আরসি-ম্যানেজারকে নিয়ন্ত্রণহীনভাবে বোঝায়

অতএব অ্যাড

dns=none

মধ্যে [main]বিভাগে /etc/NetworkManager/NetworkManager.confতারপর NetworkManager দ্বারা পুনরায় আরম্ভ করুন এবং এটি পরিবর্তন করা হবে না /etc/resolv.confআর।

নোট করুন যে সেটিংসের rc-manager=unmanagedসমতুল্য হওয়া উচিত dns=noneএবং প্রতীকী লিঙ্ক হিসাবে সেটিংটি rc-manager=symlinkআরও /etc/resolv.confভাল ধারণা হতে পারে (উপরে উল্লিখিত ম্যানপেজটি পড়ুন)।

হালনাগাদ :

নেটওয়ার্ক ম্যানেজার ওভাররাইট করা বন্ধ করার পরে /etc/resolv.conf, আমি বুঝতে পেরেছি যে dhcpcdইতিমধ্যে /etc/resolv.confবুটে একটি অকেজো ফাঁকা ফাইল দ্বারা প্রতিস্থাপন করা হয়েছিল। dhcpcd.confসাহায্যের ম্যানপেজ , এটি যুক্ত করার পক্ষে যথেষ্ট

nohook resolv.conf

আপনার dhcpcd.conf(আমার মধ্যে /etc/dhcpcd.conf)


0

আমার লিনাক্স সেন্টোস 7 সার্ভারে এই বিকল্পটি ব্যবহার করার জন্য আমি সবচেয়ে ভাল উপায়টি পরিবর্তন করতে পারি

nmtui

কমান্ড যা এখানে কোন উত্তর দেওয়া হয় না। আপনি এই সরঞ্জামে নেমসার্ভারগুলি সম্পাদনা করতে পারেন এবং আপনি যখন এই ইউটিলিটি থেকে নেটওয়ার্ক ম্যানেজারের বিকল্পগুলি পরিবর্তন করেন সেগুলি /etc/resolv.confপুনরায় বুটের পরে স্বয়ংক্রিয়ভাবে প্রয়োগ করা হবে । এখানে আপনি আরও তথ্য পেতে পারেন

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