Linux20180510 iptablesfirewalld

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux20180510 iptablesfirewalld相关的知识,希望对你有一定的参考价值。

七周五次课(5月10日)

10.19 iptables规则备份和恢复
10.20 firewalld的9个zone
10.21 firewalld关于zone的操作
10.22 firewalld关于service的操作



iptables的规则备份和恢复


技术分享图片


service iptables save会把配置保存到配置文件中 /etc/sysconfig/iptables


如果不想保存在这 可以使用


iptables-save > 文件路径

技术分享图片


如果想恢复之前的iptables表,就使用

iptables-restore <文件路径 

iptables  -t nat -F 是将nat表的规则清空,然后查看无规则。接着restore后查看, 规则重新出现。看下图。

技术分享图片



Linux防火墙 firewalled

技术分享图片

firealled是之后centos7以及以后版本可能会使用的一个工具,所以需要将iptables关闭,打开firewalld

技术分享图片

技术分享图片

相对来说 firewalld自带的规则相对iptables比较多。以下就是firewalld自带的规则。不仅仅是filter 也包括nat表,链也比较多。

技术分享图片


firewalld默认是9个zone 默认zone为public 。一个zone就是一个规则集。

firewall-cmd --get-zones 查看所有的zone

技术分享图片


firewall-cmd --get-default-zone查看默认的zone

技术分享图片


不同zone的区别

技术分享图片


firewalld关于zone的操作

技术分享图片

默认的zone是可以修改的 

firewall-cmd --set-default-zone=work 将work更改为默认的zone

技术分享图片

firewall-cmd --get-zone-of-interface=ens33 查网卡的zone。如果no zone的话可以将ens33的配置文件拷贝一份给37然后修改对应的网络文件。然后重启网络服务以及重启firewalld。

技术分享图片


也可以手动给指定的网卡设置zone

firewall-cmd --zone=public --add-interface=lo 给指定网卡设置zone

技术分享图片

但是如果需要修改成功的话,需要先将NetworkManager关闭。systemctl stop NetworkManager why?

技术分享图片


firewall-cmd --zone=dmz --change-interface=lo 

针对网卡更改zone

技术分享图片

删除当前的zone

firewall-cmd --zone=dmz--remove-interface=ens37

注意还是牵涉到一个networkmanager的开启问题。why

技术分享图片


查看所有的生效的网卡

firewall-cmd --get-active-zones

技术分享图片




firewalld service操作


所谓的防火墙就是针对端口做一些限制,service可以理解为是zone下面的端口的操作。

比如http 是操作80端口 ssh 是21端口 https是43端口 

技术分享图片


查看所有的service

firewall-cmd --get-services

技术分享图片


查看当前默认的zone下都有哪些服务呢?

firewall-cmd --list-services

技术分享图片

如果是查找对应的zone的service呢?

firewall-cmd --zone=public --list-services

技术分享图片


在某个zone下面添加service,比如下面就是给public的zone添加http服务

firewall-cmd --zone=public --add-service=http

然后 firewall-cmd --zone=public --list-services

技术分享图片

但是,目前只是在内存中给zone添加了service,如果想写入配置文件,需要添加一个选项 --permanent 

firewall-cmd --zone=public --add-service=http --permanent

之后会在/etc/firewalld/zones目录下面生成配置文件

技术分享图片

有意思的地方是,配置文件有更新的时候,旧的不会覆盖而是会备份。

技术分享图片

同样 service也是有配置文件的,配置文件的目录是 /etc/firewalld/services/

在没有更改配置文件之前这里面是空的

技术分享图片

实际上这些xml格式的保存文件是有模板的,保存在/ usr/lib/firewalld/zone下

技术分享图片

同样 service也是有模板的 保存在/ usr/lib/firewalld/services下

技术分享图片


做一个小练习。

需求:ftp默认端口21更改为1121,需要在work zone下进行放行ftp

  1. 更改ftp服务。步骤,将ftp模板拷贝到配置文件路径的service目录下。然后编辑把21端口改成1121

    cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/

     技术分享图片

    技术分享图片

2. 将ftp服务放到work zone下。步骤 把work zone的模板文件拷贝到配置目录下,然后修改work.xml文件将ftp服务添加进去

技术分享图片

技术分享图片


3. 重新加载。 firewall-cmd --reload

技术分享图片


in sum,

防火墙 firewall 下主要有zone和service,zone下的service有哪些service,那就说明给哪些service 放行了。

也可以自定义service,比如进去ftp.xml进去改port




以上是关于Linux20180510 iptablesfirewalld的主要内容,如果未能解决你的问题,请参考以下文章

day17-20180510笔记

音视频处理之FFmpeg封装格式20180510

Python的集成环境anaconda

linux基础知识都有哪些

Linux汇总一——Linux程序管理,Linux终端,Linux命令格式命令类型及Linux命令帮助

Linux学习导航