Resolv.conf නැවත ලියන විට මගේ DNS සකසන්නේ කෙසේද?


302

මා සබැඳිව දකින බොහෝ තොරතුරු සංස්කරණය කිරීමට පවසයි /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 යනු දේශීය උදාහරණයක් බව පෙනේ dnsmasq. මෙම dnsmasqලේඛන සංස්කරණය කියන්න /etc/resolv.conf. මම අභිරුචි නාම සේවාදායකයන් දැමීමට උත්සාහ කළෙමි /etc/resolv.conf.d/base, නමුත් /etc/resolv.confධාවනයෙන් පසු වෙනස්කම් නොපෙන්වයි sudo resolvconf -u.

FYI, මට එක් එක් සම්බන්ධතා පදනම මත DNS වෙනස් කිරීමට අවශ්‍ය නැත, වෙනත් ආකාරයකින් නිශ්චිතව දක්වා නොමැති විට සියලු සම්බන්ධතා සඳහා පෙරනිමි DNS සැකසුම් සැකසීමට මට අවශ්‍යය.

යාවත්කාලීන කිරීම:

මෙම ප්‍රශ්නයට මා විසින්ම පිළිතුරු සපයන ලදි: https://unix.stackexchange.com/a/163506/67024

මම හිතන්නේ එය හොඳම විසඳුමයි:

  1. එය වැඩ කරනවා.
  2. එයට අවම වෙනස්කම් අවශ්‍ය වේ
  3. එය තවමත් dnsmasq හි DNS හැඹිලිය සමඟ සමපාතව ක්‍රියා කරයි.

1
ඔබේ ප්‍රශ්නය යාවත්කාලීන කරනවා වෙනුවට ඔබේ ප්‍රශ්නයට පිළිතුරු දීම වඩා හොඳ යැයි මම සිතමි ... ඔබේ ගැටලුවට ඔබ දුන් නිවැරදි පිළිතුර සොයා ගැනීම පහසු වනු ඇත
පිලිප් ගචූඩ්

බොහෝ පිළිතුරු උබුන්ටු-නැඹුරු හා ඕනෑවට වඩා සංකීර්ණ බව පෙනේ. NetworkManager භාවිතා කරන්නන් සඳහා විශ්ව විසඳුමක් හුදෙක් එක් කිරීමට ය dns=noneතුළ /etc/NetworkManager/NetworkManager.conf(පහත මගේ පිළිතුර විස්තර බලන්න).
Skippy le Grand Gourou

මම හිතන්නේ මෙම පිළිතුර මගින් resolutionve.conf නැවත ලිවීමට හේතුව පැහැදිලි කරයි, එවිට ඔබ එය වින්‍යාස කරන්නේ කෙසේදැයි දනී.
කාන්තාව

Answers:


263

මම විශ්වාස කරන්නේ ඔබට ඩීඑන්එස් නාම සේවාදායකය අභිබවා යාමට අවශ්‍ය නම් ඔබ පහත දැක්වෙන 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සඳහා ඉහත විස්තර කර ඇති රේඛා පහසුවෙන් baseගොනුවට එකතු කළ හැකිය head.

යොමුව


24
උබුන්ටු 14.04 - මම නාම සේවාදායකයන් තුළට baseදමා ධාවනය කරන විට resolvconf -u, නාම සේවාදායකයන් head
resolutionv.conf

7
උබුන්ටු 14.04 - එසේම මානකරන මාලාවක් සිදු අදහස් විය/run/resolvconf/interface/NetworkManager
bitsoflogic

3
ටයිප් nslookup google.comකර ලැයිස්තුවේ පළමු අයිපී ඔබේ නව නාම සේවාදායකය විය යුතුය, එසේ නොවේ නම්, ඔබ එය වැරදියි
frazras

6
උබුන්ටු 16.04: වැඩ කරන්නේ /etc/resolvconf/resolv.conf.d/headපමණක් නොවේ නම් පමණක් නොවේ base. සමඟ තහවුරු කර nslookup google.comඇත.
Acumenus

5
මුලදී, ඔබ resolvconfස්ථාපනය කර තිබිය යුතුය . කිරීමෙන් ඔබට එය ස්ථාපනය කළ හැකිය sudo apt-get install resolvconf.
MAChitgarha

80

මම ද මෙම ප්‍රශ්නය ගැන උනන්දු වන අතර යෝජිත විසඳුම අත්හදා බැලුවෙමි.

