在Linux服务器上,您通常可以使用两种方式管理防火墙设置:

1. 使用iptables命令 这是一种比较旧的控制Linux网络访问的方法。

2. 使用firewalld 它是红帽家族(包括CentOS, RHEL)发行版推荐的管理NAT和动态IPv4/IPv6网络包过滤功能的应用服务。

这里分别针对这两种方式进行简要介绍:

iptables

iptables 是一套用于IPv4的基于内核的包过滤工具。通过这个工具你可以设定、维护或查看包过滤、NAT以及MANGLE配置信息。

linux服务器防火墙  第1张

允许某个端口的入站连接

bash

sudo iptables A INPUT p tcp dport 端口号 j ACCEPT

linux服务器防火墙  第2张

请将“端口号”改为你想打开的端口数字。

允许从一个特定IP的所有出站和入站流量

linux服务器防火墙  第3张

bash

添加规则来允许来自IP地址为 192.168.x.x的出站数据包

sudo iptables A OUTPUT s 192.168.x.x p all j ACCEPT

sudo iptables A INPUT d 192.168.x.x p all j ACCEPT

linux服务器防火墙  第4张

删除或删除链

你可以利用"D"(或delete)标志将规则移除,也可以直接删除所有链。例如,如果您想删除INPUT 链中的某一条具体规则:

linux服务器防火墙  第5张

bash

iptables deleteinput INPUT 目标地址

对于删除所有的防火墙规则并重启iptabales,请参考如下操作:

bash

iptables flush

linux服务器防火墙  第6张

firewalld

Firewalld 提供了防火墙管理接口,能够实现运行时状态和永久更改间的平衡切换。

1. 启动Firewall:

bash

sudo systemctl start firewalld

linux服务器防火墙  第7张

2. 设置Firewall开机启动:

bash

sudo systemctl enable firewalld

linux服务器防火墙  第8张

3. 设置允许指定的网络服务:

bash

linux服务器防火墙  第1张

sudo firewallcmd addservice= [permanent]

例如,添加允许ssh服务访问:

bash

linux服务器防火墙  第10张

sudo firewallcmd addservice=ssh [permanent]

4. 允许一个端口:

bash

sudo firewallcmd addport=端口/端口类型 permanent

sudo firewallcmd addport=80/tcp permanent

linux服务器防火墙  第11张

这将在你的防火墙上持久保留规则,因此你不必担心系统重置后丢失规则配置。

5. 删除上述操作中的`permanent`标签以应用于正在运行的系统。

注意,`firewallcmd`中的许多子命令都带有一个 `permanent`选项,这样可以保证即使是在系统重启之后也能保持这些变更不变。

linux服务器防火墙  第12张

根据您的具体情况和Linux发行版本(比如是否为RedHat或者CentOS等支持 firewalld 的发行版),以上步骤应该有所帮助。如果你的系统版本或具体情况需要更详细的支持或不同的策略,则应查询具体的指导文件或支持资源。请确保在做任何更改之前对您的服务器做出适当备份。