CentOS 系统中 Iptables 的 53 端口配置指南
Iptables 是 Linux 系统中用于实现网络数据包过滤、网络地址转换和网络端口转发的强大工具,在 CentOS 系统中,Iptables 是网络安全的重要保障,本文将详细介绍如何在 CentOS 系统中配置 Iptables,以确保 53 端口(DNS 服务的默认端口)的安全和稳定。

Iptables 基础知识
Iptables 规则链
Iptables 规则链包含四条主要的规则链:INPUT、OUTPUT、FORWARD 和 PREROUTING,53 端口通常属于 INPUT 和 OUTPUT 规则链。
Iptables 规则
Iptables 规则用于定义如何处理进入或离开系统的数据包,每条规则包含目标动作(如 ACCEPT、DROP、REJECT)和匹配条件(如源地址、目标地址、端口等)。
配置 Iptables 53 端口
查看当前 Iptables 规则
在配置之前,首先查看当前 Iptables 规则,以便了解现有配置。
iptables -L -n
修改 INPUT 规则链

为了允许 DNS 请求通过 53 端口,我们需要在 INPUT 规则链中添加一条允许规则。
iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --dport 53 -j ACCEPT
上述命令分别允许 UDP 和 TCP 协议的 53 端口请求。
修改 OUTPUT 规则链
为了允许系统向 DNS 服务器发送请求,我们需要在 OUTPUT 规则链中添加一条允许规则。
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
保存 Iptables 规则
为了在系统重启后保持配置,需要将 Iptables 规则保存到 /etc/sysconfig/iptables 文件中。
service iptables save
验证配置
查看 Iptables 规则
iptables -L -n
使用工具测试 DNS 请求

可以使用 nslookup 或 dig 工具测试 DNS 请求是否成功。
nslookup www.example.com
FAQs
问题:为什么我的 DNS 请求无法解析?
解答:请确保 Iptables 中已经允许了 53 端口的 UDP 和 TCP 请求,可以使用 iptables -L -n 命令查看规则链,确认是否正确配置。
问题:如何删除 Iptables 规则?
解答:可以使用 iptables -D 命令删除规则,删除 INPUT 规则链中允许 53 端口请求的规则:
iptables -D INPUT -p udp --dport 53 -j ACCEPT iptables -D INPUT -p tcp --dport 53 -j ACCEPT
删除规则后,可能需要重新启动网络服务或重启系统才能使更改生效。

