Linux防火墙是一种安全机制,它可以过滤未经授权的网络访问,并在服务器上提供一层安全保护。开启防火墙可以帮助保护我们的服务器免受网络攻击、入侵、恶意代码等的攻击。
Linux操作系统中,常见的防火墙有iptables和firewalld。本篇文章将介绍如何在Linux中开启或关闭这两种防火墙。
1. 开启iptables防火墙
步骤1:检查iptables是否已经安装
在绝大多数基于Linux的操作系统中,iptables都是默认安装的。如果你是在新的Linux服务器系统上工作,那么需要确认iptables是否已经安装。使用下面的命令:
sudo iptables -L
如果系统上有iptables,那么你会看到类似下面的输出:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
如果iptables未安装,那么你需要使用系统包管理器(比如yum或apt-get)安装它,或者手动从其他来源下载。
步骤2:开启iptables
使用下面命令来开启iptables:
sudo systemctl start iptables
或者使用以下命令:
sudo systemctl enable iptables
这将在下一次系统重启之后自动启动iptables。
步骤3:配置iptables规则
一旦启用了iptables,我们需要配置规则以指定允许或拒绝哪些类型的网络数据包。比如,我们可以配置规则以只允许HTTP、HTTPS和SSH连接,所有其他连接都将被拒绝。下面是如何配置这样的规则:
# 清空过去的规则
iptables -F
# 设置默认允许所有出站连接
iptables -P OUTPUT ACCEPT
# 设置默认拒绝所有入站连接
iptables -P INPUT DROP
# 允许本机连接
iptables -A INPUT -i lo -j ACCEPT
# 允许HTTP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许HTTPS
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
这些规则会限制服务从远程客户端连接到Linux服务器,只允许HTTP(端口80)、HTTPS(端口443)和SSH(端口22)的连接。
2. 关闭iptables防火墙
步骤1:停止iptables
要停止iptables运行,使用以下命令:
sudo systemctl stop iptables
步骤2:禁用iptables
可以使用以下命令禁用iptables,这将在下一次系统启动时自动关闭iptables:
sudo systemctl disable iptables
3. 开启firewalld防火墙
步骤1:检查firewalld是否已经安装
在大多数现代基于Linux的操作系统中,firewalld是默认安装的。如果你是在新的Linux服务器系统上工作,那么需要确认firewalld是否已经安装。使用下面的命令:
sudo firewall-cmd --version
如果出现如下输出,则表示已经安装firewalld:
firewall-cmd: command not found
步骤2:开启firewalld
使用下面的命令来开启firewalld:
sudo systemctl start firewalld
或者使用以下命令:
sudo systemctl enable firewalld
这将在下一次系统启动时自动启动firewalld。
步骤3:配置firewalld规则
一旦开启了firewalld,我们需要配置规则以指定允许或拒绝哪些类型的网络数据包。与iptables不同,firewalld规则适用于服务。
下面是如何配置firewalld以允