එය පරීක්ෂා කිරීම සඳහා, මම තැබුවෙමි

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

ප්රති result ලය එය /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-tooldnsserver බව සඳහන් කරයි

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. "හිස" කොටස පමණක් කියවනු ලබන්නේ විසර්වොන්ෆ් විසිනි: "පාදම" කොටස කෙසේ හෝ පාලනය වන්නේ dnsmasq විසිනි
  2. dhcp විසින් සපයන ලද සේවාදායකය නොසලකා dnsserver සැබවින්ම 8.8.4.4 ට බල කෙරෙයි, නමුත් ඉල්ලීම සැමවිටම 8.8.4.4 වෙත යවන බැවින් dnsmasq විසින් සපයන ලද හැඹිලිය ඔබ ලිහිල් කරයි.
  3. dnsmasq තවමත් dhcp විසින් සපයන ලද dnsserver භාවිතා කරයි.

සියල්ලට ම, එය ක්‍රියාත්මක වන නමුත් එය ඉල්ලූ අපේක්ෂිත ප්‍රති result ලය යැයි මම නොසිතමි. වඩාත් සමීප විසඳුමක් පහත දැක්වේ. සංස්කරණය කරන්න

sudo vim /etc/dhcp/dhclient.conf

ඉන්පසු එකතු කරන්න

supersede domain-name-servers 8.8.8.8;

ප්‍රති result ලය පහත දැක්වේ: resolutionv.conf හි ඇත්තේ 127.0.0.1 ක් පමණි, එයින් අදහස් කරන්නේ dnsmasq හැඹිලිය ආයාචනා කර ඇති අතර nm-tool පවසයි

DNS:             8.8.8.8

එයින් අදහස් වන්නේ සෙවූ නම හැඹිලියේ නොමැති නම්, එය 8.8.8.8 ට ඉල්ලනු ලබන අතර dhcp විසින් සපයන ලද සේවාදායකයේ නොවේ.

තවත් (සමහර විට වඩා හොඳ) විකල්පයක් වන්නේ “සුපර්සෙඩ්” වෙනුවට “පෙර සූදානම” භාවිතා කිරීමයි: මේ ආකාරයෙන්, නම 8.8.8.8 කින් විසඳා නොමැති නම්, ඉල්ලීම අනෙක් සේවාදායකයට නැවත වැටේ. ඇත්ත වශයෙන්ම, nm-tool පවසයි

DNS:             8.8.8.8    
DNS:             208.67.222.222
DNS:             208.67.220.220

4
එන්එස් වින්‍යාසය තුළට අනවසරයෙන් ඇතුළුවීමට වඩා හොඳ පිළිතුරක්. විශේෂයෙන් dhcp සපයන ලද ඒවා ඉදිරිපිට සේවාදායකයක් සූදානම් කිරීමේ විකල්පය. නව ඒවා නිර්මාණය නොකර, ගැටලුව විසඳීමේ පරිපූර්ණ ශේෂයක් සේ පෙනේ!
ස්ටීව් මිඩ්ග්ලි

2
විධානයක් නොව පිළිතුරට එතරම් පැහැදිලි බවක් සහ සිතුවිලි.
igaurav

3
යෝ මෑන්! "ඩොමේන්-නාම-සේවාදායකයන් අභිබවා යන්න 8.8.8.8;" පිළිතුර
ජැක්

Nm-tool වෙනුවට nmcli
Bux

61

dnsmasqපහත දැක්වෙන පේළි එකතු කිරීමෙන් ඔබට භාවිතා කරන නාම සේවාදායකයන් වෙනස් කළ හැකි බව මම සොයා ගතිමි /etc/dnsmasq.conf:

server=8.8.8.8
server=8.8.4.4

මා සතුව /etc/dnsmasq.confගොනුවක් නොතිබුණි , මන්ද එය ස්ථාපනය කර ඇත්තේ dnsmasq පැකේජයෙනි, නමුත් උබුන්ටු පැමිණෙන්නේ dnsmasq-base සමඟ පමණි. මම දිව්වා 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 සේවාදායකයේ සීතල ඇරඹුමෙන් අඩක් පමණ URL එකක් භාවිතා කරමින් අන්තර්ජාල සම්බන්ධතාවයක් නොලැබෙන නමුත් IP ලිපිනයක් ක්‍රියා කරයි. එය නිවැරදි කිරීමට මම බොහෝ කාලයක් less ල රහිතව උත්සාහ කළෙමි, මාස ගණනක් අත්හැරියෙමි, පසුව මෙම විසඳුම සොයා ගතිමි. මමත් හිතන්නේ එය හොඳම පිළිතුර බවයි.
නේට් ලොක්වුඩ්

