iptables规则备份和恢复,firewalld的9个zone,firewalld关于zone的操作,firewalld关于service的操作

简介:

wKioL1nlxbzB2jqBAAjYVcFKu2M458.png


iptables-save可以将规则重定向保存到指定的文件中:

wKioL1nlxbyhpOGNAAC5qeQjNl8763.png

wKiom1nlyHeCDxNTAAunb7wCv4s064.png


iptables-restore则是相反,把文件里的规则恢复到iptables中:

wKiom1nlyHehetvsAAEeW9aZtEc481.png


其实这两个命令就是把规则备份到指定的文件里,当需要用到备份文件里的规则时,就可以使用iptables-restore恢复回去。

  例如我现在备份nat表的规则到指定的文件里,然后把nat表的规则清空,如果我想恢复的话只需要从指定的文件里恢复即可:

wKioL1nlxcSBU_6AAAYiZKGIwUc529.png

wKiom1nlyH3gao2IAAbYjlg5IOE216.png

wKioL1nlxcuSZvDbAAdSAYbvKC4123.png





10.20 firewalld9zone

wKiom1nlyIWRkK0KAAmOfzyCV9U666.png


  firewalldCentOS7的防火墙机制,之前我们学习iptables时,把firewalld防火墙禁掉了,所以现在我们要反着操作一下,开启firewalld关闭iptables

wKioL1nlxdGxX_7mAAN9zJfTWB4682.png

wKiom1nlyIiA21QEAAIi4u7C8oY111.png


现在使用iptables -nvL查看iptables 的规则会发现多了很多规则:

wKioL1nlxdaRI_H_AAnt65_G5BM259.png

这是firewalld自带的规则。



firewalld默认有9zonezonefirewalld的一个单位,默认的是public zone,每个zone都是一个规则集,规则集就是zone里面自带的一些规则的一个集合体,使用firewall-cmd  --get-zones命令可以查看所有的zone

wKioL1nlxdbSiXw_AAIT7PPkLY0598.png


firewall-cmd  --get-default-zone命令可以查看默认的zone

wKiom1nlyI3Sbef3AAHcrVWJo5U047.png


这些不同的zone的区别与含义:

wKioL1nlxdyDmnSrAAn_PQ7Iszg249.png




10.21 firewalld关于zone的操作

wKiom1nlyJPhsnreAAR_8Lw-EhY655.png


设定默认的zone

wKioL1nlxd6hs4F6AAKDDqKyvBo293.png


查看指定网卡:

wKiom1nlyJXBERi7AAI0NIyp2G4169.png



如果你新添加的网卡显示的是no zone的话,你就需要进入到/etc/sysconfig/network-scripts/目录下,把正常的网卡配置文件复制一份为你新网卡名称命名的文件,然后修改一下配置文件为你新网卡的信息,然后重启一下网络服务:

wKioL1nlxeGgYIVmAAJZyuJr9ts721.png

wKiom1nlyJjCz8aqAAIZNeR8_mw581.png

wKioL1nlxeWT93b7AAb8PL7dFmI469.png

wKiom1nlyJuQJV6WAAJ-BzNN2Nc327.png

wKioL1nlxebz2E9CAAI0NMe0XZ8521.png



如果配置了配置文件之后还是显示no zone的话,就给这个网卡设置zone,语法:

firewall-cmd --zone=zone的名称 --add-interface=网卡名称

例如:

wKiom1nlyJzS4mfNAAFkCpa2iiw595.png

wKioL1nlxeeQFVFzAAHygHVVikg043.png


针对网卡更改zone

wKiom1nlyJ_DUKlAAANLpM-OlSo901.png


针对网卡删除zone

wKioL1nlxerSNXtoAATqJZdj05A180.png


查看系统所有网卡所在的zone

wKiom1nlyKGyJU-cAAKqolZ3bPc292.png





10.22 firewalld关于service的操作

wKiom1nlyKShcTzBAAkVDGRPT7w712.png


所谓service就是zone下面的一个子单元,可以理解为一个指定的端口,因为防火墙无外乎就是对某个端口进行限制,例如http连接的是80端口、https连接的是43端口、ssh连接的22端等等。

  查看所有的service

wKioL1nlxqzTXwcmAAGpb1AhjEQ689.png


查看当前的zone里都有哪些service

wKiom1nlyWPAEwCdAAFvNpHClYA967.png


查看指定的zone下面有哪些service

wKioL1nlxq2QcXPBAAItvXLF8MU183.png


http增加到publiczone下面:

wKioL1nlxq6hpGZvAAK_GJ73feQ647.png



现在仅仅是在内存里把zone增加了service,重启之后就会失效,想要永久有效,就要保存到配置文件里:

wKiom1nlyWWwD8cpAAH3eB4KQis133.png


这个文件会保存在/etc/firewalld/zones/目录下:

