iptables -L -t filter 输出很慢

    出现这种情况时,不妨使用iptables -n- L -t filter试一下,多加了一个-n的命令行选项。

 

    前几天在维护貌似无法上网的Linux服务器时,发现iptables -L -t filter命令输出非常慢。本以为系统内的某个进程占用了较多的CPU资源,但是用top命令查看,发现CPU的使用率较低。

    仔细观察,发现每次在输出带有IP地址的规则时,都会停在那里。与IP地址有关系?突然想起iptables命令默认输出的都是主机名称,这需要与DNS服务器通信(如果配置了DNS服务器)。随将/etc/resolve.conf中的nameserver注释掉,再调用iptables -L -t filter命令,果然马上就输出了。的确与DNS有关,ping两台DNS服务器,都不通,看来网络运营商那边出了问题。。。

    恢复/etc/resolve.conf文件,使用iptables -n -L -t filter,马上返回了。。。

    -n选项,主机和端口都以数字形式输出,不会去查询主机名(DNS的ptr查询是比较慢的。。),以及端口号对应的服务名称(如果是自己的程序,占用/etc/service里的端口,是常事,直接输出端口号比较直观)。

你可能感兴趣的:(linux服务器)