在Linux系统中,常用的防火墙管理工具主要有`iptables`、`nftables`以及`firewaltd`(通常与`firewallcmd`命令行工具一起使用),不同工具或版本的操作命令可能不同。下面根据常见的三种情况进行说明:

使用`iptables`

如果系统直接支持且使用`iptables`进行配置和管理:

linux防火墙开启命令  第1张

打开防火墙:

通常情况下,安装好Linux系统之后默认会启用基础的防火墙规则。如果你想允许新的流量或者开启新的规则,可以直接操作,比如添加一个新的允许端口的规则。

linux防火墙开启命令  第2张

bash

sudo iptables A INPUT p tcp dport 22 j ACCEPT 允许SSH(22)的访问

这不会立即打开或关闭防火墙作为一个整体的功能,只会增加一个新的特定规则。

linux防火墙开启命令  第3张

若要彻底开启所有新流入连接:

需要确保相关的策略已经到位,例如默认接收新连接:

bash

sudo iptables P INPUT ACCEPT 设置链政策

然后你可以清空所有的现有规则来应用这些新策略:

linux防火墙开启命令  第4张

bash

sudo iptables F 清除现有的所有规则列表

注意:这样的操作非常危险,除非你是有经验的用户,并理解你的系统安全需求。

要重新加载原有的iptables设置(例如重启后保留):

需要配置开机启动项或写入脚本,在开机时自动加载配置。

linux防火墙开启命令  第5张

使用`nftables`

从`nftables`(取代`iptables`成为下一代高级防火墙工具):

sh

sudo nft list ruleset 列出现有策略

然后你可以通过追加新的策略或修改现存的规则来实现“打开”的效果。

举一个示例,开放HTTP(S)

sudo nft add rule inet filter input tcp dport 80 accept 开放HTTP

linux防火墙开启命令  第6张

具体的`nftables`指令依赖于您的配置和需要管理的服务。

使用`firewalld`

linux防火墙开启命令  第7张

大部分现代Linux发行版都开始采用`firewalld + firewallcmd`作为防火墙配置的主要方式,因为其配置更为方便:

要临时打开某个端口(直到系统下一次重启):

bash

sudo firewallcmd addport=22/tcp 举例:允许SSH (22) 的连接

如果希望该设置在系统重启后仍然生效,则加上参数`permanent`:

linux防火墙开启命令  第8张

bash

sudo firewallcmd permanent addport=22/tcp 设置永久有效

linux防火墙开启命令  第8张

要检查当前状态(包括哪些端口被开放),可执行:

bash

sudo firewallcmd listall

linux防火墙开启命令  第10张

每一种工具和服务都有自己的特性和功能,请根据你的具体系统和需求选择正确的方法进行配置。如果你不确定哪一套是你的系统默认使用的,可以尝试使用命令检查当前防火墙状态或进程来确定。例如使用以下命令查询是否正在运行`firewalld`:

bash

sudo systemctl status firewalld 或者 systemctl status iptables,nftables查看对应服务的状态

linux防火墙开启命令  第11张