linux防火墙如何设置

设置Linux防火墙,通常使用iptables或firewalld命令,进行规则配置和端口开放。

Linux 防火墙设置详解

Linux 系统中的防火墙主要是通过 iptables 或者其更新的版本 firewalld 进行配置和管理,这两个工具都允许系统管理员对进出网络流量进行控制,以保障系统安全,以下内容将详细介绍如何通过 iptables 和 firewalld 来设置 Linux 防火墙。

linux防火墙如何设置

iptables 的基本使用

iptables 是一个在内核级别上工作的强大工具,它能够对数据包进行过滤、转发以及修改等操作,iptables 基于链(chain)和规则(rule)的概念来处理流量。

1、查看当前规则

要查看当前的防火墙规则,可以使用以下命令:

sudo iptables -L -n -v

2、清空所有规则

在开始设置新的规则之前,可能需要清空所有现有的规则,这可以通过以下命令实现:

sudo iptables -F

3、设置默认策略

通常情况下,需要首先设置默认的策略,即当数据包不匹配任何规则时的处理方式,通常设置为 DROP(丢弃):

sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT

4、允许特定的流量

接下来,可以根据需要允许特定的流量进入或离开系统,允许来自特定 IP 地址的流量:

sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

firewalld 的基本使用

firewalld 是 iptables 的一个封装,提供了更友好的用户界面和更高级的网络配置选项,它是 CentOS 7 及更高版本的默认防火墙工具。

linux防火墙如何设置

1、启动与停止 firewalld

要启动 firewalld,可以运行:

sudo systemctl start firewalld

若要停止 firewalld,则运行:

sudo systemctl stop firewalld

2、查看当前状态

可以使用以下命令查看 firewalld 的状态:

sudo firewall-cmd --state

3、添加服务

firewalld 允许直接通过服务名称来添加规则,非常方便,要允许 SSH 服务,可以运行:

sudo firewall-cmd --add-service=ssh --permanent

不要忘记重新加载配置以使更改生效:

sudo firewall-cmd --reload

常见问题与解答

Q1: 如何使用 iptables 允许特定端口的流量?

A1: 可以使用 -p 参数指定协议(如 tcp 或 udp),并使用 --dport 或 --sports 参数指定目标或源端口号,允许所有到达端口 80 的 HTTP 流量:

linux防火墙如何设置

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

Q2: 如何在 firewalld 中允许特定端口?

A2: 使用 --add-port 参数来添加端口规则,开放端口 8080:

sudo firewall-cmd --add-port=8080/tcp --permanent

Q3: 如何保存 iptables 的配置,使其在重启后依然有效?

A3: 可以使用 iptables-save 命令将当前规则导出到一个文件,然后在系统启动脚本中加入一个调用 iptables-restore 的命令来恢复规则。

Q4: 如何临时关闭 firewalld 而不重启服务?

A4: 可以使用 --runtime-to-permanent 选项来立即应用更改而不重新启动服务:

sudo firewall-cmd --add-service=ssh --runtime-to-permanent

无论是使用 iptables 还是 firewalld,Linux 防火墙都是网络安全的关键组成部分,正确配置和管理防火墙规则对于保护系统免受未授权访问至关重要。

0
评论