wKiom1nlyWbTSQmLAAFQLfRsJBc839.png

wKioL1nlxrPTI9a7AAVPAjfw0U8110.png


  除了zones还有serviceservice默认是没有文件的,只有更改了service的配置文件之后,才会放在/etc/firewalld/services/目录下:

wKiom1nlyWmyQHKFAAEDw-q6SSA260.png


/usr/lib/firewalld/zones/目录下存放的是zone配置文件的模板:

wKioL1nlxrSSWp9fAAGpb_cZwGA066.png


/usr/lib/firewalld/services/目录下存放的是services配置文件的模板:

wKiom1nlyWvST_ihAAJfjVLl5uo516.png


现在我有一个需求,把ftp的默认端口改一下,改为1121端口,并且在work zone下放行ftp

  第一步,把ftp的配置文件拷贝到/etc/firewalld/services/目录下:

wKioL1nlxragGDp8AAII20ertKg390.png


第二步,编辑/etc/firewalld/services/目录下的ftp.xml文件:

wKiom1nlyW6Tz-jWAARozKKkDfU553.png


  第三步,把/usr/lib/firewalld/zones/目录下的work.xml文件放到/etc/firewalld/zones/目录下:

wKioL1nlxrmj6HO0AAIRhFe2BJ0831.png


第四步,编辑/etc/firewalld/zones/目录下的work.xml文件:

wKioL1nlxrvjr98aAAUP2TNOwa8487.png


配置文件修改完成后,重新加载一下:

wKiom1nlyXGBQJcPAAGHzHPw5ng765.png


指定zonework

wKioL1nlxrzg_X_BAAJOcmqTAFQ580.png

这个需求就完成了。


总结:

firewalled服务有两个角色,一个是zone一个是servicezonefirewalled的一个规则集合,每个zone里都会有对应的iptables规则。每个zone下面都有一些service,这些service就像是这个zone的白名单,放行这些service。如果遇到需求,需要放行某个服务,就可以把这个服务增加到配置文件里去,再重新reload就可以了,操作方式和上面的那个例子一样。




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1973398,如需转载请自行联系原作者

相关文章
|
网络协议 Java 应用服务中间件
【Spring Cloud系统】- 轻量级高可用工具Keepalive详解
【Spring Cloud系统】- 轻量级高可用工具Keepalive详解
674 0
|
Android开发
KernelSU基于内核的 SU。它通过自定义内核,直接在内核中赋予目标进程 root 权限。
KernelSU基于内核的 SU。它通过自定义内核,直接在内核中赋予目标进程 root 权限。
4571 0
|
8月前
|
运维 网络安全 文件存储
找不到类似 Docker Desktop 的 Web 管理界面?试试这些开源方案
Docker Desktop 是本地容器化开发的利器,但存在无法通过 Web 远程管理、跨平台体验不一致等问题。为此,推荐几款轻量级、可 Web 化管理的 Docker 工具:Portainer 功能全面,适合企业级运维;CasaOS 集成应用商店和 NAS 功能,适合家庭/个人开发环境;Websoft9 提供预集成环境,新手友好。这些工具能有效提升容器管理效率,满足不同场景需求。
458 3
|
Linux Android开发
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
375 0
|
4月前
|
存储 运维 安全
【转】服务器托管服务:优势解析与决策指南
服务器托管服务通过专业数据中心提供稳定IT基础设施,帮助企业与个人降低成本、提升安全性与运维效率。相较自建机房,其优势包括成本节约、高可用性、网络安全防护、7×24技术支持及灵活扩展能力。本文深入解析五大核心价值、对比自建与托管模式差异,并提供服务商选择指南,助力企业做出明智决策。
218 0
|
Linux 网络安全
在Linux中,要想把iptable的规则保存到一个文件中如何做?如何恢复?
在Linux中,要想把iptable的规则保存到一个文件中如何做?如何恢复?
|
Java API 开发者
【开发者福音】Spring Boot 异常处理:优雅应对错误,提升应用健壮性,让调试不再是噩梦!
【8月更文挑战第29天】本文通过对比传统错误处理方式与Spring Boot推荐的最佳实践,展示了如何在Spring Boot应用中实现统一且优雅的异常处理。传统方法需在每个可能出错的地方显式处理异常,导致代码冗余且不一致。而Spring Boot的全局异常处理机制则能集中处理所有异常,简化代码并确保错误响应格式统一,提高应用程序的健壮性和可维护性。文中提供了具体的示例代码以帮助读者更好地理解和应用这一机制。
505 0
|
存储 安全 C++
UEFI vs Legacy:深入理解两种启动模式的区别
UEFI vs Legacy:深入理解两种启动模式的区别
5153 0
|
监控 安全 网络安全
代理IP安全问题:在国外使用代理IP是否安全
代理IP安全问题:在国外使用代理IP是否安全
338 3