You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从ufw获取对应iptables规则并限制mDNS仅允许本地局域网访问的方法

从ufw获取对应iptables规则并限制mDNS仅允许本地局域网访问的方法

嘿,我来帮你搞定这两个问题,一步步说清楚:

一、获取ufw对应的完整iptables规则

ufw本质是iptables的封装工具,iptables -L只能看到简化版规则,要查看它生成的所有细节,更推荐用这个命令:

sudo iptables-save

它会输出完整的规则链、参数配置,包括ufw自动添加的ufw-not-local链和mDNS相关规则。要是你只想看ufw自身管理的规则,直接用sudo ufw status verbose也能得到更直观的详细信息。

二、限制mDNS仅允许本地局域网访问

你观察得没错,ufw默认的mDNS规则确实允许所有来源IP,要改成只开放给局域网,按以下步骤操作:

  1. 删除默认的mDNS规则
    先查看ufw规则的编号,方便精准删除:

    sudo ufw status numbered
    

    在输出里找到和mdns(端口5353/udp)相关的允许规则,比如类似[X] Allow IN 5353/udp from any to mdns.mcast.net,然后用编号删除它:

    sudo ufw delete [X]
    

    把[X]换成实际的规则编号就行。

  2. 添加局域网专属的mDNS规则
    假设你的本地局域网网段是192.168.1.0/24(如果是其他网段,比如192.168.0.0/24就替换成对应的),执行下面的命令添加规则:

    sudo ufw allow in from 192.168.1.0/24 to any port 5353 proto udp
    

    这条规则会只允许该局域网内的设备发送mDNS请求到你的机器。

    另外,mDNS依赖多播地址224.0.0.251,你也可以补充一条更精准的规则,确保只允许局域网设备和这个多播地址通信:

    sudo ufw allow in from 192.168.1.0/24 to 224.0.0.251 port 5353 proto udp
    
  3. 验证规则生效
    执行sudo ufw status verbose或者sudo iptables -L | grep mdns,就能看到新规则已经生效,现在只有你的局域网IP段能访问mDNS服务了。

备注:内容来源于stack exchange,提问作者fghoussen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 11:58:11