iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >如何使用iptables和firewalld来管理防火墙
  • 253
分享到

如何使用iptables和firewalld来管理防火墙

2023-06-27 16:06:49 253人浏览 独家记忆
摘要

这篇文章主要介绍“如何使用iptables和firewalld来管理防火墙”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用iptables和firewalld来管理防火墙”文章能帮助大家解决问

这篇文章主要介绍“如何使用iptables和firewalld来管理防火墙”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用iptables和firewalld来管理防火墙”文章能帮助大家解决问题。

如何使用iptables和firewalld来管理防火墙

防火墙

防火墙是一组规则。当数据包进出受保护的网络区域时,进出内容(特别是关于其来源、目标和使用的协议等信息)会根据防火墙规则进行检测,以确定是否允许其通过。下面是一个简单的例子:

如何使用iptables和firewalld来管理防火墙

防火墙可以根据协议或基于目标的规则过滤请求。

一方面,iptables是 linux 机器上管理防火墙规则的工具

另一方面,firewalld也是 Linux 机器上管理防火墙规则的工具。

好吧,我承认整件事确实有点好笑,所以让我来解释一下。这一切都从 Netfilter 开始,它在 Linux 内核模块级别控制访问网络栈。几十年来,管理 Netfilter 钩子的主要命令行工具是 iptables 规则集。

因为调用这些规则所需的语法看起来有点晦涩难懂,所以各种用户友好的实现方式,如 ufw和 firewalld 被引入,作为更高级别的 Netfilter 解释器。然而,ufw 和 firewalld 主要是为解决单独的计算机所面临的各种问题而设计的。构建全方面的网络解决方案通常需要 iptables,或者从 2014 年起,它的替代品 nftables (nft 命令行工具)。

iptables 没有消失,仍然被广泛使用着。事实上,在未来的许多年里,作为一名管理员,你应该会使用 iptables 来保护的网络。但是 nftables 通过操作经典的 Netfilter 工具集带来了一些重要的崭新的功能。

从现在开始,我将通过示例展示 firewalld 和 iptables 如何解决简单的连接问题。

使用 firewalld 配置 Http 访问

正如你能从它的名字中猜到的,firewalld 是systemd家族的一部分。firewalld 可以安装在 Debian/ubuntu 机器上,不过,它默认安装在 RedHat 和 Centos 上。如果您的计算机上运行着像 Apache 这样的 WEB 服务器,您可以通过浏览服务器的 web 根目录来确认防火墙是否正在工作。如果网站不可访问,那么 firewalld 正在工作。

你可以使用firewall-cmd工具从命令行管理 firewalld 设置。添加–state参数将返回当前防火墙的状态:

# firewall-cmd --staterunning

默认情况下,firewalld 处于运行状态,并拒绝所有传入流量,但有几个例外,如 ssh。这意味着你的网站不会有太多的访问者,这无疑会为你节省大量的数据传输成本。然而,这不是你对 web 服务器的要求,你希望打开 HTTP 和 https 端口,按照惯例,这两个端口分别被指定为 80 和 443。firewalld 提供了两种方法来实现这个功能。一个是通过–add-port参数,该参数直接引用端口号及其将使用的网络协议(在本例中为tcp)。 另外一个是通过–permanent参数,它告诉 firewalld 在每次服务器启动时加载此规则:

# firewall-cmd --permanent --add-port=80/tcp# firewall-cmd --permanent --add-port=443/tcp

–reload 参数将这些规则应用于当前会话:

# firewall-cmd --reload

查看当前防火墙上的设置,运行–list-services:

# firewall-cmd --list-servicesdhcpv6-client http https ssh

假设您已经如前所述添加了浏览器访问,那么 HTTP、HTTPS 和 SSH 端口现在都应该是和dhcpv6-client一样开放的 —— 它允许 Linux 从本地 DHCP 服务器请求 IPv6 IP 地址。

使用 iptables 配置定的客户信息亭

