resolv.conf কোনও কিছুর দ্বারা রিসেট পেতে থাকে


29

আমার কেন এতে resolv.confপরিবর্তন হয়, তা জানার জন্য আমার সাহায্য দরকার , যার ফলে আমাকে বাইরের ইন্টারনেট এবং কেবল স্থানীয় নেটওয়ার্ক অ্যাক্সেস করতে সক্ষম হতে হবে না:

$ cat /etc/resolv.conf
nameserver 192.168.16.1
domain localdomain
search localdomain

আমি ভেবেছিলাম যে লুপব্যাক ইন্টারফেস থেকে মুক্তি পেয়ে এবং জোতশাইয়ের পোস্টারাস ব্লগের/etc/network/interfaces নির্দেশাবলী সহ এথ0 ইন্টারফেসে যুক্ত করে আমি এটি সংশোধন করেছি ।

আমি করার মতো জিনিস চেষ্টা করেছি:

$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up
$ sudo /etc/init.d/networking restart
$ sudo dhclient

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

পিএস আমি উবুন্টুফর্মগুলিতেও এটি পোস্ট করেছি


সম্পাদনা: নেটওয়ার্কম্যানেজারের মধ্যে কমপক্ষে অন্য একটি প্রোগ্রাম রয়েছে যা এটি লিখেছিল resolv.confএবং আমি এটি জানি কারণ যখন আমি নেটওয়ার্কম্যানেজারকে রিফ্রেশ করি তখন resolv.confযে ফাইলটি উত্পন্ন হয় তার একটি মন্তব্য রয়েছে যা বলে # Generated by NetworkManagerএবং এটি যে সংস্করণে পরিবর্তিত হয় না তা রয়েছে।

সুতরাং আমি এটি চেষ্টা করছি:

while true; do echo listening; lsof | grep /etc/resolv.conf; echo sleeping; sleep 1; done


সম্পাদনা 2:

ফাইলগুলির আউটপুট যুক্ত করা হচ্ছে:

$ cat /etc/network/interfaces 
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

যেমন কোন ফাইল /etc/NetworkManager/NetworkManager.conf

$ sudo cat /etc/NetworkManager/system-connections/Auto\ Ethernet 

[connection]
id=Auto Ethernet
uuid=#######omitted#######
type=802-3-ethernet
autoconnect=true
timestamp=1314377063

[ipv4]
method=auto
ignore-auto-routes=false
ignore-auto-dns=false
dhcp-send-hostname=false
never-default=false

[802-3-ethernet]
speed=0
duplex=full
auto-negotiate=true
mtu=0

[ipv6]
method=ignore
ignore-auto-routes=false
ignore-auto-dns=false
never-default=false

