Linux 如何设置防火墙

Linux 如何设置防火墙

Linux 如何设置防火墙

防火墙是每个当代计算机系统不可缺少的组成部分,它保障了网络的安全,保护系统不被非法访问。在这篇文章中,我们将深入了解Linux防火墙的领域,并学习如何配置一个防火墙。

在我们涉及到在Linux中建立防火墙的技术细节之前,让我们澄清一下什么是防火墙以及为什么它如此重要!

防火墙是一种网络安全设备,根据预定的安全规则监控和限制网络流量。防火墙的主要功能是阻止对计算机系统或网络的未经授权的访问,同时仍然允许授权的访问。它作为一个看门人,控制谁和什么可以进入和离开网络。

在Linux中配置防火墙有两个主要选择:iptables和firewalld。

iptables “是一个用于管理Linux内核防火墙的命令行程序。多年来,它是Linux服务器的默认防火墙,至今仍被广泛使用。

firewalld “是一种更现代的管理Linux中防火墙的方法。它是一个动态守护程序,为管理防火墙规则提供了一个D-Bus接口,它被许多Linux发行版作为默认防火墙使用。

现在让我们深入了解在Linux中使用iptables和firewalld设置防火墙所需的步骤。

使用 “iptables “来创建一个防火墙

要开始设置iptables防火墙,首先要确保它已经安装在你的系统上。尽管iptables存在于大多数Linux发行版中,但最好还是仔细检查一下。

打开终端,输入以下命令,看看你的系统上是否安装了iptables:sudo iptables -L

如果iptables还没有安装在你的机器上,使用下面的命令来安装它:sudo apt-get install iptables

一旦你确认iptables已经安装在你的系统上,你就可以开始设置防火墙。

iptables配置的最初步骤是为入站和出站流量建立默认策略。默认策略决定了对不符合防火墙中任何规则的数据包的处理方式。

要将默认策略设置为放弃所有传入和传出的流量,请运行以下命令

sudo iptables -P INPUT DROP

sudo iptables -P OUTPUT DROP

一旦你设置了默认策略,你就可以开始添加规则以允许或阻止特定类型的流量。向iptables添加规则的基本语法如下 –

sudo iptables -A [CHAIN] -p [PROTOCOL] --dport [PORT] -j [ACTION]

让我们来分解一下规则的组成部分 –

CHAIN – 这指定了防火墙中的链,该规则将被添加到其中。iptables的三个默认链是INPUT、OUTPUT和FORWARD。

PROTOCOL – 这指定了流量的协议。常见的协议包括TCP、UDP和ICMP。

PORT – 这指定了流量的端口号。

ACTION – 这指定了对符合规则的流量应采取的措施。常见的行动包括:ACCEPT、DROP和REJECT。

例如,下面的命令将在INPUT链上接受传入的SSH流量(端口22)。

sudo iptables -A INPUT -p tcp —dport 22 -j ACCEPT

Similarly, the following command would enable OUTPUT chain HTTP traffic (port 80) −

sudo iptables -A OUTPUT -p tcp —dport 80 -j ACCEPT

使用 “firewalld “来创建防火墙

在Linux中设置防火墙的另一个选择是使用firewalld。Firewalld是一个现代动态守护程序,被一些Linux发行版,如CentOS、Fedora和Red Hat Enterprise Linux,用作默认的防火墙管理工具。

用firewalld配置防火墙的第1步是看它是否已经安装在你的系统上。

大多数最近的Linux发行版都预装了firewalld,但是你可以通过在终端输入以下命令来验证它的存在

sudo firewall-cmd —state

如果你的机器上还没有安装firewalld,使用下面的命令来安装它: sudo yum install firewalld

一旦你确认Firewalld已经安装在你的系统上,你就开始配置防火墙。

配置firewalld的第1步是检查默认区域。默认区域是一组预定义的规则,管理系统上允许的流量。要检查默认区域,请运行以下命令

sudo firewall-cmd --get-default-zone

默认情况下,默认区域被设置为 “公共”。你可以通过运行以下命令来改变默认区域

sudo firewall-cmd --set-default-zone=zone

其中 “zone “是你想设置为默认的区域名称。

下一步是向防火墙添加规则,允许或阻止特定类型的流量。Firewalld使用一个叫做 “服务 “的概念,将相关的端口和协议组合在一起。一些常用的服务包括 “http”、”https”、”ssh “和 “smtp”。

To allow incoming HTTP traffic, for example, you can use the following command −

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

“–permanent “选项使规则成为永久性的,所以它在重启后仍然存在。如果你不使用”–permanent “选项,当系统重新启动时,该规则将被删除。

你还可以通过使用”–add-port “选项来允许特定的端口。例如,下面的命令允许SSH的22号端口的传入流量:

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

在添加必要的规则后,确保重新加载防火墙,以便使变化生效。

sudo firewall-cmd --reload

相关推荐

贾雨村为什么害贾家 红楼梦中贾雨村是如何陷害贾政
myeclipse中自带的tomcat在安装文件中的具体位置
365bet有手机版吗

myeclipse中自带的tomcat在安装文件中的具体位置

11-20 👁️ 5389
大理石砮皂雕像
365net

大理石砮皂雕像

11-16 👁️ 1221
使用以下账号登录
365etb为什么关闭账号

使用以下账号登录

08-13 👁️ 393
梦幻西游云游道人在哪 云游道人位置大全
庐山会议时,有三位重要人物没去参加,都是什么原因