我相信你已经看到了信息亭——它们是放在机场、图书馆和商务场所的盒子里的平板电脑、触摸屏和 ATM 类电脑,邀请顾客和路人浏览内容。大多数信息亭的问题是,你通常不希望用户像在自己家一样,把他们当成自己的设备。它们通常不是用来浏览、观看 YouTube 视频或对五角大楼发起拒绝服务攻击的。因此,为了确保它们没有被滥用,你需要锁定它们。

一种方法是应用某种信息亭模式,无论是通过巧妙使用 Linux 显示管理器还是控制在浏览器级别。但是为了确保你已经堵塞了所有的漏洞,你可能还想通过防火墙添加一些硬性的网络控制。在下一节中,我将讲解如何使用iptables 来完成。

关于使用 iptables,有两件重要的事情需要记住:你给出的规则的顺序非常关键;iptables 规则本身在重新启动后将无法保持。我会一次一个地在解释这些。

信息亭项目

为了说明这一切,让我们想象一下,我们为一家名为 BigMart 的大型连锁商店工作。它们已经存在了几十年;事实上,我们想象中的祖父母可能是在那里购物并长大的。但是如今,BigMart 公司总部的人可能只是在数着亚马逊将他们永远赶下去的时间。

尽管如此,BigMart 的 IT 部门正在尽他们最大努力提供解决方案,他们向你发放了一些具有 WiFi 功能信息亭设备,你在整个商店的战略位置使用这些设备。其想法是,登录到 BigMart.com 产品页面,允许查找商品特征、过道位置和库存水平。信息亭还允许进入 bigmart-data.com,那里储存着许多图像和视频媒体信息。

除此之外,您还需要允许下载软件包更新。最后,您还希望只允许从本地工作站访问 SSH,并阻止其他人登录。下图说明了它将如何工作:

如何使用iptables和firewalld来管理防火墙

*信息亭业务流由 iptables 控制。 *

脚本

以下是 Bash 脚本内容:

#!/bin/bashiptables -A OUTPUT -p tcp -d bigmart.com -j ACCEPTiptables -A OUTPUT -p tcp -d bigmart-data.com -j ACCEPTiptables -A OUTPUT -p tcp -d ubuntu.com -j ACCEPTiptables -A OUTPUT -p tcp -d ca.arcHive.ubuntu.com -j ACCEPTiptables -A OUTPUT -p tcp --dport 80 -j DROPiptables -A OUTPUT -p tcp --dport 443 -j DROPiptables -A INPUT -p tcp -s 10.0.3.1 --dport 22 -j ACCEPTiptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j DROP

我们从基本规则 -A 开始分析,它告诉 iptables 我们要添加规则。OUTPUT 意味着这条规则应该成为输出链的一部分。-p 表示该规则仅使用 TCP 协议的数据包,正如 -d 告诉我们的,目的地址是 bigmart.com。-j 参数的作用是当数据包符合规则时要采取的操作是 ACCEPT。第一条规则表示允许(或接受)请求。但,往下的规则你能看到丢弃(或拒绝)的请求。

规则顺序是很重要的。因为 iptables 会对一个请求遍历每个规则,直到遇到匹配的规则。一个向外发出的浏览器请求,比如访问 bigmart.com 是会通过的,因为这个请求匹配第一条规则,但是当它到达 dport 80 或 dport 443 规则时——取决于是 HTTP 还是 HTTPS 请求——它将被丢弃。当遇到匹配时,iptables 不再继续往下检查了。

另一方面,向 ubuntu.com 发出软件升级的系统请求,只要符合其适当的规则,就会通过。显然,我们在这里做的是,只允许向我们的 BigMart 或 Ubuntu 发送 HTTP 或 HTTPS 请求,而不允许向其他目的地发送。

