Linux 防火墙设置详解
Linux 系统中的防火墙主要是通过 iptables
或者其更新的版本 firewalld
进行配置和管理,这两个工具都允许系统管理员对进出网络流量进行控制,以保障系统安全,以下内容将详细介绍如何通过 iptables
和 firewalld
来设置 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 及更高版本的默认防火墙工具。
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 流量:
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 防火墙都是网络安全的关键组成部分,正确配置和管理防火墙规则对于保护系统免受未授权访问至关重要。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/207529.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复