反向解析引发的访问慢问题的解决

SSH服务默认启用了DNS反向解析的功能,这种设置会导致我们在通过ssh访问服务器时,如果该服务器的主机名在DNS中无记录的话,由于等待超时而出现响应极慢的情况。这时可对ssh服务器/etc/ssh/sshd_config添加如下设置:
UseDNS no
重启ssh服务,即可关闭反向解析,访问速度顿时加快~

================================================

mysql反向解析

我的mysql数据库服务器放在私网内,从公网访问时连接速度很慢,每次都要过12秒后才能连上,只要连接上了速度正常。后来抓服务器上的数据包发现,连接mysql时,都会向DNS做反向地址查询,只有等超时失败后,mysql才会响应客户端,因而数据很慢。后来我做了个试验,将DNS禁止,发现从公网访问mysql连接很快。但我的系统中DNS是不能禁止的,请问各位:能不能将mysql的反向地址查询禁止?怎么配置?谢谢了

#vi /etc/my.cnf 配置你的my.cnf文件
[mysqld]
skip-name-resolve //这一选项可以消除MySQL进行DNS解析的时间

=======================================

ssh反向解析

Linux SSH远程登录慢的解决方法

一台中转机ssh登录服务器(Linux)的时候,很慢,大概要15秒左右,但是ping很快,而且登录后服务器的负载也很低。这个小问题一直没有引起注意,今天领导登录的时候发现了这个问题,并且给出了原因和解决方法,记录在这里:

在目标服务器上有一个文件/etc/nsswitch.conf ,里面有如下一行
hosts: files dns
这行的含义是对于访问的主机进行域名解析的顺序,是先访问file,也就是/etc/hosts文件,如果hosts中没有记录域名,则访问dns,进行域名解析,如果dns也无法访问,就会等待访问超时后返回,因此等待时间比较长。
那如果将这一行屏蔽掉是不是也可以达到同样的效果呢?
应该是可以的,但是如果本机要通过域名访问其他服务器,则肯定无法访问,因此这行应该需要保留。这个问题也提示我们,dns如果不可用,会带来的一些副作用的。


相信很多朋友在使用Linux系统的时候因为安全性的原因摒弃了telnet rlogin 或者X-window,而把openssh作为自己默认的远程登录方式。然而经常会遇到的一个情况是telnet到server速度很快,但是ssh连接的时候却很慢,大概要等半分钟甚至更久。ping的速度也非常好,让人误以为是ssh连接不上。下面说下如何解决这样的问题,最为常见的原因是因为server的sshd会去DNS查找访问clientIP的hostname,如果DNS不可用或者没有相关记录,就会耗费大量时间。

1, 在server上/etc/hosts文件中把你本机的ip和hostname加入
2, 在server上/etc/ssh/sshd_config文件中修改或加入UseDNS=no
3, 注释掉server上/etc/resolv.conf中所有行
4, 修改server上/etc/nsswitch.conf中hosts为hosts: files
5, reboot server使配置生效

另外在
authentication gssapi-with-mic
也有可能出现问题,在server上/etc/ssh/sshd_config文件中修改
GSSAPIAuthentication no
/etc/init.d/sshd restart重启sshd进程使配置生效。


如果以上两招还不能解决问题,善于使用DEBUG MODE ssh-v来查看log,找到停滞时间最长的步骤,然后针对性的修改配置解决。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
反向解析是指通过IP地址查询域名的过程。正向解析是根据域名查找IP地址,而反向解析则是根据IP地址查找域名。反向解析通常用于验证某个IP地址是否属于某个特定的域名。 反向解析是通过PTR记录实现的。PTR记录是一种DNS资源记录,用于将IP地址映射到域名。在反向解析中,DNS服务器会查询反向解析区域文件,查找与该IP地址对应的PTR记录,并返回对应的域名。 例如,假设有一个IP地址为192.168.1.1的主机,其域名为example.com。如果要进行反向解析,需要在DNS服务器中添加一个反向解析区域,将192.168.1.0/24网段的IP地址与域名进行映射。反向解析区域的格式为1.168.192.in-addr.arpa,其中1表示主机位,168.192表示网络位。 在反向解析区域文件中,需要添加一个PTR记录,将192.168.1.1映射到example.com。文件内容如下: ``` $TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.example.com. @ IN NS ns2.example.com. 1 IN PTR example.com. ``` 上述内容表示将IP地址为192.168.1.1的主机映射到example.com域名。PTR记录的格式为IP地址反转后加上.in-addr.arpa后缀,例如1.168.192.in-addr.arpa。 要测试反向解析是否正常工作,可以使用nslookup命令查询IP地址对应的域名,例如: ``` nslookup 192.168.1.1 ``` 如果返回以下结果,则表示反向解析正常工作: ``` Server: 192.168.1.10 Address: 192.168.1.10#53 1.1.168.192.in-addr.arpa name = example.com. ``` 注意:反向解析只能查询IP地址的PTR记录,而不能查询其他类型的DNS记录,例如A记录或MX记录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值