实用百科指南
霓虹主题四 · 更硬核的阅读氛围

命令行添加防火墙规则的实用操作指南

发布时间:2025-12-09 17:32:10 阅读:328 次

在日常使用电脑时,有时会遇到程序无法联网或者远程访问被拦截的问题。很多人第一反应是打开图形界面去设置防火墙,但其实用命令行添加防火墙规则更快速,尤其适合远程管理服务器或批量操作场景。

Windows 系统下使用 netsh 命令

在 Windows 中,可以通过 netsh advfirewall 来管理防火墙规则。比如你想让外部设备访问本机运行的测试服务(端口 8080),可以直接添加一条入站规则。

netsh advfirewall firewall add rule name="允许8080端口" dir=in action=allow protocol=TCP localport=8080

这条命令的意思是:添加一条入站规则,名称为“允许8080端口”,允许 TCP 协议通过本地的 8080 端口。执行后,其他设备就可以通过该端口访问你的服务了。

如果之后想删除这条规则,只需替换为 delete 操作:

netsh advfirewall firewall delete rule name="允许8080端口" protocol=TCP localport=8080

Linux 系统中使用 iptables 或 ufw

在大多数 Linux 发行版中,iptables 是底层防火墙工具。比如你部署了一个 Web 应用监听 3000 端口,但发现外网连不上,可能是防火墙挡住了。

添加一条允许 3000 端口通行的规则:

sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT

这表示在输入链中追加一条规则,针对目标端口为 3000 的 TCP 数据包,执行接受操作。不过注意,重启后规则可能丢失,需要保存:

sudo iptables-save > /etc/iptables/rules.v4

如果你用的是 Ubuntu 这类系统,推荐使用更友好的 ufw(Uncomplicated Firewall):

sudo ufw allow 3000/tcp

这样就开放了 3000 端口的 TCP 访问,命令简洁明了,适合新手快速上手。

macOS 使用 pfctl 配置规则

macOS 内置的是 PF 防火墙,虽然默认未启用,但在高级网络配置中很有用。假设你需要临时封锁某个 IP 地址频繁连接你的机器,可以手动编辑规则文件。

先创建规则文件 /etc/pf.block,内容如下:

block in from 192.168.1.100 to any

然后加载并启用:

sudo pfctl -f /etc/pf.block
sudo pfctl -e

这样来自 192.168.1.100 的所有入站连接都会被阻止。这种方式比图形界面更灵活,特别适合处理异常流量或调试网络问题。

命令行添加防火墙规则的核心优势在于效率和可脚本化。无论是开发调试、运维部署还是安全响应,掌握这些命令能让你少点几次鼠标,多几分从容。