Dnsmasq ස්ථාපනය කිරීම කුතුහලය දනවන කරුණකි. මෙය ඇත්ත වශයෙන්ම මගේ ඩීඑන්එස් සාමාන්‍ය තත්වයකට සවි කර ඇත, නමුත් එය මගේ
වීපීඑන්

Centos
stiv

23

ස්ථිතික IP තත්වයන් සඳහා, උබුන්ටු සේවාදායක මාර්ගෝපදේශය පවසන්නේ ගොනුව / etc / network / අතුරුමුහුණත් වෙනස් කරන ලෙසයි, එය මේ ආකාරයට විය හැකිය:

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 IP වෙනස් කරන්න

https://help.ubuntu.com/14.04/serverguide/serverguide.pdf පිටුව 38


මෙය නිසැකවම නිවැරදිව පෙනේ, නමුත් මම දැන් resolv.conf නැවත උත්පාදනය කරන්නේ කෙසේද?
ජොයෙල් බර්ජර්

3
O ජොයෙල්බර්ගර් ifdown eth0; ifup eth0.
ඩැසෝ නෝර්ටන්

Centos හි / etc / network / interfaces නැත
stiv

17
  1. 'ජාල සම්බන්ධතාවය' සොයන්න
  2. එය විවෘත කරන්න

                        රූප විස්තරය මෙහි ඇතුළත් කරන්න

  3. ඉන්පසු වයිෆයි හෝ ඊතර්නෙට් හෝ ඔබ භාවිතා කරන ඕනෑම දෙයක් තෝරාගෙන සංස්කරණය මත ක්ලික් කරන්න. ඔබට මෙය ලැබෙනු ඇත:

                  රූප විස්තරය මෙහි ඇතුළත් කරන්න

  4. ටැබ් වල ipv4 තෝරන්න

  5. ලිපින ක්‍රමයෙන් පමණක් තෝරන්න
  6. ඔබගේ DNS නම පහතින් ඇතුළත් කර එය සුරකින්න

  7. ඔබ ඉවරයි


සෑම ජාල සම්බන්ධතාවයක් සඳහාම මට මෙය කිරීමට සිදුවේ. අතීතයේදී ඔබට සියලු සම්බන්ධතා සඳහා පෙරනිමිය වෙනස් කළ හැකිය, එයයි මා මෙහි කිරීමට බලාපොරොත්තු වූයේ.
සීන් හේස්

2
මම ඔයාට ආදරෙයි! මෙම යූඅයි සැකසුම මගේ බූරුවා සුඩෝ සහ විස්මිත අවුල් වලින් බේරා ගත්තේය: '(
ලූක්

මින්ට් භාවිතා කිරීම (උබුන්ටු 14.04 හි) - නමුත් මෙය KDE සමඟ ද දැක ඇත - කිසියම් හේතුවක් නිසා, GUI ජාල කළමනාකරු තුළ DNS සේවාදායකයන් සැකසීම පර්යන්තයක භාවිතා වන DNS සැකසුම් වලට බලපාන්නේ නැත
HorusKol

2
හොඳම පිළිතුර imho. උබුන්ටු 14.04 හි මගේ නිවසේ ජාලය තුළ සේවාදායකයින් හඳුනා නොගන්නා ඩීඑන්එස් සඳහා බාහිර IP ලිපින 2 ක් මට ලැබුණි. පෙරදිග රටකින් සම්බන්ධතාවය සඳහා 'Automatic (DHCP) යන්න' මත ක්රමය හැර එකතු පවතින ලැයිස්තුවට මගේ මෙහෙදී රවුටර වල IP-තැපැල් ලිපිනය. Wlan0 හරහා රැහැන් රහිත සම්බන්ධතාවය සඳහා, එය ක්‍රියාත්මක නොවීය, නමුත් 'ස්වයංක්‍රීය (DHCP) ලිපිනවල ක්‍රමය' බාහිර ලිපින වෙනුවට මගේ රවුටරය IP සමඟ ආදේශ කර ඇති අතර පසුව එයද ක්‍රියාත්මක විය. සමඟ වෙනස්කම් යොදන්න sudo service network-manager restart, ටිකක් රැඳී සිටින්න, සත්‍යාපනය කරන්න nmcli d list | grep 'DNS\|IP-IFACE'. ඔබේ අභ්‍යන්තර සේවාදායකයා නමින් පිං කරන්න.
RolfBly

