论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
中间件
›
中间件
›
在CentOS 7上如何从FirewallD迁移至Iptables
在CentOS 7上如何从FirewallD迁移至Iptables
宝塔山
论坛元老
|
2024-10-25 12:39:26
|
显示全部楼层
|
阅读模式
楼主
主题
1878
|
帖子
1878
|
积分
5634
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,不由得分享一下给大家。点击跳转到网站。
介绍
与大多数其他 Linux 发行版一样,CentOS 7 使用 Linux 内核中的 netfilter 框架来访问通过网络堆栈活动的数据包。这提供了必要的接口来检查和操作数据包,以实现防火墙系统。
大多数发行版使用 iptables 防火墙,它使用 netfilter 钩子来执行防火墙规则。CentOS 7 配备了一个名为 firewalld 的替换服务,它实现了雷同的功能。
固然 firewalld 是一个非常强大的防火墙办理方案,具有出色的功能,但对于一些用户来说,如果他们熟悉 iptables 的语法并且满意其行为和性能,大概更容易使用 iptables。iptables 命令现实上被 firewalld 本身使用,但是 CentOS 7 默认情况下没有安装 iptables 服务。在本指南中,我们将演示如何在 CentOS 7 上安装 iptables 服务,并将防火墙从 firewalld 迁移到 iptables(如果您想了解如何使用 FirewallD,请检察此指南)。
保存当前防火墙规则(可选)
在将服务器的防火墙办理方案切换到 iptables 之前,最好保存 firewalld 正在执行的当前规则。我们上面提到,firewalld 守护程序现实上使用 iptables 命令与 netfilter 内核钩子通信。因此,我们可以使用 iptables 命令来转储当前规则。
通过输入以下命令将当前规则集转储到标准输出并保存到您的主目次中的名为 firewalld_iptables_rules 的文件中:
sudo iptables -S | tee ~/firewalld_iptables_rules
复制代码
对 ip6tables 也执行雷同操作:
sudo ip6tables -S | tee ~/firewalld_ip6tables_rules
复制代码
根据运动的 firewalld 区域、启用的服务以及从 firewall-cmd 直接传递给 iptables 的规则,转储的规则集大概非常巨大。
firewalld 服务使用普通的 iptables 规则来实现其防火墙策略。它通过使用 iptables 链构建管理框架来实现这一点。您大概会看到的大多数规则将用于创建这些管理链并指导流量进出这些结构。
您迁移到 iptables 服务的防火墙规则将不需要重新创建 firewalld 依赖的管理框架。因此,您最终实验的规则集大概会简朴得多。我们在此保存整个聚集,以尽大概保持尽大概多的原始数据。
您可以通过输入以下命令来检察一些更重要的行,以了解您需要重新创建的策略:
grep 'ACCEPT\|DROP\|QUEUE\|RETURN\|REJECT\|LOG' ~/firewalld_iptables_rules
复制代码
这将主要表现导致最终决议的规则。只跳转到用户创建的链的规则将不会表现。
下载并安装 Iptables 服务
要开始服务器的过渡,您需要从 CentOS 软件堆栈下载并安装 iptables-service 包。
通过输入以下命令下载并安装服务文件:
sudo yum install iptables-services
复制代码
这将下载并安装用于管理 iptables 服务的 systemd 脚本。它还将在 /etc/sysconfig 目次中写入一些默认的 iptables 和 ip6tables 设置文件。
构建您的 Iptables 防火墙规则
接下来,您需要通过修改 /etc/sysconfig/iptables 和 /etc/sysconfig/ip6tables 文件来构建您的 iptables 防火墙规则。这些文件保存了在启动 iptables 服务时将被读取和应用的规则。
您如何构建防火墙规则取决于是否安装并使用 system-config-firewall 进程来管理这些文件。检查 /etc/sysconfig/iptables 文件顶部以检察是否发起不要手动编辑:
sudo head -2 /etc/sysconfig/iptables
复制代码
如果输出看起来像如许,可以自由地手动编辑 /etc/sysconfig/iptables 和 /etc/sysconfig/ip6tables 文件以实验 iptables 防火墙的策略:
[secondary_label output]
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
复制代码
使用 sudo 权限打开并编辑文件以添加您的规则:
sudo nano /etc/sysconfig/iptables
sudo nano /etc/sysconfig/ip6tables
复制代码
在订定规则后,您可以使用以下命令测试您的 IPv4 和 IPv6 规则:
sudo sh -c 'iptables-restore -t < /etc/sysconfig/iptables'
sudo sh -c 'ip6tables-restore -t < /etc/sysconfig/ip6tables'
复制代码
另一方面,如果检查 /etc/sysconfig/iptables 文件的输出看起来像如许,您不应该手动编辑该文件:
[secondary_label output]
复制代码
由 system-config-firewall 编写的防火墙设置
不发起手动修改此文件。
这意味着安装并使用了 system-config-firewall 管理工具来管理此文件。任何手动更改都将被该工具覆盖。如果看到这个提示,应该使用相关工具来更改防火墙。对于文本界面,输入以下命令:
sudo system-config-firewall
-tui
复制代码
如果安装了图形界面,可以输入以下命令启动:
sudo system-config-firewall
复制代码
如果需要学习关于 iptables 规则和语法的帮助,下面的指南大概会有所帮助,尽管它们主要针对 Ubuntu 系统:
如何在 Ubuntu 14.04 上使用 Iptables 设置防火墙
Iptables 基础知识:常见防火墙规则和命令
如何在 Ubuntu 14.04 上使用 Iptables 实现根本防火墙模板
制止 FirewallD 服务并启动 Iptables 服务
接下来,我们需要制止当前的 firewalld 防火墙并启动我们的 iptables 服务。我们将使用 && 构造在 firewalld 服务乐成关闭后立刻启动新的防火墙服务:
sudo systemctl stop firewalld && sudo systemctl start iptables; sudo systemctl start ip6tables
复制代码
您可以通过输入以下命令验证 firewalld 是否未运行:
sudo firewall-cmd --state
复制代码
您还可以通过输入以下命令检察您在 /etc/sysconfig 目次中设置的规则是否已加载和应用:
sudo iptables -S
sudo ip6tables -S
复制代码
此时,iptables 和 ip6tables 服务已激活当前会话。但是,当前情况下,firewalld 服务仍旧会在服务器重新启动时主动启动。
这是测试防火墙策略的最佳时机,以确保您拥有所需的访问级别,因为如果出现任何问题,可以重新启动服务器以恢复到旧的防火墙。
禁用 FirewallD 服务并启用 Iptables 服务
在测试防火墙规则以确保策略精确执行后,可以禁用 firewalld 服务:
sudo systemctl disable firewalld
复制代码
这将防止服务在启动时主动启动。由于在运行 iptables 服务时也不应手动启动 firewalld 服务,可以采取额外步调屏蔽该服务。这将防止手动启动 firewalld 服务:
sudo systemctl mask firewalld
复制代码
现在,可以启用 iptables 和 ip6tables 服务,以便它们在启动时主动启动:
sudo systemctl enable iptables
sudo systemctl enable ip6tables
复制代码
这应该完成了防火墙的过渡。
结论
实验防火墙是确保服务器安全的重要步调。固然 firewalld 是一个很好的防火墙办理方案,但有时使用最熟悉的工具或在更多样化的基础办法中使用雷同的系统是最明智的选择。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
宝塔山
论坛元老
这个人很懒什么都没写!
楼主热帖
分布式事务 | 使用DTM 的Saga 模式 ...
Sqlserver2012卸载
Maxwell 一款简单易上手的实时抓取Mysq ...
哈工大信息安全概论期末复习 ...
WebLogic JNDI注入(CVE-2021-2109) ...
HTTPS基础原理和配置-3
轻量级CI/CD发布部署环境搭建及使用_03 ...
数字IC-1.9 吃透通信协议中状态机的代 ...
[DuckDB] 多核算子并行的源码解析 ...
.NET服务治理之限流中间件-FireflySoft ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
.Net
网络安全
数据仓库与分析
云原生
SQL-Server
分布式数据库
快速回复
返回顶部
返回列表