這篇文章來源于DevicePlus.com英語網站的翻譯稿。如果您正在尋找用于家庭或小型企業網絡的DNS服務器,Raspberry Pi將會是一個便宜、可靠且節能的選擇。
首先,讓我們來了解一下什么是DNS服務器。
究竟什么是DNS服務器?
DNS代表“域名系統”。DNS服務器將人性化的域名轉換為計算機可以使用的IP地址。
這樣您就可以通過輸入“deviceplus.com”來訪問這個網站了,而不是IP地址13.52.144.235—誰能記得住呢?
更好的一點是,如果我們將此網站移至具有新IP地址的新服務器,我們只需要更新我們的DNS記錄即可,其他人不會受到影響。
擁有您自己的DNS服務器的好處
只要網站加載了出來,您就已經在使用DNS服務器了。
您的互聯網供應商幾乎都是允許您使用他們的DNS服務器的,如果您對此不滿意,可以隨時使用公共DNS服務器。
這也許就是您想要自己的DNS服務器的原因。
提升您的網頁瀏覽速度
從您的本地網絡獲取某些內容總是比從互聯網上獲取要快。前者有時可以將頁面加載時間縮短幾百毫秒。這不會給生活帶來什么改變,但是效果是顯著的。
而這種加快只有在您的本地DNS服務器已經有相關記錄的情況下才有效。否則,仍然必須從互聯網上獲取內容。
在本地網絡上保持整個DNS一直更新是不切實際的。相反,服務器會將這些記錄進行緩存,直到它們的“生存時間”值(TTL)到期。
大多數操作系統和網絡瀏覽器也會在您的計算機上緩存這些相同的記錄,因此如果它只是一臺使用了互聯網連接的計算機,那么擁有自己的DNS服務器并不會帶來任何區別。
當多個擁有多臺設備的人在本地網絡上,并共享互聯網連接時,自己擁有DNS服務器會更有意義。這種情況下,將所有內容緩存在一個地方將可以減少需要離開網絡的請求數量。
將域加入黑名單
如果您想完全阻止某些域,使用DNS服務器將會非常好用且高效。一些政府以這種方式審查整個國家的網絡。
作為家長,您可能希望以同樣的方式阻止您的孩子訪問特定網站。請注意,這僅在他們通過該網絡訪問互聯網時有效,并且許多孩子已經有足夠的專業知識通過配置一個不同的DNS服務器來規避這一點了。
您可能還想阻止某些您覺得具有侵擾性或者令人生厭的域。
甚至還有一個用于Raspberry Pi的DNS服務器程序,叫Pi-Hole,可以立即阻止廣告。
添加自定義域
您還可以為本地網絡上的設備提供各自的域名,僅對其他本地機器可見。
您可以為打印機、媒體中心,甚至冰箱和咖啡機(如果它們連接到了您的網絡中)命名。
這將使您不必追蹤辦公室或家中所有設備的IP地址。
了解更多有關互聯網的信息
也許您只是想更好地了解一下DNS,但是學習DNS的話也是必要了解一下互聯網的。
確保您的Raspberry Pi具有保留IP
如果您的Raspberry Pi DNS服務器有一個動態分配的IP,那將會很頭疼。每隔一段時間,它就會被分配一個不同的IP地址,網絡上的其他設備也將不再連接到它。
這就是為什么您要為這個Raspberry Pi保留一個IP。您可以通過登錄路由器的儀表板來執行該操作。
這一部分的確切步驟會因您的設備不同而略有不同。如果您遇到困難,請使用搜索引擎查找您設備的手冊。
設置您的操作系統并安裝Dnsmasq
現在您的設備已經有了固定IP,讓我們開始安裝將要使用的軟件:Dnsmasq。
最好從重新安裝一個Raspberry Pi OS開始。您也許希望更改默認密碼,并在raspi-config中設置ssh訪問。
首先,通過輸入以下內容更新您的操作系統:
sudo apt update && sudo apt upgrade -y
然后安裝Dnsmasq.
sudo apt install dnsmasq -y
就是這樣!現在您就擁有一個DNS服務器了!
配置Dnsmasq
您可以開始向Raspberry發送DNS請求了,但是需要對默認設置進行調整才能發揮最大作用。輸入以下命令打開配置文件:
sudo nano /etc/dnsmasq.conf
這個文件對有用的命令有詳細的注釋,所以您可以盡情查閱對其進行了解。有幾個部分需要特別注意。
不要將本地流量轉發到上游服務器
在配置文件的頂部附近,您會發現寫有“#domain-needed”和“#bogus-p”的行。
設置#domain-needed選項將會阻止DNS服務器向上游尋找不在域中的主機,而bogus-priv選項將會阻止它向上游查找私有IP地址。
在公司網絡上,也許您會想在上游服務器中查找這些東西。但是在公共互聯網上尋找它們沒有任何意義,所以我們使用這些選項。
您可以通過刪除行開頭的注釋符號來應用它們。
配置上流DNS服務器
向下滾動,并查找顯示“#no-resolv”的行。刪除注釋字符以應用該選項。往下幾行后,有一行顯示“#server=/localnet/192.168.0.1”,刪除這一行。我們將要輸入自己的設置。
我通常使用Google的DNS服務器。它們的快速可靠會帶來幫助,但是老實說,這主要是因為IP地址非常容易記住。
對此的配置如下:
server=8.8.8.8
server=8.8.4.4
如果您不想使用Google服務,那么可以使用您的互聯網供應商或其他公共DNS服務器。例如CloudFlare。
添加自定義域和阻止域
往下不遠的地方有一行顯示“#address=/double-click.net/127.0.0.1”。
這對于將域分配給本地網絡上的設備很有用。公共互聯網上未使用的任何內容都可以,我通常為其使用頂級域.lan。
復制這一行的語法。在本項目中,是將我的媒體和復古游戲裝備放置在了retropie.lan上,如下所示:
address=/retropie.lan/192.168.0.6
不要忘記為路由器中對應的設備保留這些IP地址。
您還可以在此處阻止特定域,方法是將它們定向到私人IP。
address=/www.nickelback.com/127.0.0.1
如果您對阻止廣告服務器更感興趣,那么可以很容易在網上找到列表。
您可以隨意將域定向到公共IP。這對于網站在上線前測試網站遷移很有用。
請注意,這些域僅用于使用此DNS服務器的設備。如果您想要一個域名出現在公共DNS上,您必須購買它。
設置緩存大小
默認情況下,Dnsmasq將緩存最多150條記錄。即使是非常輕量的網絡瀏覽器也可以將其占滿。
該緩存保存在內存中,如果空間太大會影響性能。
但是我們在這里服務的是一個小型網絡,現在的內存比幾十年前編寫Dnsmasq時更加充足,而且這些記錄每個只使用100個字節。我們可以在其中放入幾兆字節的內容。
向下滾動到顯示“#cache-size=150”的地方,您需要向下滾動得多一些。刪除前面的注釋字符并將該數字設置的更大。
我只是添加了幾個零,以使其成為15000,這比小型網絡的DNS服務器緩存的記錄要多得多。
完成配置編輯后
當您對設置感到滿意時,保存并退出,然后輸入以下內容重新啟動服務:
sudo systemctl restart dnsmasq
配置您的設備以使用該DNS服務器
現在您的DNS服務器已經啟動并運行,我們來開始使用它。
將其配置為整個網絡的默認DNS服務器的最簡單方法是在路由器中進行配置。
計算機和其他設備通常也可以在設置或控制面板中單獨進行配置。
設置自動安全更新
不要對這里的安全兩個字大意。DNS服務器可能會是線上犯罪分子的重要目標,他們可以將您重定向到惡意站點。
我們已將其設置為只能從您的本地網絡內訪問,這降低了很多風險。但是自動應用安全更新仍然是一個好主意。
有一個便利的軟件包可以為我們執行該操作,叫無人職守自動更新軟件。我們來安裝它。
sudo apt install unattended-upgrades -y
該安裝包在Raspberry Pi OS Buster中的默認配置是每天進行安全更新。
如果您還沒有更改默認密碼,也不要忘記更改!為SSH訪問設置基于證書的身份驗證也是一個很好的主意。
審核編輯:湯梓紅
-
服務器
+關注
關注
12文章
9643瀏覽量
87150 -
DNS
+關注
關注
0文章
222瀏覽量
20243
發布評論請先 登錄
云服務器需要網絡嗎?怎么設置
【教程】DNS域名解析服務systemd-resolved使用指南

Raspberry Pi Pico 2

Banana Pi M5 與 Raspberry Pi 4 – 基準測試

DNS服務器的起點:根服務器
請問如何強制DHCP服務器以空網關和DNS地址進行響應?
如何獲取DNS服務器IP?
如何將ESP用作Internet交換機?
如何檢查DNS配置及其重要性

評論