最后两条规则将处理 SSH 请求。因为它不使用端口 80 或 443 端口,而是使用 22 端口,所以之前的两个丢弃规则不会拒绝它。在这种情况下,来自我的工作站的登录请求将被接受,但是对其他任何地方的请求将被拒绝。这一点很重要:确保用于端口 22 规则的 IP 地址与您用来登录的机器的地址相匹配——如果不这样做,将立即被锁定。当然,这没什么大不了的,因为按照目前的配置方式,只需重启服务器,iptables 规则就会全部丢失。如果使用 LXC 容器作为服务器并从 LXC 主机登录,则使用主机 IP 地址连接容器,而不是其公共地址。

如果机器的 IP 发生变化,请记住更新这个规则;否则,你会被拒绝访问。

在家玩(是在某种一次性虚拟机上)?太好了。创建自己的脚本。现在我可以保存脚本,使用 chmod 使其可执行,并以 sudo 的形式运行它。不要担心“igmart-data.com 没找到”之类的错误 —— 当然没找到;它不存在。

chmod +X scriptname.shsudo ./scriptname.sh

你可以使用 cURL 命令行测试防火墙。请求 ubuntu.com 奏效,但请求manning.com是失败的

curl ubuntu.comcurl manning.com

配置 iptables 以在系统启动时加载

现在,我如何让这些规则在每次信息亭启动时自动加载?第一步是将当前规则保存。使用 iptables-save 工具保存规则文件。这将在根目录中创建一个包含规则列表的文件。管道后面跟着 tee 命令,是将我的sudo 权限应用于字符串的第二部分:将文件实际保存到否则受限的根目录。

然后我可以告诉系统每次启动时运行一个相关的工具,叫做 iptables-restore 。我们在上一章节(LCTT 译注:指作者的书)中看到的常规 cron 任务并不适用,因为它们在设定的时间运行,但是我们不知道什么时候我们的计算机可能会决定崩溃和重启。

有许多方法来处理这个问题。这里有一个:

在我的 Linux 机器上,我将安装一个名为anacron的程序,该程序将在 /etc/ 目录中为我们提供一个名为 anacrontab 的文件。我将编辑该文件并添加这个 iptables-restore 命令,告诉它加载那个 .rule 文件的当前内容。当引导后,规则每天(必要时)01:01 时加载到 iptables 中(LCTT 译注:anacron 会补充执行由于机器没有运行而错过的 cron 任务,因此,即便 01:01 时机器没有启动,也会在机器启动会尽快执行该任务)。我会给该任务一个标识符(iptables-restore),然后添加命令本身。如果你在家和我一起这样,你应该通过重启系统来测试一下。

sudo iptables-save | sudo tee /root/my.active.firewall.rulessudo apt install anacronsudo nano /etc/anacrontab1 1 iptables-restore iptables-restore

关于“如何使用iptables和firewalld来管理防火墙”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 如何使用iptables和firewalld来管理防火墙

