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