装完 UOS 想开个本地测试服务,局域网里另一台机器访问不了,先怀疑防火墙。控制中心里翻了半天没找到开关,其实入口在安全与隐私下面。
UOS 桌面版默认用 ufw 做前端,底层还是 iptables。图形界面能关,命令行也能关,两条路都记一下。
图形界面
打开控制中心,找安全与隐私,里面有一项防火墙,开关一关,状态变成已关闭。部分版本在任务栏托盘里有盾牌图标,右键也能进。关完最好开个终端敲 sudo ufw status,显示 inactive 才算真关。
命令行
sudo ufw statussudo ufw disable如果提示 ufw 命令不存在,说明这台机器用的是 firewalld,换成 systemctl stop firewalld,再用 systemctl disable firewalld 取消开机自启。stop 和 disable 是两件事,只 stop 的话重启又回来了。
临时放行某个端口比整个关掉更合适,sudo ufw allow 8080/tcp,用完再 delete 掉。开发机图省事可以直接关,接公网的机器别这么干。
关了还是不通,看这几处
- 服务监听在 127.0.0.1,外部本来就连不上,检查程序的绑定地址。
- 云主机还有一层安全组,本机防火墙关了照样拦。
- 部分版本对特定端口有额外策略,换个端口试一下最快。
还有一种情况是图形界面显示关闭,内核里的规则却没清。用 sudo iptables -L -n 看一眼链里还有没有 DROP,有的话重启一次系统最干净,别一条条删。
关之前先用 sudo ufw status numbered 看一眼现有规则,记下编号。回来照着编号重建,比凭记忆重配省事,也不会漏掉之前放行的端口。
服务器版和桌面版的入口不一样。没有桌面环境时只能走命令行,安全中心的图形开关压根不存在,找不到别以为是系统坏了。
测试完记得把防火墙开回来。关着的时候系统更新和局域网共享都少一层保护,长期这么用不划算。真要长期开放,就用 allow 精确到端口和来源网段,比一关了之稳妥。