15

තවම සඳහන් කර නැති ඉක්මන් හා අපිරිසිදු ක්‍රියාමාර්ගයක් වන්නේ resolv.confගොනුව සංස්කරණය කිරීමෙන් පසු වෙනස් කළ නොහැකි ධජය සැකසීමයි .

$ sudo nano /etc/resolv.conf

මෙය එකතු කර සුරකින්න:

nameserver 8.8.8.8

ඉන්පසු:

$ sudo chattr +i /etc/resolv.conf

එය කළ යුත්තේ උපක්‍රමයයි. මම මෙය මගේ පද්ධතියේද කරන්නෙමි.


20
ඔබේ විසඳුමට චැට්ර් සම්බන්ධ වන ඕනෑම වේලාවක එය විසඳුමක් නොවේ.
ජෙෆ් ජිර්සා

1
කිසියම් හේතුවක් නිසා ඩීඑන්එස් තාවකාලිකව වෙනස් කිරීමට අවශ්‍ය වන සහ වින්‍යාසය වෙනස් කිරීමට අවශ්‍ය නොවන පද්ධතිවල මා කරන්නේ මෙයයි. ස්ථිර විසඳුමක් ලෙස මම එය නිර්දේශ නොකරමි.
hochl

3
"ඉක්මන් හා අපිරිසිදු වැඩ කිරීම"
යුනිස් බෙන්සාලා

11
මෙය අපිරිසිදු නොවේ. දේශීය වින්‍යාසය විනාශ කරන වැඩසටහන් ඔවුන් වඩා හොඳින් දන්නා බව සිතන නිසා ඒවා අපිරිසිදු ය.

14

ලිනක්ස් යටතේ DNS වින්‍යාසය

ලිනක්ස් හි ඩීඑන්එස් භාවිතය අන්තර්ජාල පුස්තකාල වසම් පද්ධතියට (ඩීඑන්එස්) ප්‍රවේශය සපයන සී පුස්තකාලයේ ක්‍රියාකාරකම් මාලාවක් හරහා සිදු කෙරේ . විසදුම් වින්‍යාස ගොනුවේ ( resolv.conf) ක්‍රියාවලියක් මඟින් පළමු වරට ආයාචනා කරන විට විසඳුම් විසඳුම් මඟින් කියවන තොරතුරු අඩංගු වේ. කෙටියෙන් කිවහොත් ඩීඑන්එස් ඉල්ලා සිටින සෑම ක්‍රියාවලියක්ම /etc/resolv.confපුස්තකාලය හරහා කියවනු ලැබේ . එන්එස්එස් මෙයට ඉහළින් ස්ථර කොට ඇති අතර එය වින්‍යාස කර /etc/nsswitch.confඇත.

ලිනක්ස් ඩීඑන්එස් වින්‍යාසය ගොනුවේ පිහිටා ඇත, /etc/resolv.conf නමුත් ඩීඑන්එස් වින්‍යාස ගොනුව ස්වයංක්‍රීයව කළමනාකරණය කිරීමට සහ හැසිරවීමට අවශ්‍ය වැඩසටහන් / සේවාවන් ගණනාවක් තිබේ /etc/resolv.conf. සමහර අවස්ථා වලදී ඔබට මෙම ගොනුව ඔබම කළමනාකරණය කිරීමට අවශ්‍ය විය හැකිය. සෑම වැඩසටහනකටම / සේවා කළමණාකරනයකටම /etc/dnsmasq.conf(dnsmasq සේවාව සඳහා) වැනි වින්‍යාස ලිපිගොනු ඇති අතර සම්බන්ධතා වෙනස් කිරීමේදී සහ / හෝ වෙනත් සිදුවීම් වලදී DNS වින්‍යාසය එකතු කරයි ... ඉක්මන් විසඳුමක් වන්නේ DNS වින්‍යාස ගොනුව අගුළු දැමීමයි, chattr +i /etc/resolv.confනමුත් මෙය නිර්දේශ නොකරයි යම් අවස්ථාවක දී, වඩා හොඳ විසඳුමක් වන්නේ (dnsmasq / network-manager / resolvconf / etc) වැනි DNS භාවිතා කරමින් සියලුම වැඩසටහන් / සේවාවන් නිවැරදිව සැකසීමයි.

