在 Linux 系统中,不同的防火墙管理工具限制 UDP 端口范围的方式有所不同,下面分别介绍使用 iptables
和 firewalld
这两种常见工具来限制 UDP 端口范围的方法。
使用 iptables
iptables
是 Linux 系统中传统的防火墙管理工具,以下是限制 UDP 端口范围的示例命令:
bash
# 清除所有现有的规则
iptables -F
# 允许本地回环接口通信
iptables -A INPUT -i lo -j ACCEPT
# 允许已建立的和相关的连接
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 允许特定 UDP 端口范围(例如 10000 - 10100)的入站流量
iptables -A INPUT -p udp --dport 10000:10100 -j ACCEPT
# 拒绝其他 UDP 端口的入站流量
iptables -A INPUT -p udp -j DROP
# 允许所有出站流量
iptables -P OUTPUT ACCEPT
# 保存规则(对于 CentOS 7 及更早版本)
service iptables save
# 对于 Ubuntu 或 Debian 系统,需要安装 iptables-persistent 并保存规则
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
上述命令的解释如下:
iptables -F
:清除所有现有的规则。iptables -A INPUT -i lo -j ACCEPT
:允许本地回环接口通信。iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
:允许已建立的和相关的连接。iptables -A INPUT -p udp --dport 10000:10100 -j ACCEPT
:允许 UDP 端口范围 10000 - 10100 的入站流量。iptables -A INPUT -p udp -j DROP
:拒绝其他 UDP 端口的入站流量。iptables -P OUTPUT ACCEPT
:允许所有出站流量。- 最后根据不同的系统,执行相应的保存规则命令。
使用 firewalld
firewalld
是 CentOS 7 及更高版本默认的防火墙管理工具,以下是限制 UDP 端口范围的示例命令:
bash
# 开启特定 UDP 端口范围(例如 10000 - 10100)
sudo firewall-cmd --permanent --add-port=10000-10100/udp
# 重新加载防火墙规则
sudo firewall-cmd --reload
上述命令的解释如下:
sudo firewall-cmd --permanent --add-port=10000-10100/udp
:永久添加 UDP 端口范围 10000 - 10100 到防火墙规则中。sudo firewall-cmd --reload
:重新加载防火墙规则,使配置生效。
通过以上两种方法,你可以根据自己的需求选择合适的工具来限制 UDP 端口范围。