apache如何關閉ssh的反向解析

apache如何關閉ssh的反向解析

當我們在連接apachesshmysql等服務器時,如果出現連接過慢,可能的原因是dns 的反向查詢。有一些網友出現這種情況:狀況就是ssh, ftp等都要輸入帳號密碼才能登錄,只有密碼輸入后要等30秒,據說是DNS反向解析timeout的時間。

為什么需要域名的反向解析呢?因為防止假冒的IP連接服務器,把IP解析成域名,來提高安裝性,看這個IP是否是偽造,這是dns反向查詢的功能之一。

如果在開啟apache,ssh,mysql 等服務器的反向解析功能之后,連接過慢的話。有二種解決方法:

就要架建自己的dns解析或更改hosts文件把服務的dns反向解析功能關掉。

下面先講第二種,這種方法最為簡單,但關閉了dns反向解析后,對于偽造IP登陸這種情況,是不能阻止的。

一、把mysql,ssh 的反向解析關閉

找到?/etc/mysql/my.cnf? 在?[mysqld]標記下面添加: skip-name-resolve?不把IP地址解析為主機名;?與訪問控制(mysql.user數據表)有關的檢查全部通過IP地址行進 skip-host-cache??不使用高速緩存區來存放主機名和IP地址的對應關系 然后保存 /etc/init.d/mysql?restart?重啟mysql。

另附上ssh的:

取消sshd服務的dns反向解析#vi?/etc/ssh/sshd_config找到選項UseDNS?,取消注釋,改為 UseDNS?no 重啟sshd服務 /etc/init.d/sshd??restart

二、架構自己的dns服務器,把已知的服務器的域名添加進來。

這個是因為這些記錄需要dns解析造成的(程序需要PTR反向解析,即IP到domain name的映射關系,主要用于驗證這個IP是否是合法的IP),解決方法如下:
方法1:把常用的IP地址寫入hosts文件,然后在/etc/nsswitch.conf看看程序是否先查詢hosts文件(一般缺省是這樣)
方法2:起一臺dns服務器(可以是本機),加入反向解析,把這個dns服務器加入到/etc/resolv.conf中。例子如下:

/******************************************************************************** reverse?mapping ********************************************************************************/  zone?"0.0.127.in-addr.arpa"?in?{ ????????type?master; ????????notify?no; ????????file?"named.local"; ????????allow-update?{"none";}; };  zone?"20.172.in-addr.arpa"?in?{ ????????type?master; ????????file?"master/20.172"; };  zone?"168.192.in-addr.arpa"?in?{ ????????type?master; ????????file?"master/168.192"; };  zone?"16.172.in-addr.arpa"?in?{ ????????type?master; ????????file?"master/16.172"; };  zone?"17.172.in-addr.arpa"?in?{ ????????type?master; ????????file?"master/17.172"; };

更多Apache的相關技術文章,請訪問Apache教程欄目進行學習!

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享