前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iptables规则备份和恢复,firewalld相关操作

iptables规则备份和恢复,firewalld相关操作

作者头像
端碗吹水
发布2020-09-23 10:08:50
1K0
发布2020-09-23 10:08:50
举报

笔记内容:

l 10.19 iptables规则备份和恢复

l 10.20 firewalld的9个zone

l 10.21 firewalld关于zone的操作

l 10.22 firewalld关于service的操作

笔记日期:2017.8.31

10.19 iptables规则备份和恢复

wKioL1nlxbzB2jqBAAjYVcFKu2M458.png
wKioL1nlxbzB2jqBAAjYVcFKu2M458.png

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

wKioL1nlxbyhpOGNAAC5qeQjNl8763.png
wKioL1nlxbyhpOGNAAC5qeQjNl8763.png
wKiom1nlyHeCDxNTAAunb7wCv4s064.png
wKiom1nlyHeCDxNTAAunb7wCv4s064.png

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

wKiom1nlyHehetvsAAEeW9aZtEc481.png
wKiom1nlyHehetvsAAEeW9aZtEc481.png

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

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

wKioL1nlxcSBU_6AAAYiZKGIwUc529.png
wKioL1nlxcSBU_6AAAYiZKGIwUc529.png
wKiom1nlyH3gao2IAAbYjlg5IOE216.png
wKiom1nlyH3gao2IAAbYjlg5IOE216.png
wKioL1nlxcuSZvDbAAdSAYbvKC4123.png
wKioL1nlxcuSZvDbAAdSAYbvKC4123.png

10.20 firewalld的9个zone

wKiom1nlyIWRkK0KAAmOfzyCV9U666.png
wKiom1nlyIWRkK0KAAmOfzyCV9U666.png

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

wKioL1nlxdGxX_7mAAN9zJfTWB4682.png
wKioL1nlxdGxX_7mAAN9zJfTWB4682.png
wKiom1nlyIiA21QEAAIi4u7C8oY111.png
wKiom1nlyIiA21QEAAIi4u7C8oY111.png

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

wKioL1nlxdaRI_H_AAnt65_G5BM259.png
wKioL1nlxdaRI_H_AAnt65_G5BM259.png

这是firewalld自带的规则。

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

wKioL1nlxdbSiXw_AAIT7PPkLY0598.png
wKioL1nlxdbSiXw_AAIT7PPkLY0598.png

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

wKiom1nlyI3Sbef3AAHcrVWJo5U047.png
wKiom1nlyI3Sbef3AAHcrVWJo5U047.png

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

wKioL1nlxdyDmnSrAAn_PQ7Iszg249.png
wKioL1nlxdyDmnSrAAn_PQ7Iszg249.png

10.21 firewalld关于zone的操作

wKiom1nlyJPhsnreAAR_8Lw-EhY655.png
wKiom1nlyJPhsnreAAR_8Lw-EhY655.png

设定默认的zone:

wKioL1nlxd6hs4F6AAKDDqKyvBo293.png
wKioL1nlxd6hs4F6AAKDDqKyvBo293.png

查看指定网卡:

wKiom1nlyJXBERi7AAI0NIyp2G4169.png
wKiom1nlyJXBERi7AAI0NIyp2G4169.png

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

wKioL1nlxeGgYIVmAAJZyuJr9ts721.png
wKioL1nlxeGgYIVmAAJZyuJr9ts721.png
wKiom1nlyJjCz8aqAAIZNeR8_mw581.png
wKiom1nlyJjCz8aqAAIZNeR8_mw581.png
wKioL1nlxeWT93b7AAb8PL7dFmI469.png
wKioL1nlxeWT93b7AAb8PL7dFmI469.png
wKiom1nlyJuQJV6WAAJ-BzNN2Nc327.png
wKiom1nlyJuQJV6WAAJ-BzNN2Nc327.png
wKioL1nlxebz2E9CAAI0NMe0XZ8521.png
wKioL1nlxebz2E9CAAI0NMe0XZ8521.png

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

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

