FirewallD 快速使用文档
FirewallD简介
FirewallD是CentOS7系列上代替iptables管理netfilter的配置工具,提供图形化和命令行,使用python开发(新版中计划使用c++重写),提供图形化和命令行两种管理方式,接下来我们来介绍下FirewallD的特性:
动态性
firewalld既然是作为iptables的替代品,那就不得不拿出iptables来比较,在iptables中我们将新的iptables规则写入/etc/sysconfig/iptables中,必须要执行命令service iptables reload 使变更的规则生效,在这个命令背后包含着两个步骤,
一、对旧的防火墙规则进行了清空,
二、重新完整的加载所有新的防火墙规则。
那么接下来我们看firewalld是怎么做的,
只需要将变更部分保存并更新到运行中的防火墙之中即可
在繁忙的系统中,firewalld无异于大大减少了防火墙对系统造成的不良影响。
易用性
比如我们要开放http服务,我们来看都是如何操作的:
iptables
~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
firewalld
~]# firewall-cmd —add-service=http
iptables中你要明白INPUT链、tcp协议、80端口 还有accept才能放行http服务,而firewalld你只需要添加http服务即可。
其它特性持续更新。。。
FirewallD上手
系统要求
CentOS 7 +
查看FirewallD状态
~ ]# firewall-cmd --state running
~]# systemctl status firewalld |grep
active Active: active (running)
以上都说明FIrewallD处于运行状态
查看FirewallD规则
查看当前系统对外开放的端口
~]# firewall-cmd --list-ports
20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 888/tcp
20/tcp:当前系统开放的端口有当前系统开放的有tcp协议的22端口,
39000-40000:当前系统开放的端口39000-40000之间的所有端口
查看当前区域的所有配置
~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources: services: ssh dhcpv6-client
ports:20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 888/tcp
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" port port="80" protocol="tcp" accept
Ports 跟上一条命令执行结果相同
rich rules:是一些特殊的配置
其它我们在这里不做过多介绍
启动,关闭,重启
~]# systemctl start firewalld
~]# systemctl stop firewalld
~]# systemctl restart firewalld
Firewalld实战
放行http服务的三种方式
用过iptables的都知道,执行命令的规则如果没有save重启就会丢失,而firewall-cmd提供了—permanent来提供永久配置而不是重启就丢失
使用service
~]# firewall-cmd —add-service=http
修改配置文件方式
/etc/firewalld/zones/public.xml
<zone>
<service name="http"/>
</zone>此种配置方式适用于系统自带的服务
使用端口
~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" port port="80" protocol="tcp" accept"
修改配置文件方式
/etc/firewalld/zones/public.xml
<zone>
<port protocol="tcp" port="80"/>
</zone>此种配置方式适用于非系统自带的服务
使用自定义service
1.从自带的模版中复制一个模版
~ ]# cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/ftp1.xml
2.修改ftp1.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>ftp1</short>
<description>zidingyi</description>
<port protocol="tcp" port="6666"/>
</service>
3.添加自定义服务
~]# firewall-cmd —add-service=ftp1
4.查看
]# firewall-cmd --list-all public target: default icmp-block-inversion: no interfaces: sources: services: dhcpv6-client ssh ftp1
放行192.168.1.0/24整个网段
~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" accept"
放行192.168.1.0/24对80端口的访问
~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port port="80" protocol="tcp" accept"
放行192.168.1.1 对22端口访问
~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port port="22" protocol="tcp" accept"
nat代理上网稍后更新。
注意事项:
添加规则需要执行以下命令才能生效
firewall-cmd --reload
写此博客主要是为了记录CentOS7上FirewallD的一些常规用法,并整理出来提供给需要快速完成firewalld需求的用户。话不多说,直接开整。
FirewallD 快速使用文档的更多相关文章
- 数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)
数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)
- oracle数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)
数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1) 文档内容 用途 详细信息 Patchsets ...
- 【Elastic-1】ELK基本概念、环境搭建、快速开始文档
TODO 快速开始文档 SpringBoot整合ELK(Logstash收集日志.应用主动向ES写入) ELK接入Kafka 基本概念 ElasticSearch 什么是ElasticSearch? ...
- L18 如何快速查找文档获得帮助
原地址:http://www.howzhi.com/course/286/lesson/2121 查找文档快速 苹果提供了丰富的文档,以帮助您成功构建和部署你的应用程序,包括示例代码,常见问题解答,技 ...
- 用docsify快速构建文档,并用GitHub Pages展示
什么是docsify 无需构建,写完 markdown 直接发布成文档,写说明文档的极佳选择. 快速上手 安装 npm i docsify-cli -g docsify init docs 创建项目 ...
- 推荐一个vuepress模板,一键快速搭建文档站
介绍 vuepress-template是一个简单的VuePress案例模板,目的是让用户可以直接clone这个仓库,作为初始化一个VuePress网站启动项目,然后在这个项目的基础上新增自定义配置和 ...
- UE4官方行为树快速入门文档解析和修改
近学习了UE4官方文档的行为树快速入门指南,发现里面的部分逻辑稍稍有点混乱和重叠,于是加入了自己的想法,修改了部分行为树逻辑,优化了其AI寻路能力. 初始的基本操作和资源创建同官方文档一样:1个Fol ...
- zstack快速安装文档
1.环境准备 1.1 准备软件工具 系统镜像 ZStack-x86_64-DVD-2.1.1.514.iso Zstack安装包 ZStack-installer-2.1.1.514.bin http ...
- zabbix 3.0 快速安装文档
下载地址:http://www.zabbix.com/download.php 官方文档:https://www.zabbix.com/documentation/3.0/manual/install ...
随机推荐
- 20175224 2018-2019-2 《Java程序设计》第七周学习总结
教材学习内容总结 第八章 常用实用类 String类 构造String对象:常量对象:String对象:引用String常量. 字符串的并置:String对象使用“+”进行并置运算,即首尾相接. 字符 ...
- python命令随记
1. pip版本需要升级命令: python -m pip install --upgrade pip 2.查找Django命令 pip show django 3.查看python安装目录 进入Py ...
- [JDBC] 实用性能提升
在Java以及JavaWeb中,应用的性能是很重要的.尤其是数据库后端对应用的性能影响. 一.使用缓存 性能问题大多数情况下罪魁祸首是访问数据库的那些代码.因为连接到数据库需要准备好连接(connec ...
- golang中的mutex锁
mutex锁中一种互斥锁,如果有多个goroutine需要对同一变量进行修改则需要对该变量施加mutex锁以实现安全读写.
- php优秀框架codeigniter学习系列——CI_Controller分析
该类是一个超级大的父类,它将在 CodeIgniter.php 中实例化化过的类,通通加载成它的类成员变量,所以可以方便的进行各种操作.各种应用控制器类,都会继承 CI_Controller 类. _ ...
- 将 Range 对象赋给变量
有多种方法将现有的 Range 对象赋给变量.本主题对两种不同的方法进行了阐述.在下列示例中,将 Range 对象赋给变量 Range1 和 Range2.例如,下列指令将活动文档中的第一个和第二个单 ...
- 数据结构—头插法逆转单链表——空间复杂度为O(1)
#if 1 #include<stdio.h> #include<stdlib.h> #include<iostream> using namespace std; ...
- JPype1使用总结
目的:使用Locust+Python压测账号资料接口,使用JPype调用java代码,缩短压测脚本编写 前提条件:进行性能压测过程中,需要压测账号相关接口,由于账号相关接口设计到加密解密,用Pytho ...
- 关于下拉列表HtmlDownlistFor的使用
1.定义下拉列表需要的数据 public static List<SelectListItem> GetProList() { List<SelectListItem> i ...
- 怎么在Mac中的Safari查看网页源码
一般情况下,Safari中右键是没有查看网页源文件这个选项的: 但是通过设置是可以看到的~ 1.首先找到电脑左上角的Safari然后选择偏好设置: 2.接着选择 “高级”页签,勾选最下面的 “在菜单栏 ...