iptables 打开dns访问端口

6790阅读 0评论2011-07-21 tonecan2008
分类:LINUX

今天在测试本机DNS的时候发现无法解释域名,经查原因出在iptables上边。
我立即加了 iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT 的链路,发现还是

不行。一般认为DNS就是通过访问DNS服务器的53端口进行域名解释的。本机端口应该是任意的,

可是就是不通。
没有办法再添加iptables -t filter -j LOG -p udp --log-prefix "DNS monitor: " 添加一

个日志功能。

添加了以上记录后,还不能记录那个功能。还需要再在
/etc/syslog.conf
添加一个记录,
kern.warning /var/log/iptables.log

kern是设备名,warning 是记录级别,/var/log/iptables.log 记录日志文件位置。
其中的具体设置如果大家有兴趣可以另外查找一下其它的文档。
最后重启一下syslog服务。

service syslog restart

现在就可以了。

使用nslookup

然后我们看一下/var/log/iptables.log文件
:10:db:69:43:50:08:00 SRC=219.141.140.10 DST=192.2.8.185 LEN=169 TOS=0x00 PREC=0x00

TTL=241 ID=63822 DF PROTO=UDP SPT=53 DPT=45623 LEN=149

里面的SPT=53是53,也就是我们需要开放53端口。
iptables -t filter -A INPUT -p udp -m udp -j ACCEPT

nslookup
Server:         219.141.140.10
Address:        219.141.140.10#53

现在再执行nslookup

Non-authoritative answer:
canonical name = jupiter.sina.com.cn.
jupiter.sina.com.cn     canonical name = hydra.sina.com.cn.
Name:   hydra.sina.com.cn
Address: 218.30.108.189
Name:   hydra.sina.com.cn
Address: 218.30.108.190
Name:   hydra.sina.com.cn
Address: 218.30.108.191

可以了
上一篇:重新注册DLL文件,消灭“内存不能为read和written”等错误
下一篇:Centos -bash: nslookup: command not found