为什么设置 iptables 规则后 UDP 端口 443 不接受连接?
环境
- 操作系统:Linux 6.8.0-47-generic #47-Ubuntu,aarch64
- 云虚拟机:是(Hetzner)
当前设置
我正在尝试在端口 443 上设置 UDP 通信,但尽管配置了防火墙规则,仍然遇到问题。
采取的措施
添加防火墙规则:
sudo iptables -A INPUT -p udp --dport 443 -j ACCEPT sudo netfilter-persistent save
当前 iptables 规则:
# IPv4 rules iptables -L -v -n | grep 443 35318 4093K f2b-nginx-limit-req 6 -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443 210K 25M f2b-nginx-php-accessrules 6 -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443 209K 25M f2b-wordpress 6 -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443 209K 25M f2b-nginx-bad-request 6 -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443 302 88281 ACCEPT 17 -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:443 # IPv6 rules ip6tables -L -v -n | grep 443 61618 9650K f2b-wordpress 6 -- * * ::/0 ::/0 multiport dports 80,443 61600 9649K f2b-nginx-bad-request 6 -- * * ::/0 ::/0 multiport dports 80,443 61600 9649K f2b-nginx-php-accessrules 6 -- * * ::/0 ::/0 multiport dports 80,443 1467 316K ACCEPT 17 -- * * ::/0 ::/0 udp dpt:443
端口扫描结果:
sudo nmap -sU -p 443 <server-ip> Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-26 20:14 CEST Nmap scan report for <server-ip> Host is up (0.0027s latency). PORT STATE SERVICE 443/udp open|filtered https Nmap done: 1 IP address (1 host up) scanned in 0.49 seconds
尝试进行 netcat 测试:
- 服务器端:
sudo nc -lu 443
- 客户端:
echo 'test' | nc -u <server-ip> 443
- 服务器端:
问题
尽管在 nmap 扫描中端口显示为“open|filtered”,但没有流量到达监听的 netcat 进程。
问题
- 为什么端口显示为“打开|过滤”而不是明确“打开”?
- 我可能需要哪些额外的配置才能使 UDP 流量通过端口 443?
- 我应该采取什么诊断步骤来确定流量被阻塞的位置?
我已经检查过的内容
- 防火墙规则已设置并保存,适用于 IPv4 和 IPv6
- 根据 nmap 显示端口未被阻塞
- 客户端和服务器之间存在基本连接
- Hetzner 云防火墙配置为允许端口 443 UDP
- fail2ban 针对端口 80,443 有多条规则,但这些规则似乎适用于 TCP(与 nginx 相关)
附加信息
如果有人需要有关我的设置的更多详细信息或其他调试信息,请告诉我。