UFW 阻止 DHCP

dan*_*hck 5 dnsmasq ufw

我使用的是 Debian Buster。

我的服务器中有两个网络设备。连接到互联网的 Wifi 和连接到家里小型内部网的以太网卡。

我已经安装了dnsmasq,它通过以太网卡作为内网的DHCP服务器。

连接到同一以太网交换机的其他 PC 获得由 dnsmasq 定义的 IP 号。我可以传输文件等,没有问题。

如果启用防火墙 ufw,则客户端 PC 不会获取 IP 号码。一旦我禁用 de ufw,所有客户端 PC 都会获得 IP 号。

我允许端口 53、67、68...我不确定我从不同的论坛尝试了多少端口。

目前,我的ufw状态是:

:~$ sudo ufw 状态: 状态: 活动

至行动自


22/tcp 允许任何地方
80/tcp 允许任何地方
443/udp 允许任何地方
DNS 允许任何地方
67/udp 允许任何地方
68/udp 允许任何地方
53 允许任何地方
22/tcp (v6) 允许任何地方 (v6)
80/tcp (v6) 允许任何地方(v6)
443/udp (v6) 任何地方允许 (v6)
67/udp (v6) 任何地方允许 (v6)
68/udp (v6) 任何地方允许 (v6)
53 任何地方允许

我浏览了堆栈论坛。他们建议使用端口 67、udp、proto 等,但没有任何效果

任何想法?

编辑 我运行 tcpdump -i mydev 然后禁用 ufw,tcp 日志为:

23:00:18.939873 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:11:71:56:18:q6 (oui Unknown), length 286
23:00:21.788245 IP PersonalCloud.local.57586 > all-systems.mcast.net.4448: UDP, length 116 
23:00:21.788333 IP PersonalCloud.local.57586 > 224.0.0.249.4448: UDP, length 116
23:00:21.941823 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 01:11:71:51:18:a6 (oui Unknown), length 286
23:00:22.780809 IP dnsmasq.netbios-dgm > 192.168.2.255.netbios-dgm: UDP, length 219 
23:00:24.192421 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 14:01:6a:1c:1c:we (oui Unknown), length 300  
23:00:24.945175 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 01:11:15:56:18:a6 (oui Unknown), length 286 
23:00:27.211282 IP dnsmasq.17500 > 192.168.2.255.17500: UDP, length 449   
23:00:27.211701 IP dnsmasq.17500 > 192.168.2.255.17500: UDP, length 445 
23:00:28.927026 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 61:51:31:91:e3:4a (oui Unknown), length 300 
23:00:29.127449 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 61:01:61:51:d1:31 (oui Unknown), length 300 
23:00:30.808357 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 61:51:31:91:e1:41 (oui Unknown), length 300 
23:00:33.551227 IP > 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 61:51:31:91:e1:41 (oui Unknown), length 300 
23:00:35.618172 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 61:01:61:51:d1:31 (oui Unknown), length 300 
23:00:37.899922 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 68:51:31:91:e1:41 (oui Unknown), length 300 
23:00:42.752985 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 6a:01:61:51:dc:3e (oui Unknown), length 300 
23:00:46.392675 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 61:51:31:91:e1:41 (oui Unknown), length 300 
23:00:46.405925 IP dnsmasq.bootps > Mac-mini.bootpc: BOOTP/DHCP, Reply, length 300
Run Code Online (Sandbox Code Playgroud)

我只是从禁用 ufw 复制粘贴,直到在 MAc-mini PC 中获得 IP 号码。

那么,什么是端口呢?

小智 10

sudo ufw allow bootps
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
Run Code Online (Sandbox Code Playgroud)

  • 重要的是 DHCP 不仅使用常规 IP 地址进行通信,还需要允许目标地址为 255.255.255.255 的流量从 DHCP 服务器端口流出并进入客户端端口,因为客户端的真实 IP 地址可能还不知道。`ufw allowed bootps` 将作为特殊情况自动处理;仅允许 UDP 端口 67 和 68 则不会。 (3认同)
  • 使用“ufw”时,允许的端口列表将合并到较长的“iptables”/“netfilter”防火墙规则列表中。这些规则包括过滤掉看起来无效或恶意的流量,并且在没有充分理由的情况下广播到 255.255.255.255 是令人讨厌的,并且可能是拒绝服务。`ufw allowed bootps` “知道” bootp 及其后继 DHCP 将需要对那些“过滤掉无效/恶意流量”规则进行一些小的豁免。仅允许端口就假定使用该端口的服务将是标准的行为良好的服务。 (3认同)
  • 谢谢奥斯卡!经过几个月的尝试添加来自不同论坛的所有端口后,我删除了所有 53、67 和 68 条目并添加了您的条目。立刻就见效了!非常感谢!解决了!! (2认同)