例如:

wKiom1nlyJzS4mfNAAFkCpa2iiw595.png
wKiom1nlyJzS4mfNAAFkCpa2iiw595.png
wKioL1nlxeeQFVFzAAHygHVVikg043.png
wKioL1nlxeeQFVFzAAHygHVVikg043.png

针对网卡更改zone:

wKiom1nlyJ_DUKlAAANLpM-OlSo901.png
wKiom1nlyJ_DUKlAAANLpM-OlSo901.png

针对网卡删除zone:

wKioL1nlxerSNXtoAATqJZdj05A180.png
wKioL1nlxerSNXtoAATqJZdj05A180.png

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

wKiom1nlyKGyJU-cAAKqolZ3bPc292.png
wKiom1nlyKGyJU-cAAKqolZ3bPc292.png

10.22 firewalld关于service的操作

wKiom1nlyKShcTzBAAkVDGRPT7w712.png
wKiom1nlyKShcTzBAAkVDGRPT7w712.png

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

  查看所有的service:

wKioL1nlxqzTXwcmAAGpb1AhjEQ689.png
wKioL1nlxqzTXwcmAAGpb1AhjEQ689.png

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

wKiom1nlyWPAEwCdAAFvNpHClYA967.png
wKiom1nlyWPAEwCdAAFvNpHClYA967.png

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

wKioL1nlxq2QcXPBAAItvXLF8MU183.png
wKioL1nlxq2QcXPBAAItvXLF8MU183.png

把http增加到public的zone下面:

wKioL1nlxq6hpGZvAAK_GJ73feQ647.png
wKioL1nlxq6hpGZvAAK_GJ73feQ647.png

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

wKiom1nlyWWwD8cpAAH3eB4KQis133.png
wKiom1nlyWWwD8cpAAH3eB4KQis133.png

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

wKiom1nlyWbTSQmLAAFQLfRsJBc839.png
wKiom1nlyWbTSQmLAAFQLfRsJBc839.png
wKioL1nlxrPTI9a7AAVPAjfw0U8110.png
wKioL1nlxrPTI9a7AAVPAjfw0U8110.png

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

wKiom1nlyWmyQHKFAAEDw-q6SSA260.png
wKiom1nlyWmyQHKFAAEDw-q6SSA260.png

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

wKioL1nlxrSSWp9fAAGpb_cZwGA066.png
wKioL1nlxrSSWp9fAAGpb_cZwGA066.png

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

wKiom1nlyWvST_ihAAJfjVLl5uo516.png
wKiom1nlyWvST_ihAAJfjVLl5uo516.png

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

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

wKioL1nlxragGDp8AAII20ertKg390.png
wKioL1nlxragGDp8AAII20ertKg390.png

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

wKiom1nlyW6Tz-jWAARozKKkDfU553.png
wKiom1nlyW6Tz-jWAARozKKkDfU553.png

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

wKioL1nlxrmj6HO0AAIRhFe2BJ0831.png
wKioL1nlxrmj6HO0AAIRhFe2BJ0831.png

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

wKioL1nlxrvjr98aAAUP2TNOwa8487.png
wKioL1nlxrvjr98aAAUP2TNOwa8487.png

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

wKiom1nlyXGBQJcPAAGHzHPw5ng765.png
wKiom1nlyXGBQJcPAAGHzHPw5ng765.png

指定zone为work:

wKioL1nlxrzg_X_BAAJOcmqTAFQ580.png
wKioL1nlxrzg_X_BAAJOcmqTAFQ580.png

这个需求就完成了。

总结:

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-10-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 10.19 iptables规则备份和恢复
  • 10.20 firewalld的9个zone
  • 10.21 firewalld关于zone的操作
  • 10.22 firewalld关于service的操作
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档