这是因为在旧式系统(以inetd为超级服务器)内telnetd和ftpd是通过tcpd服务程序启动的,而tcpd在启动的时候需要进行安全性检查和IP地址反向解释。 解决这个问题的方法有两种, 一是把IP地址的反向解释加到/etc/hosts文件中或者在DNS内为IP地址做反向解释。 第二种方法是不通过tcpd加载telnetd和ftpd,方法为修改/etc/inetd.conf:把 ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a 改为: ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -l -a 把 telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd 改为: telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd 修改完成以后通过killall -HUP inetd即可生效。 更多请看Cisco与华为技术网
我有一台应用服务器是AIX5.3,需要跨网段连接数据库服务器,还需要通过域名访问公网。当我向/etc/resolv.conf文件中设置了公网的nameserver后,从与这台应用服务器同一网段的其他机器telnet到这台机器就变得奇慢,需要很长时间才会显示出登录的提示符。除了这里慢还有当应用启动过程中需要与其他网段的数据库建立连接池时速度也是奇慢。
goole、问人后得知是dns设置的问题,说是当我telnet一个地址、连接另外一个网段的地址时dns都需要进行反向解析,我看到的很慢的原因就是因为这段时间是在等待从dns返回结果。当我把/etc/resolv.conf文件改名后再进行这些操作立刻就快了起来。可是我这台机器要通过域名访问公网就必须指定dns服务器啊!而AIX默认的名称解析顺序就是先查找dns服务器,我试过设置环境变量NSORDER=local,bind,这样一来内部网络之间的互相访问是快了,可是不能通过域名访问公网了!原因是在进行名称解析时先去找/etc/hosts文件,我要访问的域名对应N多台服务器,并且ip地址也有可能改变,不可能都在hosts文件中手工写死,而这时名称解析并不会再去到dns服务器进行查找,除非先前的local方法对应的hosts文件不可用时它才会进行第二步的bind方法的解析。
针对我这种情况能不能有什么方法既可以让内部访问不慢又可以让这台服务器能通过域名访问公网?能不能把dns的反向解析功能关掉?
本文探讨了AIX系统中DNS解析导致的应用服务器性能问题。具体表现为跨网段连接数据库和telnet操作延迟显著增加。文章提供了两种解决方案:一是调整DNS配置避免反向解析;二是更改/etc/inetd.conf文件中的配置。
1649

被折叠的 条评论
为什么被折叠?