本文链接: https://www.lsjlt.com/news/311877.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用iptables和firewalld来管理防火墙
    这篇文章主要介绍“如何使用iptables和firewalld来管理防火墙”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用iptables和firewalld来管理防火墙”文章能帮助大家解决问...
    99+
    2023-06-27
  • Linux 防火墙配置(iptables和firewalld)
    目录 防火墙基本概念 Iptables讲解 Iptables表 Iptables规则链 Iptables控制类型 Iptables命令配置 firewalld讲解 Firewalld区域概念 Firewalld两种配置方法 firewall...
    99+
    2023-08-31
    linux 运维 服务器
  • centos、Red Hat和Ubuntu如何关闭和开启iptables和firewalld防火墙
    这期内容当中小编将会给大家带来有关centos、Red Hat和Ubuntu如何关闭和开启iptables和firewalld防火墙,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Linux系统存在不同的发...
    99+
    2023-06-28
  • 如何进行FirewallD 防火墙的使用
    这篇文章主要为大家分析了如何进行FirewallD 防火墙的使用的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何进行FirewallD 防火墙的使用”的知...
    99+
    2023-06-28
  • centos7云服务器如何使用firewalld防火墙
    centos7云服务器使用firewalld防火墙的方法:1、打开centos7云服务器终端控制台;2、输入“systemctl status firewalld”命令查看firewalld状态来检查firewalld是否已成功安装;3、f...
    99+
    2024-04-02
  • 如何用linux配置防火墙iptables
    如何用linux配置防火墙iptables,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。iptables一个详细实例代码如下:/etc/init.d/iptables star...
    99+
    2023-06-13
  • ubuntu16.04云服务器如何使用iptables防火墙
    ubuntu16.04云服务器使用iptables防火墙的方法:1、打开ubuntu16.04云服务器终端控制台;2、输入“sudo apt-get install iptables iptables-persistent”命令安装ipta...
    99+
    2024-04-02
  • Ubuntu中怎么使用iptables防火墙
    本篇内容主要讲解“Ubuntu中怎么使用iptables防火墙”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ubuntu中怎么使用iptables防火墙”吧!iptables是整合在Linux操...
    99+
    2023-07-04
  • Linux中如何设置iptables防火墙
    这篇文章给大家介绍Linux中如何设置iptables防火墙,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。查看防火墙规则:iptables -L -n添加防火墙规则:vi /etc/sysconfig/iptables...
    99+
    2023-06-05
  • centos6云服务器如何使用iptables防火墙
    centos6云服务器使用iptables防火墙的方法:1、打开centos6云服务器终端控制台;2、输入“yum install -t iptables”命令安装iptables防火墙;3、安装iptables防火墙成功后,设置防火墙规则...
    99+
    2024-04-02
  • LINUX下防火墙iptables的日志管理方法
    本篇内容主要讲解“LINUX下防火墙iptables的日志管理方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINUX下防火墙iptables的日志管理方法”吧!iptables的日志(lo...
    99+
    2023-06-10
  • 如何理解iptables和firewalld
    这期内容当中小编将会给大家带来有关如何理解iptables和firewalld,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于...
    99+
    2023-06-05
  • 怎么使用Iptables初始化防火墙
    这篇“怎么使用Iptables初始化防火墙”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Iptables初始化防火墙...
    99+
    2023-06-28
  • linux中如何增加iptables防火墙规则
    本篇内容主要讲解“linux中如何增加iptables防火墙规则”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中如何增加iptables防火墙规则”吧!iptables设置 ...
    99+
    2023-07-05
  • 如何配置CentOS iptables防火墙的Shell脚本
    本篇内容主要讲解“如何配置CentOS iptables防火墙的Shell脚本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何配置CentOS iptables防火墙的Shell脚本”吧!手里...
    99+
    2023-06-09
  • ufw防火墙如何使用
    这篇文章主要介绍“ufw防火墙如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ufw防火墙如何使用”文章能帮助大家解决问题。ufw(简单防火墙Uncomplicated FireWall)真正...
    99+
    2023-06-27
  • 如何分析Linux系统安全防火墙iptables
    本篇文章为大家展示了如何分析Linux系统安全防火墙iptables,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤...
    99+
    2023-06-28
  • 如何设置iptables防火墙实现阻挡常见攻击
    本篇内容介绍了“如何设置iptables防火墙实现阻挡常见攻击”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!从 Yaocheng 那里看到了...
    99+
    2023-06-13
  • Iptables防火墙四表五链概念及使用技巧详解
    目录1.链的概念2.Iptables五种链的概念3.Iptables数据流向经过的表4.Iptables防火墙四种表的概念5.Iptables防火墙表与链之间的优先级概念6.Ipta...
    99+
    2022-11-13
    Iptables防火墙四表五链 Iptables防火墙
  • ubuntu如何禁用防火墙
    ubuntu禁用防火墙的方法:可以使用alt+t快捷键打开终端。在命令行中输入以下命令关闭并禁用防火墙:sudo ufw disable再输入以下命令查看是否关闭成功:sudo ufw status若查看开启防火墙后的状态为inactive...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作