dns - iptables 阻止 DNS 服务器

标签 dns bind iptables centos5

我正在尝试配置我的服务器以允许传入的 DNS 查询。由托管公司设置的默认服务器允许端口 443、80 和 22 上的流量。

我已修改 iptables 文件以尝试允许端口 53 上的请求,但我没有从 BIND 获得任何响应。关闭防火墙允许 DNS 请求通过,因此这表明名称服务器工作正常。设置是 CentOS 5.5。

这是 iptables 文件;如果有人能告诉我为了让这个工作我在这里缺少什么,我将不胜感激。

提前致谢。

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

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 10000 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1024:65535 --sport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 22 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 80 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 443 --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Generated by webmin
*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed
# Generated by webmin
*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed

最佳答案

您的规则中的这一行是完全错误的:

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1024:65535 --sport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j ACCEPT

您的意思是:允许从远程端口 53 到本地端口 1024 - 65535 的流量。
我相信 DNS 正在监听端口 53。请尝试此操作(允许每个 TCP/UDP 流量到达目标端口 53):

-A RH-Firewall-1-INPUT -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 53 -j ACCEPT

这些行不会做任何事情: 以下行允许协议(protocol)号为 50 (ESP) 和 51 (AH) 的流量(来源:IANA Protocol Numbers)

-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT

关于dns - iptables 阻止 DNS 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3686089/

相关文章:

asp.net - 重定向页面而不丢失 SEO

performance - 绑定(bind)字段如何在 Angular 中工作?

linux - 在 Ubuntu 中使用 iptables -P INPUT DROP 后,如何应用我的附加规则?

c# - DropDownList binding get Eval()、XPath() 和 Bind() 等数据绑定(bind)方法只能在数据绑定(bind)控件异常的上下文中使用

javascript - 点击事件触发多次问题,怎么办?

linux - Docker 在 docker 主机内部监听 RabbitMQ 而不是从外部监听,为什么?

python - NFQUEUE/IPtables - Suricata 内嵌 Python 拦截 DNS

linux - 使用 getaddrinfo 缓存 DNS

tomcat - tomcat的域名

DNS CNAME 上的 SSL 继承