আমার সন্দেহ হয় একটি নেটওয়ার্ক ম্যানেজার বাগ, বা সম্ভবত আরও একটি ভুল কনফিগারেশন রয়েছে। আপনি উবুন্টুর কোন সংস্করণটি চালাচ্ছেন? আপনি কি resolvconfপ্যাকেজ ইনস্টল করেছেন? বিষয়বস্তু পোস্ট /etc/network/interfaces, /etc/NetworkManager/NetworkManager.confএবং /etc/NetworkManager/system-connections/*
গিলস 'অশুভ হওয়া বন্ধ করুন'

আমি 10.04 চালাচ্ছি, কোন resolvconfপ্যাকেজ নেই। এক পর্যায়ে, আমার স্থানীয় নেটওয়ার্কটি ভাল থাকাকালীন আমার ডিএসএল মডেমটি খারাপ হয়ে যাচ্ছে (রাউটারের পিছনে), তাই আমি সম্ভবত ইনস্টল করার চেষ্টা করতে পারি nscdবা - dnsmasqএখনই আনইনস্টল করেছি, তবে এটি হস্তক্ষেপকারী কিছু শিল্পকর্মটি ফেলে থাকতে পারে?
জন্টসাই

ঠিক আছে, আমি 3 সপ্তাহের মধ্যে প্রথমবারের জন্য আমার কম্পিউটারটি রিবুট করেছি এবং আমার মনে হয় সমস্যাটি চলে গেছে। o_O
joutsai

নিশ্চিত নন, কিন্তু আমি মনে করি উপর DHCP সার্ভার সঙ্গে কিছু সমস্যা হয়েছে vmnet1বা vmnet8(ন্যাট এবং হোস্ট-কেবলমাত্র)
jontsai

1
উবুন্টু 12.04 যেহেতু বেস সিস্টেমটিতে রেজোলভকনফ প্রবর্তন করেছিল, মূল সমাধানটি রেজলভ.কনফ পরিচালনার পদ্ধতি পরিবর্তন করে এই পুরো আলোচনাটি হ্রাসপ্রাপ্ত প্রাসঙ্গিকতার।
jdthood

উত্তর:


13

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

প্রথমে resolvconfপ্যাকেজটি ইনস্টল করুন ।

তারপরে, Alt + F2 টিপুন এবং চালান gksudo nautilus/etc/resolvconf/resolv.conf.d/headআপনি যদি ফাইলটির শুরুতে যুক্ত করতে চান তবে খুলুন ; /etc/resolvconf/resolv.conf.d/tailআপনি শেষ যোগ করতে চান খুলুন । আপনার পরিবর্তনগুলি করুন, ফাইলগুলি সংরক্ষণ করুন / বন্ধ করুন এবং তারপরে sudo resolvconf -uপরিবর্তনগুলি প্রয়োগ করতে দৌড়াবেন।

(দুঃখিত যে আমি ফাইলটির শুরুতে বা শেষে সেটিংসের সর্বোচ্চ অগ্রাধিকার দিচ্ছি কিনা তা আমার মনে নেই))


আমার নেটওয়ার্ক ম্যানেজারের পরিবর্তনগুলি যে কোনও ভিপিএন-তে সংযুক্ত করার সময় ফিরিয়ে দেওয়া হবে। আমি কোন নেটওয়ার্কের সাথে কানেক্ট করেছি তা নির্বিশেষে এটি আমাকে সমাধানের তালিকায় 8.8.8.8 রাখার অনুমতি দেয়।
স্টিভেন পি

8

আমার ঠিক একই সমস্যা ছিল - প্রতিবার সার্ভারটি পুনরায় বুট করার সময় রেজোলভকনফ আবার লেখা হবে।

এটি ডিএইচসিপি দ্বারা হয়েছিল। আমি যা হতে চাই তাতে রেজোলভকনফ সেট করতে, আমি সম্পাদনা /etc/dhcp/dhclient.confকরে নিম্নলিখিতটি যুক্ত করেছি:

supersede domain-name "my.domain.com";
prepend domain-search "my.domain.com";

আপনি এটিকে পরিবর্তন করে আসলে আপনার রেজোলভ.কনফ ফাইলটি সম্পর্কে কিছুটা নিয়ন্ত্রণ করতে পারেন।

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


2
এটিই সবচেয়ে পরিষ্কার সমাধান হতে পারে তবে কোনও কারণে এটি কয়েক বছর আগে আমার সিস্টেমে কাজ করা বন্ধ করে দিয়েছে। আমি তখন থেকে রেজলভকনফ স্ক্রিপ্ট বা চ্যাটার + আই /etc/resolv.conf অক্ষম করে আটকে আছি।
ট্রনিক

7

(এই উত্তরে কী চলছে তা তদন্তের উপায় রয়েছে you আপনি যদি এই পদ্ধতিগুলি আরও তথ্য সংগ্রহ ও সরবরাহ করতে ব্যবহার করেন তবে আমি একটি প্রকৃত সমাধান দিতে সক্ষম হতে পারি))

আপাতদৃষ্টিতে স্বতঃস্ফূর্ত আপডেটগুলির সম্ভাব্য ট্রিগার /etc/resolv.confহ'ল যখন আপনার ডিএইচসিপি ইজারা পুনর্নবীকরণ হয়। আপনি কতক্ষণ ডিএইচসিপি ইজারা পাবেন তা পরীক্ষা করুন (এটি সিস্টেম লগগুলিতে প্রদর্শিত হওয়া উচিত, আমার মনে হয় /var/log/syslog)।

ফাইলটি কী পরিবর্তন করে তা খুঁজে পেতে আপনি নিরীক্ষণ ব্যবহার করতে পারেন নিরীক্ষণ ইনস্টল করুন। ডেমনটি ( sudo service auditd start) শুরু করুন এবং এটিকে ফাইলে সংশোধন করার জন্য বলুন:

sudo auditctl -w /etc/resolv.conf -p w

নিরীক্ষার লগগুলি রয়েছে /var/log/audit/audit.log। আপনি ফাইলটি সংশোধন করার সময় এবং প্রোগ্রামটির নাম যা এটি সংশোধন করেছিল তা দেখতে পাবেন।

আপনার যদি resolvconfপ্যাকেজটি ইনস্টল করা থাকে তবে নেটওয়ার্ক ম্যানেজার তার পায়ের আঙ্গুল থেকে পা রাখতে পারে। সমস্ত নেটওয়ার্ক ইন্টারফেস নীচে আনার চেষ্টা করুন, তারপরে নেটওয়ার্ক ম্যানেজার ( sudo service network-manager stop) থামান , তারপরে এটি পুনরায় চালু করুন।


1
আমি বিশ্বাস করি আপনি ডিএইচসিপি রিলিজ সম্পর্কে ঠিক বলেছেন। আপনি নিম্নলিখিতভাবে নেটওয়ার্ক ম্যানেজারে ডিএইচসিপি সেটিংস পরিবর্তন করতে পারেন: nm-connection-editorআপনার টার্মিনালটিতে চালান । আপনার ইন্টারফেস এবং হিট সম্পাদনা নির্বাচন করুন। আইপিভি 4 সেটিংসের অধীনে একটি পদ্ধতি থাকা উচিত যা কেবল ডিএইচসিপি অ্যাড্রেস (বা অনুরূপ কিছু) বলে। যদি আমি ভুল না হয়ে থাকি তবে এটি আপনাকে ডিএইচসিপি এর মাধ্যমে আইপি অ্যাড্রেসগুলি পাওয়ার অনুমতি দেবে কিন্তু নেমসার্ভারগুলি নয় (আপনি নীচের ক্ষেত্রগুলিতে সেগুলি নির্দিষ্ট করতে পারেন)।
খ্রিস্টান স্কাজাডট

আমি স্থির আইপিগুলিতে ম্যাকের ঠিকানা মানচিত্রের জন্য আমার রাউটার সেট করেছি, তাই ডিএনএস ইজারা দীর্ঘ সময়ের জন্য। auditctlলাইন আমার জন্য কাজ করে না, এবং আমি বিশ্বাস করি যে নেটওয়ার্ক ম্যানেজার জন্য পরিষেবার নাম network-manager(হাইফেন ক্ষেত্রেও প্রযোজ্য)। আমার কাছে কোনও resolvconfপ্যাকেজ ইনস্টল নেই, তবে /etc/resolvconf/ফোল্ডারের ভিতরে আমার জিনিস ছিল এবং যখন আমি এটি অন্য উবুন্টু মেশিনের সাথে তুলনা করি তখন এটি ছিল না, তাই আমি প্যাকেজটি ইনস্টল ও আনইনস্টল করেছিলাম এবং ম্যানুয়ালি সেই ফোল্ডারটি সরিয়েছি। /etc/resolv.confস্রেফ আবার লিখিত হয়েছে, তাই আমার মনে auditctlহয় কাজ করা খুব সহায়ক হবে।
joutsai

@ জন্টসাই /etc/resolvconfআপনার resolvconfপ্যাকেজ না থাকলেও উপস্থিতি স্বাভাবিক , কিছু প্যাকেজ সেখানে হুক ফেলে দেয় এবং resolvconfইনস্টল করা থাকলে এই হুকগুলি কেবল ব্যবহৃত হয়। auditctlসমস্যাটি আবার দেখা দিলে আমি লাইনটি ঠিক করেছি ।
গিলস 'অশুভ হওয়া বন্ধ করুন'

ফাইলটি কী সম্পাদনা করছে তা অনুসন্ধান করার জন্য আমি ব্যবহারকারীদের নিরীক্ষণের ধারণাটি পছন্দ করেছি তবে ফাইলটি ইতিমধ্যে সংশোধিত হওয়ার পরে মনে হচ্ছে এটির কাজটি শুরু হয়েছে।
পিটার শঙ্কাসকাস

4

একটি টার্মিনাল খুলুন এবং টাইপ করুন

sudo chattr +i /etc/resolv.conf

+ i এটি যত্ন করে যে ফাইলটি বুট থেকে আবারও রুট দ্বারা পুনরায় সংযুক্ত করা যায় না।

উপরেরটিকে পূর্বাবস্থায় ফেরাতে

sudo chattr -i /etc/resolv.conf

আরো বেশী

man chattr

এটি আমার পক্ষে কার্যকর হয়নি। নেটওয়ার্ক ম্যানেজারটি পুনরায় চালু করা এখনও ডিএইচসিপি নেমসার্ভারগুলির সাথে /etc/resolv.conf ওভাররাইট করে।
টমি

জিসিপির অভ্যন্তরে চলমান একটি ডিবিয়ান 9 ভিএমতে আমার পক্ষে কাজ করেছেন। হ্যাঁ! ধন্যবাদ!
the0th

3

আরেকটি বিকল্প যা আমি কিছুটা ভাগ্য পেয়েছিলাম এর সাথে জড়িত resolvconf

এই ফাইলে কোনও এন্ট্রি যুক্ত করুন:

/etc/resolvconf/resolv.conf.d/base

এবং তারা যোগ করা হবে /etc/resolv.conf

এই জিজ্ঞাসা উবুন্টু পোস্টিংয়ের জন্য ধন্যবাদ: আমি কীভাবে রেজলভ.কনফগুলিতে লাইনগুলি অন্তর্ভুক্ত করব যা পুনরায় বুট হবে না?


3

ইন কল করা resolv.confফাইল তৈরি করে আপডেটটি অক্ষম করিdisable_make_resolv_conf/etc/dhcp3/dhclient-enter-hooks.d

#!/bin/sh
make_resolv_conf(){
}

এটি resolv.confরিফ্রেশের জন্য দায়ী একই নামে স্ট্যান্ডার্ড ফাংশনটি প্রতিস্থাপন করে ।


1

এই মুহুর্তে তবে আমি আমার কেস পোস্ট করব কারণ এটি উপরের সমস্ত থেকে আলাদা ছিল।

আমার ক্ষেত্রে, /etc/resolv.confএটির জন্য একটি সিমিলিংক /var/run/NetworkManager/resolv.conf, এবং কোনও কারণে cat /etc/resolv.confআমাকে ত্রুটি দেয় না যে কোনও ফাইল বা ডিরেক্টরি নেই (সম্ভবত এটি খালি?)

যদি আমি এটি vi দিয়ে খুলি এবং nameserver x.x.x.xএটি যুক্ত করে তবে এটি পুনরায় বুট করার পরে পরিষ্কার হয়ে যায়।

আমি সম্পাদনা /etc/network/interfacesএবং যুক্ত করার চেষ্টা করেছি dns-nameservers x.x.x.x, পরিবর্তিত /etc/dhcp/dhclient.confএবং মুছে ফেলা হয়েছে request domain-name-servers, এছাড়াও সম্পাদিত prepend domain-name-servers x.x.x.x

রেজোলভকনফ বাইনারি ইনস্টল NetworkManager.confকরা নেই, প্রাসঙ্গিক কিছু নেই। তবে যতবারই আমি মেশিনটি পুনরায় চালু করেছি, কোনও ডোমেন সার্ভার ছিল না।

কারণটি কী তা আমি নিশ্চিত নই তবে এটি জিএনএস 3 দ্বারা শুরু হওয়া একটি ভিবিক্স মেশিন এবং ভিবিক্স সেটিং-এর অভ্যন্তরে, আমাকে কোনও ইন্টারফেস তৈরি না করেই ছেড়ে দিতে হবে বলে মনে হচ্ছে। স্পষ্টতই জিএনএস 3 ফ্লাইটে একটি "ইউডিপি ইন্টারফেস" তৈরি করে যখন আমি মেশিনটি শুরু করি, তবে শর্ত থাকে যে আমি এটি জিএনএস 3 থেকে শুরু করি।

সুতরাং, আমার অপরিসীম অনুসন্ধানের থেকে বাঁচাতে, আমি শুধু যোগ echo nameserver x.x.x.x> /etc/resolv.confকরতে /etc/profile, সমস্যার সমাধান (শুধুমাত্র মীমাংসিত কিন্তু প্রায় কাজ Hehe)। তবে যদি কেউ এর মধ্যে দৌড়ে তবে সেই দৃশ্যের সাথে কী ঘটে তা জেনে রাখা আকর্ষণীয় হতে পারে।


1

আপনার যদি ফাইল থাকে /etc/NetworkManager/NetworkManager.conf

cat /etc/NetworkManager/NetworkManager.conf

আপনি resolv.conf এর সাথে রিসেট করা বন্ধ করতে নেটওয়ার্কম্যানেজারটি কনফিগার করতে পারেন

sudo sh -c 'echo "
[main]
dns=none
" >> /etc/NetworkManager/NetworkManager.conf'
cat /etc/NetworkManager/NetworkManager.conf

এখন ম্যানুয়ালি আপনার পরিবর্তন করুন /etc/resolv.confএবং এর স্থায়িত্ব পরীক্ষা করুন

sudo systemctl restart NetworkManager
# sudo service network-manager restart
cat /etc/resolv.conf

সূত্র: https://askubuntu.com/a/623956/452398


ধন্যবাদ, ডিএনএস যোগ করে = কোনওটিই সঠিক উপায়ে সমস্যার সমাধান করে না।
টায়ার

0

আপনার ifcfg-ethX ফাইলগুলিতে কেবল এন্ট্রি করুন

DNS1 = 192.168.XX

DNS2 = 192.168.XX

DOMAIN এর = yourdomain.com

তারপরে নেটওয়ার্ক ম্যানেজার আপনার পরিষেবাগুলি পুনঃসূচনা করার পরে বা আপনার বাক্সটি পুনরায় চালু করার পরে এই রেকর্ডগুলি resolv.conf ফাইলটিতে পোস্ট করবে।


0

ঠিক একই ক্ষেত্রে কেউ পড়লে:

আমি ভুলে গেছি আমি ফাইলের অভ্যন্তরে একটি ইন্টারফেসে dhcp সেট করেছি /etc/network/interfaces

নেটওয়ার্কম্যানেজারটি তার /etc/resolv.confdhcp উত্তর থেকে পরিবর্তন করবে from

HTH


0

যখন সেখানে # Generated by NetworkManager/etc/resolv.conf

নেটওয়ার্ক ম্যানেজার কনফিগারেশন সম্পাদনা করুন:

sudo vim /etc/NetworkManager/NetworkManager.conf

মধ্যে [main]বিভাগ যোগ করুন rc-manager=unmanaged:

[main]                                                                                                                                   
rc-manager=unmanaged

কেন?

rc-manager- রেজোলভ.কনফ পরিচালনা মোড সেট করুন। ডিফল্ট মানটি নেটওয়ার্ক ম্যানেজার বিল্ড বিকল্পগুলির উপর নির্ভর করে এবং নেটওয়ার্ক ম্যানেজারের এই সংস্করণটি "সিমলিংক" এর একটি ডিফল্ট দিয়ে তৈরি হয়েছিল।

(...)

unmanaged: স্পর্শ করবেন না /etc/resolv.conf

আরও তথ্যের জন্য কনফিগার রেফারেন্স: https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html

তারপরে আপনার অ্যাচটিউড করুন /etc/resolv.confএবং যদি /etc/resolv.confঅচ্ছুত থেকে থাকে তবে নেটওয়ার্ক ম্যানেজারটি পুনরায় চালু করুন :

sudo systemctl restart NetworkManager

অথবা

sudo service network-manager restart

চেয়ে:

cat /etc/resolv.conf

কার্যপ্রণালী ব্যর্থ হয়েছে এবং যদি /etc/resolv.confনেটওয়ার্ক ম্যানেজার সময় ওভাররাইট হয় যোগ করার চেষ্টা পুনর্সূচনা dns=noneকরা [main]কনফিগ মধ্যে অধ্যায় হিসাবে https://askubuntu.com/a/1150326/364772 বলেন

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