如何搭建liunx伺服器及應用「liunx伺服器搭建教程」

在Ubuntu/Debian上設置永久DNS域名伺服器

瀏覽器之DNS解析過程詳解

在Linux上設置自定義DNS伺服器可以提高性能和安全性,甚至可以通過DNS阻止一些使用地理屏蔽的網站。有幾種方法可以做到這一點,包括在許多Linux發行版中包括的Network ManagerGUI,如Debian、Ubuntu和衍生物,以及現在作為標準包含在Ubuntu 20.04中的Netplan;或者使用resolv.conf(不是直接,而是通過head文件)。

/etc/resolv.conf是DNS名稱解析庫的主要配置文件,解析器是C庫中的一組函數,提供對Internet域名系統(DNS)的訪問,它的功能是檢查/etc/hosts文件中的條目,或多個DNS名稱伺服器,或使用主機的網路信息服務(NIS)資料庫。

在使用systemd(系統和服務管理器)的現代Linux系統上,DNS或名稱解析服務通過systemd-resolved服務提供給本地應用程序,默認情況下,該服務有四種不同的方式來處理域名解析,默認模式下使用systemd DNS stub文件(
/run/systemd/resolve/stub-resolv.conf)。

如果你運行ls命令查看/etc/resolv.conf,你可以看到是一個符號鏈接指向
/run/systemd/resolve/stub-resolv.conf

$ ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Feb 15  2018 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

因為/etc/resolv.conf是由systemd-resolved服務間接管理的.在某些情況下,是通過network service(通過使用initscriptsNetworkManager),用戶手動做的任何更改都不能永久保存或只持續一段時間。

在本文中,我們將展示如何安裝和使用resolvconf程序在/etc/resolv.conf文件中設置永久DNS域名伺服器.

resolv.conf文件在每次引導時都會被覆蓋,所以我們不能直接編輯這個文件,但是我們可以通過編輯head和base文件來創建resolv.conf。我們編輯head文件,以便每次啟動resolv.conf在頂部用我們自定義的DNS server。

為什麼要編輯/etc/resolv.conf文件?

主要原因可能是系統DNS設置配置錯誤,或者您喜歡使用特定名稱的伺服器或您自己的伺服器,下面的cat命令顯示了我的Ubuntu系統的/etc/resolv.conf文件中的默認名稱伺服器。

$ cat /etc/resolv.conf

nameserver 127.0.0.53

在這種情況下,我們訪問域名就會出現解析失敗。

因此,當用戶試圖手動設置DNS伺服器時,更改不會持續很長時間,或者在重新啟動後會撤銷。要解決這個問題,您可以安裝並使用reolvconf實用程序使更改永久性。

nameserver 8.8.4.4
nameserver 8.8.8.8

在Ubuntu和Debian中安裝resolvconf軟體包

取決於你使用的是哪個版本的Ubuntu/Debian, resolvconf可能安裝也可能沒有安裝,所以在繼續之前讓我們檢查一下

sudo systemctl status resolvconf.service

如果您得到以下消息”Unit: resolvconf.service could not be found”(服務未找到),那麼你就需要安裝resolvconf

如果您得到以下消息 「Active: active (exited)」 ,那麼說明 resolvconf已經安裝,則可以跳過後面的安裝步驟。

然後通過運行以下命令更新系統軟體包,然後從官方存儲庫安裝resolvconf

sudo apt update
sudo apt install resolvconf

一旦resolvconf安裝完成,systemd將觸發resolvconf。服務將自動啟動和啟用。要檢查它是否啟動並運行,請執行以下命令

sudo systemctl status resolvconf.service

如果由於未知原因導致服務未自動啟動和啟用,您可以通過如下方式啟動和啟用服務

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

在最後一條命令之後,您應該看到「Active: Active (exited)」消息。

在Ubuntu和Debian中設置永久DNS伺服器

接下來我們打開
/etc/resolvconf/resolv.conf.d/head
配置文件

sudo nano /etc/resolvconf/resolv.conf.d/head

然後添加下面兩行(我使用谷歌的DNS伺服器)

nameserver 8.8.8.8 
nameserver 8.8.4.4

然後Ctrl+o 保存, Ctrl+x退出,重新啟動resolvconf服務或重啟系統.

$ sudo systemctl start resolvconf.service

我們需要更新resolv.conf以使用新的名稱伺服器。輸入以下代碼

sudo resolvconf --enable-updates
sudo resolvconf -u

現在,當我們查看/etc/resolv.conf文件時,nameserver條目就被寫入了。

nameserver 8.8.8.8 
nameserver 8.8.4.4
nameserver 127.0.0.53

免費DNS提供商

在更改DNS伺服器之前,您需要找到第三方DNS提供商,有很多好的(和免費的)服務可用。我推薦谷歌DNS,這是我使用的,從來沒有出現過問題。我將在這裡列出最流行的DNS提供商

  • GOOGLE
  • Primary IPv4: 8.8.8.8
  • Secondary IPv4: 8.8.4.4
  • Preferred IPv6: 2001:4860:4860::8888
  • Alternate IPv6: 2001:4860:4860::8844
  • OPENDNS
  • Primary: 208.67.222.222
  • Secondary: 208.67.220.220
  • Preferred IPv6: 2620:0:ccc::2
  • Alternate IPv6: 2620:0:ccd::2
  • DNS.WATCH
  • Primary: 84.200.69.80
  • Secondary: 84.200.70.40
  • LEVEL3
  • Primary: 209.244.0.3
  • Secondary: 209.244.0.4
  • NORTON
  • Primary: 199.85.126.10
  • Secondary: 199.85.127.10
  • COMMODO
  • Primary: 8.26.56.26
  • Secondary: 8.20.247.20
  • VERISIGN
  • Primary: 64.6.64.6
  • Secondary: 64.6.65.6

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/280080.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-20 18:54
下一篇 2024-12-20 18:54

相關推薦

發表回復

登錄後才能評論