Linux运维笔记-文档总结-Firewalld服务

来源:互联网 发布:细集料坚固性试验数据 编辑:程序博客网 时间:2024/04/28 21:57

以下所有操作都是在Red-hat 7.0上


Firewalld概述

动态防火墙后台程序 firewalld 提供了一个 动态管理的防火墙,用以支持网络 “zones” ,以分配对一个网络及其相关链接和界面一定程度的信任。它具备对 IP v4 和 IP v6 防火墙设置的支持。它支持以太网桥,并有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口。

系统提供了图像化的配置工具firewall-config、system-config-firewall, 提供命令行客户端firewall-cmd, 用于配置 firewalld永久性或非永久性运行时间的改变:它依次用 iptables工具与执行数据包筛选的内核中的 Netfilter通信。

Firewalld和iptables service 之间最本质的不同是:

• iptables service 在 /etc/sysconfig/iptables 中储存配置,而 firewalld将配置储存在/usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种XML文件里.

• 使用 iptables service每一个单独更改意味着清除所有旧有的规则和从/etc/sysconfig/iptables里读取所有新的规则,然而使用 firewalld却不会再创建任何新的规则;仅仅运行规则中的不同之处。因此,firewalld可以在运行时间内,改变设置而不丢失现行连接。

• iptables通过控制端口来控制服务,而firewalld则是通过控制协议来控制端口

这里写图片描述

使用命令行接口配置防火墙(firewall-cmd)

firewall-cmd –state ##查看当前活动的区域,并附带一个目前分配给它们的接口列表

firewall-cmd –get-active-zones ##查看默认区域:

firewall-cmd –get-default-zone ##查看所有可用区域:

firewall-cmd –zone=public –list-all ##列出所有预设服务

firewall-cmd –get-services ##列出全部服务

firewall-cmd –list-all-zones ##列出所有区域的设置

firewall-cmd –permanent –zone=internal –add-source=172.25.0.0/24 ##(–permanent参数表示永久生效设置,如果没有指定–zone参数,那么会加入默认区域)

添加、改变、删除网络接口:

firewall-cmd –permanent –zone=internal –add-interface=eth0

firewall-cmd –permanent –zone=internal –change-interface=eth0

firewall-cmd –permanent –zone=internal –remove-interface=eth0

添加、删除服务:

firewall-cmd –permanent –zone=public –add-service=smtp

firewall-cmd –permanent –zone=public –remove-service=smtp

列出、添加、删除端口:

firewall-cmd –zone=public –list-ports

firewall-cmd –permanent –zone=public –add-port=8080/tcp

firewall-cmd –permanent –zone=public –remove-port=8080/tcp

重载防火墙:

firewall-cmd –reload

(注意:这并不会中断已经建立的连接,如果打算中断,可以使用 –complete-reload选项)

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

Direct Rules

通过 firewall-cmd 工具,可以使用 –direct 选项在运行时间里增加或者移除链。如果不熟悉 iptables ,使用直接接口非常危险,因为您可能无意间导致防火墙被入侵。

直接端口模式适用于服务或者程序,以便在运行时间内增加特定的防火墙规则。

直接端口模式添加的规则优先应用。

firewall-cmd –direct –get-all-rules ##列出规则

firewall-cmd –direct –add-rule ipv4 filter INPUT 0 ! -s 172.25.254.19 -p tcp –dport 80 -j ACCEPT ##添加规则

firewall-cmd –direct –remove-rule ipv4 filter INPUT 0 ! -s 172.25.254.19 -p tcp –dport 80 -j ACCEPT ##删除规则

这里写图片描述

端口转发和地址伪装

firewall-cmd –permanent –zone=< ZONE > –add-masquerade ##在做伪装的时候,一定要先打开伪装选项(masquerade )

firewall-cmd –permanent –zone=< ZONE > –add-rich-rule=’rule family=ipv4 source addres=172.25.0.0/24 masquerade’ ##在

firewall-cmd –permanent –zone=< ZONE > –add-forward-port=port=80:proto=tcp:toport=8080:toaddr=172.25.0.10 ##端口转发

这里写图片描述
这里写图片描述
这里写图片描述

测试:

这里写图片描述
这里写图片描述


The End

原创粉丝点击