ආපසු ලබා ගැනීම DNS පාලනය

මෙහි අග්ර සැකසුම පිළිබඳ සවිස්තරාත්මක ලැයිස්තුවක් වේ resolv.conf පාලනය නැවත ලබා ගැනීමට (එය උඩින් ලීවීම සහිත හා වැලැක්විමට resolv.conf හැර අනෙකුත් ස්ථානයක සිට ආකාරය අක්රීය / සැකසුම DNS සඳහා ) සටහන resolvconf ද, resolv.conf සිට ස්වාධීන වැඩසටහන බව ඔබේ පද්ධතිය / වින්‍යාසය මත පදනම්ව ඔබට මෙහි ලැයිස්තුගත කර ඇති වැඩසටහන් එකක් හෝ කිහිපයක් නොතිබිය හැකිය.

1. Resolvconf:

ගොනු වින්‍යාස කරන්න

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

Resolvconf අක්‍රීය කරන්න

systemctl disable --now resolvconf.service 

2. Dnsmasq සේවාව:

ගොනු වින්‍යාස කරන්න

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

වින්‍යාසය යාවත්කාලීන කරන්න

sudo systemctl restart dnsmasq.service

3. ජාල කළමනාකරු:

ගොනු වින්‍යාස කරන්න

/etc/NetworkManager/*

DNS අක්‍රීය කරන්න

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

DNS සක්‍රීය කරන්න

$ 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

Resolvconf භාවිතා කරන්න

$ 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. DHCP සේවාදායකයා:

ගොනු වින්‍යාස කරන්න

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

වින්‍යාසය යාවත්කාලීන කරන්න

reboot

6. Rdnssd සේවාව:

Rdnssd අක්‍රීය කරන්න

systemctl disable --now rdnssd.service

7. විසඳූ සේවය:

විසඳා ඇති අක්‍රීය කරන්න

systemctl disable --now systemd-resolved.service

8. Netconfig:

ගොනු වින්‍යාස කරන්න

/etc/sysconfig/network/config

Netconfig අක්‍රීය කරන්න

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

වින්‍යාසය යාවත්කාලීන කරන්න

reboot

DNS සේවාදායකය සැකසීම

/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

11

මගේ ගැටළුව ටිකක් වෙනස් විය, මගේ රවුටර DNS සේවාදායකය අභිබවා යාමට මට අවශ්‍ය විය. මට මෙම සබැඳිය උබුන්ටු වෙතින් හමු විය: https://wiki.ubuntu.com/OverrideDNSServers

එය මෙසේ කියයි: DHCP සේවාදායකයක් මඟින් ඔබට ලබා දී ඇති DNS සැකසුම් අභිබවා යාමට ඔබ කැමති නම්, විවෘත කරන්න

/etc/dhcp3/dhclient.conf

පහත පේළිය එක් කරන්න:

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

<dns_ip_address*>අයිතම නිසි අන්තර්ගතයෙන් ප්‍රතිස්ථාපනය කිරීම .


මගේ ප්‍රශ්නය විසඳූ පිළිතුර මෙයයි.
මයිකල්

1
පරිපූර්ණ. වෙනස්කම් සක්‍රීය කිරීම සඳහා ඔබ සුඩෝ සේවා ජාලකරණ නැවත ආරම්භ කළ යුතු බව එක් කිරීම.
නික් ට්‍රයැන්ටෆිලෝ

1
අපට එම dhcp3ෆෝල්ඩරය නොමැති නම් කුමක් කළ යුතුද ? මට Xubuntu 17.10 ඇත, එය /etc/dhcpසරලවම මාරු වී තිබේද?
PlasmaBinturong

CasePlasmaBinturong මගේ නඩුවේ එය /etc/dhcp/dhclient.confනවතම ඩේබියන් සහ උබුන්ටු අනුවාද වල විය.
baptx

4

සමහර විට මට යමක් මග හැරී ඇත, නමුත් https://help.ubuntu.com/14.04/serverguide/network-configuration.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 වන පිටුවේ දක්වා ඇති ක්‍රමය මෙයයි .
සූක්

1
සඳහන් නොකළ අත්පොත සියලුම අයිපී එක පේළියක පෙන්වයි. මෙම පිළිතුර පේළියක් එක් කිරීමට යෝජනා කරන බව පෙනේ. අන්තිම අංකය එක් X පළලක් පමණක් වන්නේ ඇයි? මම හිතන්නේ එය බොහෝ දුරට අවිධිමත් හා අවිනිශ්චිත කෙටි කතාබස් ලිවීමකි.
සීස් ටිමර්මන්

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

ඔබට දැන් Gnome හි ජාල කළමනාකරුගෙන් පවා සැකසුම් සංස්කරණය කිරීමට හැකි විය යුතුය. :)

මෙය පැරණි උබුන්ටු වල වැඩ කරයිදැයි විශ්වාස නැත, නමුත් එය උබුන්ටු 17.10 මත සිදු වේ.


අප systemd-resolve --flush-cacheමුල් සම්බන්ධිත ගොනුව ක්‍රියාත්මක කරන විට පෙනෙන පරිදි, ඉහත පිළිතුර මුල් ක්‍රියාකාරිත්වය යථා තත්වයට පත් කරයි
hafizhanindito

1

මැයි 6,2016 සංස්කරණය කරන්න

/etc/Network-Manager/system-connections/නාමාවලියෙහි පද්ධති සම්බන්ධතා සඳහා සියලු සැකසුම් යාවත්කාලීන කිරීමට මම ස්ක්‍රිප්ට් එකක් ලියා ඇත . තනි සම්බන්ධතා සංස්කරණය කිරීමට ඔබ භාවිතා කරන GUI, එම නාමාවලියෙහි විශේෂිත ගොනුවක් සංස්කරණය කරයි. ස්ක්‍රිප්ට් මඟින් සියලුම ලිපිගොනු යාවත්කාලීන කරයි - එය gns සමඟ dns සකසා නොමැති අය සොයමින් එය අවදි කරයි.

එම ලිපිගොනු වෙත ප්‍රවේශ වීමට 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.dIP ලිපින පමණක් වැඩ - මගේ පරිගණකය ඇත්තටම ප්රවේශ ඩොමේන් නාමය විසින් සිර නොහැකි විය.

මම කළේ /etc/NetworkManager/NetworkManager.confගොනුව සංස්කරණය කිරීමයි . මුලදී, එය පැවසූ dns=dnsmasqනමුත් මම එය වෙනස් කළේ:dns=208.67.222.222 . මේ ආකාරයෙන්, nm-tool208.67.222.222 ගැන සඳහන් නොකලද, මට තවමත් IP ලිපින පමණක් නොව ඩොමේන් නාම භාවිතා කිරීමට හැකි විය.

මෙන්න මගේ 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ඇත්ත වශයෙන්ම dnsmasq ප්ලගිනය නෙට්වර්ක් මැනේජර් වෙත එක් කරයි.

ඒ නිසා මගේ විසඳුම තවමත් ක්‍රියාත්මක වූවා මිස මා බලාපොරොත්තු වූවාක් මෙන් නොවේ. මෑන් පිටුවෙන් උපුටා ගැනීම මෙන්න:

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

DNS ප්ලගීන භාවිතා කරනුයේ දේශීය හැඹිලි නාම සේවාදායකයේ ක්‍රියාකාරිත්වය (DNS විමසුම් වේගවත් කරයි) සහ DNS දත්ත එය භාවිතා කරන යෙදුම් වෙත තල්ලු කිරීමට ය.

එබැවින් සැකසීමෙන් dns=208.67.222.222, මූලික වශයෙන්, ජාල කළමණාකරුට එම ප්ලගිනය භාවිතා කිරීම වලක්වා ඇති අතර, එය වෙනත් ආකාරයකින් දේශීය ඩීඑන්එස් සේවාදායකය භාවිතා කරයි (පෙනෙන ආකාරයට එය ක්‍රියා නොකරයි).


1

ඇත දෙක ක්රම

ක්රමය 1

භාවිතා කිරීමට ඇති DNS සේවාදායකය 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, dnsmasq විසින් සපයන ලද හැඹිලි බලය නැති වී යයි. සෑම ඉල්ලීමක්ම වෙත යනු ඇත1.1.1.1

ක්රමය 2

ඉහත සිදුවීමට ඔබට අවශ්‍ය නැතිනම් DNS විභේදන සඳහා dnsmasq භාවිතා කරන්න නම් මෙම පිළිතුර බලන්න. පිළිතුර සරලව මෙහි විස්තර කර ඇත.

/etc/dnsmasq.confගොනුවේ පහත අන්තර්ගතය එක් කරන්න .

server = 1.1.1.1

ඉන්පසු dnsmasq සේවාව නැවත ආරම්භ කරන්න

$ sudo systemctl restart dnsmasq.service

දේවල් හොඳින් ක්‍රියාත්මක වේ. විසඳා ඇත.


0

DNS වෙනස් කිරීමට පහසුම ක්‍රමය:

$ 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 ක් රැඳී සිටින්න, ඔබේ වින්‍යාසය "nslookup nist.gov" සමඟ පරීක්ෂා කරන්න. උබුන්ටු එල්ටීඑස් 14.04 හි හොඳින් ක්‍රියා කරයි.


0

සැ.යු: බොහෝ පිළිතුරු මෙන්, මෙයද නෙට්වර්ක් මැනේජර් භාවිතය උපකල්පනය කරයි. කෙසේ වෙතත්, අනෙකුත් බොහෝ පිළිතුරු මෙන් නොව, එය භාවිතය උපකල්පනය කරන්නේ නැහැ resolvconf, dhclientහෝ වෙන කිසිම දෙයක් - නමුත් (යාවත්කාලීන බලන්න) ඔවුන්, කට ගත වන බව පරෙස්සම් වන්න.

මෙම ප්‍රශ්නයේ අදහස් ගණන අනුව, මෙම අක්ෂර 8 විසඳුම තවම පළ කර නොමැති බව විශ්වාස කළ නොහැකි ය: අනුව man NetworkManager.conf,

dns: […] none: NetworkManager විසින් resolutionv.conf වෙනස් නොකරනු ඇත. මෙයින් ගම්‍ය වන්නේ rc-manager කළමනාකරණය නොකළ බවයි

එබැවින් එකතු කරන්න

dns=none

තුළ [main]වගන්තිය /etc/NetworkManager/NetworkManager.confපසුව NetworkManager නැවත ආරම්භ එය වෙනස් නොවනු ඇත/etc/resolv.conf තවදුරටත්.

සැකසුම බව සටහන rc-manager=unmanagedසමාන විය යුතු dns=noneඅතර, එම සැකසුම rc-manager=symlinkසහිත සමග /etc/resolv.confසංකේතාත්මක පුරුකක් ලෙස (ඉහත සඳහන් manpage කියවීමට) වඩා හොඳ අදහසක් විය හැක.

යාවත්කාලීන කිරීම:

නෙට්වර්ක් මැනේජර් නැවත ලිවීම නැවැත්වූ පසු, ආරම්භයේදී නිෂ් less ල හිස් ගොනුවක් මගින් දැනටමත් ප්‍රතිස්ථාපනය වෙමින් පවතින බව /etc/resolv.confමම සිතුවෙමි . උදව් කළ පිටපත , එකතු කිරීමට ප්‍රමාණවත්dhcpcd/etc/resolv.confdhcpcd.conf

nohook resolv.conf

ඔබේ dhcpcd.conf(මගේ ඇතුළත /etc/dhcpcd.conf)


0

එයට හේතුව විශේෂිත ස්ථාපිත යෙදුමක් මෙම ගොනුව කළමනාකරණය කිරීමයි. ඔබට එම යෙදුම අස්ථාපනය කිරීමට හෝ එම යෙදුම හරහා ඔබට අවශ්‍ය විකල්ප සෘජුවම සැකසිය හැකිය.

මගේ නඩුවේ (ලිනක්ස් සෙන්ටෝස් 7 අවම සේවාදායකය) එකම තත්වයක් ඇති බැවින් මම ගොනුවේ # Generated by NetworkManagerඉහළින්ම resolv.confසිටිමි, එබැවින් මට මෙම විකල්පය වෙනස් කළ හැකි හොඳම ක්‍රමය භාවිතා කිරීමයි

nmtui

විධානය. ඔබට මෙම මෙවලමෙහි නාම සේවාදායකයන් සංස්කරණය කළ හැකි අතර, ඔබ මෙම උපයෝගීතාවයෙන් ජාල කළමණාකරුගේ විකල්ප වෙනස් කළ විට ඒවා /etc/resolv.confනැවත ආරම්භ කිරීමෙන් පසු ස්වයංක්‍රීයව යොදනු ලැබේ . මෙහිදී ඔබට තවත් තොරතුරු සොයාගත හැකිය .

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.