Linux 下 DNS 汙染解決辦法

2021-07-16 07:48:51 字數 1418 閱讀 8114

軟體:dnsmasq

dns測試:

dig www.facebook.com @8.8.8.8 +short

37.61.54.158

在wiki詞條網域名稱伺服器快取汙染中可以發現37.61.54.158在虛假ip位址中,說明此dns已遭汙染。

dig www.facebook.com @208.67.222.222 -p 443

31.13.79.49

31.13.79.49為facebook的正確位址。google的dns服務不支援特殊埠查詢,但opendns支援,其ip為208.67.222.222,208.67.222.220,支援的特殊埠為443,5353。

在ubuntu中,我們可以用dnsmasq來指定被汙染ip用特殊埠查詢.

從ubuntu 12.04開始網路管理器預設開啟了dnsmasq,但出於安全的考慮沒有開啟其快取功能。這個改動至少在我這裡導致了一些問題,比如偶爾出現網速變慢。經過嘗試,可以完全禁用該服務,或者設定使用谷歌dns服務,同時開啟dnsmasq的本地快取(可以大幅提高重複訪問**時的響應速度)。

完全禁用的方法:

sudo vim /etc/networkmanager/networkmanager.conf

注釋掉裡面的dns=dnsmasq

然後重啟網路管理器

sudo restart network-manager

重新安裝完整dnsmasq:

sudo apt-get install dnsmasq

然後sudo vi /etc/resolv.conf

確保resolv.conf內容為:

nameserver 127.0.0.1

然後sudo vim /etc/dnsmasq.conf

直接在檔案最後新增:

其中server=/facebook.com/208.67.222.222#5353

即可指定訪問facebook**時向opendns的5353埠進行dns請求,以此類推。

這個設定支援泛解析,比如

即指定所有.com網域名稱。

重啟dnsmasq:

sudo service dnsmasq restart

再測試dns:

dig www.facebook.com +short

若返回31.13.79.49或其他不在虛假ip表裡的ip即成功。

docker配置DNS解決辦法

我們都知道linux系統配置dns的時候有乙個問題,就是你在 ect resolv.conf檔案中新增上nameserver 的時候,當時是生效的,但是機器重啟之後就失效了,所以我們可以通過配置network的方法來解決,但是對於docker來說,它預設是對映主機的dns,但是如果你想在docker...

docker配置dns解決辦法

我們都知道linux系統配置dns的時候有乙個問題,就是你在 ect resolv.conf檔案中新增上nameserver 的時候,當時是生效的,但是機器重啟之後就失效了,所以我們可以通過配置network的方法來解決,但是對於docker來說,它預設是對映主機的dns,但是如果你想在docker...

linux 下 M 的解決辦法

個人推薦 dos2unix filename 這個方式最簡單,高效,尤其是在整個工程都是從windows裡搬過來的情況。直接doc2unix project 就可以了 正文 在linux下,不可避免的會用vim開啟一些windows下編輯過的文字檔案。我們會發現檔案的每行結尾都會有乙個 m符號,這是...