上一篇
Linux中,可使用命令
sudo iptables -A INPUT -p udp --dport -j ACCEPT开放UDP端口
Linux系统中,开放UDP端口可以通过多种方法实现,具体取决于系统所使用的防火墙工具,以下是几种常见的方法及其详细步骤:
使用iptables开放UDP端口
| 步骤 | 命令 | 说明 |
|---|---|---|
| 添加规则 | sudo iptables -A INPUT -p udp --dport <端口号> -j ACCEPT |
将指定UDP端口添加到防火墙规则中,允许数据包通过。 |
| 保存规则(可选) | sudo iptables-save > /etc/iptables/rules.v4 |
保存当前iptables规则,确保重启后规则依然有效。 |
| 重启iptables服务 | sudo service iptables restart |
使更改生效。 |
使用firewalld开放UDP端口
| 步骤 | 命令 | 说明 |
|---|---|---|
| 启动并启用firewalld | sudo systemctl start firewalldsudo systemctl enable firewalld |
确保firewalld服务正在运行。 |
| 开放UDP端口 | sudo firewall-cmd --zone=public --add-port=<端口号>/udp --permanent |
添加UDP端口到防火墙规则中,--permanent表示永久生效。 |
| 重新加载防火墙 | sudo firewall-cmd --reload |
使更改生效。 |
使用UFW开放UDP端口
| 步骤 | 命令 | 说明 |
|---|---|---|
| 启用UFW | sudo ufw enable |
启用UFW防火墙。 |
| 开放UDP端口 | sudo ufw allow <端口号>/udp |
允许指定UDP端口通过防火墙。 |
| 重新加载UFW | sudo ufw reload |
使更改生效。 |
使用Netcat监听UDP端口
| 步骤 | 命令 | 说明 |
|---|---|---|
| 安装Netcat | sudo apt-get install netcat |
如果未安装Netcat,需要先安装。 |
| 监听UDP端口 | nc -ul <端口号> |
在指定端口上监听UDP数据包。 |
使用Socat监听UDP端口
| 步骤 | 命令 | 说明 |
|---|---|---|
| 安装Socat | sudo apt-get install socat |
如果未安装Socat,需要先安装。 |
| 监听UDP端口 | socat UDP-RECV:<端口号> |
在指定端口上监听UDP数据包。 |
验证UDP端口是否开放
| 方法 | 命令 | 说明 |
|---|---|---|
| 使用Netstat | netstat -nlup | grep <端口号> |
查看指定UDP端口是否在监听状态。 |
| 使用SS | ss -lup | grep <端口号> |
查看指定UDP端口是否在监听状态。 |
相关问答FAQs
问题1:如何永久保存iptables规则?

答:要永久保存iptables规则,可以使用sudo iptables-save > /etc/iptables/rules.v4命令将当前规则保存到文件中,这样即使重启系统,规则也不会丢失。

问题2:如何关闭已开放的UDP端口?
答:关闭已开放的UDP端口可以通过删除相应的防火墙规则来实现,使用iptables时,可以执行sudo iptables -D INPUT -p udp --dport <端口号> -j ACCEPT命令来删除之前添加的规则,对于其他防火墙工具,如firewalld或UFW,也有相应的命令来移除已

