防火墙是计算机安全的核心组件,可阻止未授权访问,在图形界面不可用(如服务器远程管理)或需自动化脚本时,命令行操作至关重要,以下方法适用于主流系统,操作需管理员权限,误操作可能导致网络中断,请谨慎执行。
Windows 系统
启用防火墙
netsh advfirewall set allprofiles state on
- 命令解释:
netsh
:网络配置工具。advfirewall
:高级防火墙模块。allprofiles
:同时启用域/专用/公用网络配置。state on
:开启防火墙。
验证状态
netsh advfirewall show allprofiles
输出中查看 State
是否为 ON
。
临时允许程序通过防火墙
netsh advfirewall firewall add rule name="允许程序" dir=in action=allow program="C:\路径\程序.exe"
- 关键参数:
name
:规则名称(自定义)。dir=in
:控制入站流量(out
为出站)。action=allow
:允许连接。
关闭防火墙(不推荐)
netsh advfirewall set allprofiles state off
警告:仅限临时测试,长期关闭将暴露安全风险。
Linux 系统
Linux 防火墙工具因发行版不同:
- Ubuntu/Debian:
ufw
(简化工具)。 - CentOS/RHEL/Fedora:
firewalld
或iptables
。
使用 ufw
(推荐新手)
- 启用防火墙:
sudo ufw enable # 启用
- 允许端口(如 SSH 的 22 端口):
sudo ufw allow 22/tcp
- 验证状态:
sudo ufw status # 显示规则列表
使用 firewalld
(CentOS/RHEL)
- 启动并启用防火墙:
sudo systemctl start firewalld # 启动 sudo systemctl enable firewalld # 开机自启
- 开放 HTTP 服务(80 端口):
sudo firewall-cmd --permanent --add-service=http # 永久生效 sudo firewall-cmd --reload # 重载配置
使用 iptables
(通用但复杂)
- 允许 SSH 连接(22 端口):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 保存规则(重启后生效):
sudo iptables-save > /etc/iptables/rules.v4 # Debian/Ubuntu sudo service iptables save # CentOS 6
安全操作须知
- 权限要求:所有命令需
管理员
(Windows)或sudo
(Linux)权限。 - 风险提示:
- 错误规则可能阻断远程连接(尤其 SSH/RDP),建议在本地操作。
- 生产环境修改前备份规则(如 Windows 的
netsh advfirewall export "policy.xml"
)。
- 优先放行必要服务:如远程管理端口(SSH 22/RDP 3389),避免锁定自己。
引用说明:
- Microsoft Docs: Netsh 命令语法
- Ubuntu Manpage: ufw 手册
- Red Hat Docs: firewalld 指南
- Iptables 官方文档: Netfilter Project
通过命令行高效管理防火墙,可提升系统安全性,建议结合具体需求选择命令,并始终遵循最小权限原则。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6764.html