歡迎您光臨本站 註冊首頁

關於防止DNS被修改的一些方法(轉載)

←手機掃碼閱讀     火星人 @ 2014-03-25 , reply:0

最近正在為設置無線網路的事情騷擾,尤其是在network裡面設置的dns會被networkmanager改掉,每次重新啟動網路或是開機都會手動輸入dns,所以轉載文章供大家參考:

PS:我採用了第二種方法,其他方法大家可以試試

在 LAN via NAT 或是 PPPoE 的環境中上Internet,我們總得在 resolv.conf 中指定 DNS server,而這裡的 DNS server 是
通過 DHCP server 自動獲取的,如果不能正確獲得則需要手動把 ISP 給出的 DNS server 加入。可有時候一些「聰明」的程
序總是會跳出來搞些小動作,把我們自己寫入的設定換掉,而且還是輪詢的,你再改,沒有過幾分鐘就又被改掉。

之前遇到過的情況有(DNS server 抓不對,且會被改寫!):

1. Ubuntu 6.10 (Edgy) 通過 ppp 撥號時,只抓到 ADSL Modem DHCP server IP.
2. Ubuntu 7.04 (Feisty) 那個可惡的network-manager程序會定時抓 ADSL Modem DHCP server IP.
3. VMWare 中的 Guest OS 以 NAT 網路 獲取IP的時候,只抓到NAT DHCP server IP.


於是有很多人都跳出來問一個問題:「如何避免 resolv.conf 被修改、改寫和覆寫等等?「

然而對於*NIX 這樣靈活的系統,解法也有很多,我們一一看來,哪個粗糙,哪個優雅!

解法一:修改 /sbin/dhclient-script,註釋掉對 resolv.conf 進行操作的地方.

Linux :

把 make_resolv_conf 這個函數的調用都給註釋掉!

FreeBSD:

把 > resolv.conf 所在的行都給註釋掉!

解法二:強制修改 resolv.conf 的文件flag,設定為不可被更改.

Linux:

chattr +i /etc/resolv.conf

FreeBSD:

chflags schg /etc/resolv.conf

解法三:變更DHCP Client的配置文件,在特定的環節追加我們的設定.

Linux (Ubuntu Dist.):

在 /etc/dhcp3/dhclient.conf 中增加如下設定:prepend domain-name-servers , ;

FreeBSD:

在 /etc/dhclient.conf 中增加如下設定:prepend domain-name-servers , ;

就我自己看來:解法一屬於粗糙,解法二屬於暴力,解法三才是好辦法!

解法三不會變更系統框架,還是原來執行流程。我們只是在默認的prepend環節,多增加prepend的內容,讓DHCP Client
在得到DNS server信息后,把我們所需要的配置追加在前面。


[ 本帖最後由 wingsmart 於 2008-9-12 01:28 編輯 ]

[火星人 ] 關於防止DNS被修改的一些方法(轉載)已經有1507次圍觀

http://coctec.com/docs/linux/show-post-164381.html