用活firewalld防火墙之service
原文地址:http://www.excelib.com/article/291/show
前面学生已经给大家介绍了在firewalld中service的概念以及在zone中怎么使用service,但是service本身怎么配置我们还没讲,本节学生就来给大家介绍service本身的配置。
service配置文件
service相对于zone来说结构要简单的多,其整体配置文件结构如下
<service [version="string"]>
[<short>short description</short>]
[<description>description</description>]
[<port [port="portid[-portid]"] protocol="protocol"/>]
[<module name="helper"/>]
[<destination ipv4="address[/mask]" ipv6="address[/mask]"/>]
</service>
firewall-cmd分别提供了两个命令来创建和删除service
firewall-cmd --permanent --new-service='service'
firewall-cmd --permanent --delete-service='service'
不过我们如果直接编辑xml文件应该更简单,前面学生给大家介绍service概念的时候已经给大家介绍过了操作service配置文件的方法了,大部分服务在“/usr/lib/firewalld/services/”目录下都可以找到,不过我们不要直接修改而要复制一份到“/etc/firewalld/services/”中然后再进行修改,当然如果想自己创建一个服务也可以直接在“/etc/firewalld/services/”目录中创建,另外,更好的做法是在“/usr/lib/firewalld/services/”中找一个类似的服务复制一份到“/etc/firewalld/services/”目录中,然后修改文件名和其中的内容。
下面学生对service中的每个配置项给大家解释一下
version
version是service节点的一个可选属性,用于表示service的版本。
short
short在zone、icmptype等配置文件中也存在,其作用是简介,主要是让我们对所配置的内容有所了解,类似于注释的作用。
description
作用跟short相同,不过描述信息更加详细。
port
服务所对应的端口,这项是service中非常重要的一个配置项,大部分service主要就是对port进行绑定的,当一个service绑定了指定端口之后,该端口接收到的连接就会当成这个service,然后到所对应的zone中去查询规则,从而判断是否可以放行。
一个service中可以配置多个port节点,这在有的时候是非常有用的,比如
port节点有两可个配置的属性:port和protocol
port属性
port用来配置所使用的端口号,可以是单个端口也可以是一个端口段,比如port=100-105表示100到105之间的端口号,另外,port属性是个可选属性,可以不进行设置。
protocol属性
protocol属性用于指定所对应的协议,如果port属性不为空,那么protocol应该设置为tcp或者udp,如果port属性为空(没设置),那么protocol可以设置为/etc/protocols中所包含的任意协议。
module
module用于设置netfilter的helper。学生前面给大家介绍过,firewalld其实是基于netfilter进行工作的,netfilter中的helper主要用于连接的跟踪,这样就可以实现“有状态的防火墙”,也就是将相关的连接管理到一起。一个典型的例子就是ftp的连接,我们知道一般来说ftp使用的是21号端口,不过21号端口主要是用来传输命令的,实际传输文件又会使用一个其他的端口,不过这两个连接还有内在的联系,这种情况就可以使用netfilter中的helper来处理,在我们这里service中就是module节点。我们看一下firewalld默认给我们提供的ftp的service配置文件ftp.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>FTP</short>
<description>FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly available, enable this option. You need the vsftpd package installed for this option to be useful.</description>
<port protocol="tcp" port=""/>
<module name="nf_conntrack_ftp"/>
</service>
这里就使用了nf_conntrack_ftp这个helper,关于netfilter中helper的更多详细内容大家可以查看学生在参考文献中给大家列出的两个链接地址。
destination
destination非常简单,他就表示目标地址,也就是根据目标地址来绑定服务,他有两个属性:ipv4和ipv6,分别用于绑定ipv4和ipv6的地址,可以使用单个地址也可以使用掩码。
另外,在一个service中destination最多只能出现一次。
使用service
编辑完service配置文件后我们就可以在zone中使用了,具体使用方法学生在前面已经给大家介绍过,这里就不再重述了。
参考文献
1、http://blog.chinaunix.net/uid-23069658-id-3169450.html
2、http://blog.csdn.net/appletreesujie/article/details/6838218
用活firewalld防火墙之service的更多相关文章
- centos7 firewall-cmd 用活firewalld防火墙中的zone
原文:http://www.excelib.com/article/290/show/ firewalld中zone的含义学生前面已经给大家介绍过了,说白了一个zone就是一套规则集.可是什么时候该用 ...
- 用活firewalld防火墙中的zone
原文地址:http://www.excelib.com/article/290/show firewalld中zone的含义学生前面已经给大家介绍过了,说白了一个zone就是一套规则集.可是什么时候该 ...
- 用活Firewalld防火墙之direct
原文地址:http://www.excelib.com/article/294/show 学生在前面已经给大家介绍过了Firewalld中direct的作用,使用他可以直接使用iptables.ip6 ...
- CentOS 7出现Failed to start firewalld.service: Unit is masked的解决办法和firewalld 防火墙开关
说明:刚刚使用systemctl start firewalld命令开启防火墙的时候,却开不成功,出现Failed to start firewalld.service: Unit is masked ...
- 第8章 Iptables与Firewalld防火墙
章节简述: 红帽RHEL7系统已经用firewalld服务替代了iptables服务,新的防火墙管理命令firewall-cmd与图形化工具firewall-config. 本章节基于数十个防火墙需求 ...
- CentOS7使用firewalld防火墙配置端口
安装启用firewalld防火墙 CentOS7默认的防火墙是firewalld 如果没有firewalld防火墙,可以执行yum install firewalld 命令进行安装 firewalld ...
- CentOS7、REHL7的firewalld防火墙使用简单说明
title: CentOS7.REHL7的firewalld防火墙使用简单说明 categories: Linux tags: - Linux timezone: Asia/Shanghai date ...
- Linux firewalld 防火墙
Linux firewalld 防火墙 简介 RHEL 7 系统中集成了多款防火墙管理工具,其中 firewalld(Dynamic Firewall Manager of Linux system ...
- CentOS 7 打开关闭FirewallD防火墙端口命令
CentOS 7 使用firewalld代替了原来的iptables,使用方法如下: >>>关闭防火墙 systemctl stop firewalld.service ...
随机推荐
- Github上的iOS App源码 (中文)
Github版英文App地址 中文 : TeamTalk 蘑菇街. 开源IM. 电商强烈推荐. MyOne-iOS 用OC写的<一个> iOS 客户端 zhihuDaily 高仿知乎日报 ...
- MoreEffectiveC++Item35 条款27: 要求或禁止对象产生于heap中
一 要求对象产生在heap中 阻止对象产生产生在non-heap中最简单的方法是将其构造或析构函数声明在private下,用一个public的函数去调用起构造和析构函数 class UPNumber ...
- 剑指offer--42.孩子们的游戏(圆圈中最后剩下的数)
约瑟夫环,用链表,队列,总之模拟过程 ----------------------------------------------------------------- 时间限制:1秒 空间限制:32 ...
- win10 安装MongoDB
win10上面安装mongodb的时候,注意不要勾选上Install MongoDB Compass, 否则会退出报错!!!! mongodb的安装 我是在E盘建立的一个mongodb文件夹,用来安装 ...
- 【干货】Kaggle 数据挖掘比赛经验分享(mark 专业的数据建模过程)
简介 Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台.笔者从 2013 年开始,陆续参加了多场 Kaggle上面举办的比赛,相继获得了 C ...
- 胖AP基本配置:
配置思路: 先创建wlan并广播ssid 进入射频子接口封装用户vlan 进入射频口关联wlan 注意:03 多个无线信号配置 注:在把AP改为 ap-mode fat后不能退出特权模式,不然需要 ...
- 分布式版本控制系统Git——图形化Git客户端工具TortoiseGit
本篇导读: 上篇介绍了一款Windows环境下的Git服务器工具GitStack ,搭建了最简单的Windows下的Git服务器,需要再次提醒的是GitStack是打包了相对较稳定的Git原生版本的, ...
- C# 根据日期计算星期几
region 根据年月日计算星期几(Label2.Text=CaculateWeekDay(,,);) /// <summary> /// 根据年月日计算星期几(Label2.Text=C ...
- CSS 文本垂直居中对齐
文本垂直居中对齐是一个很常见的问题,这里总结一下. 一.容器高度固定,单行文本垂直居中对齐 height:20px; line-height:20px; overflow:hidden; 二.容器高度 ...
- selenium-java,解决一些加了显性等待和隐性等待都不好使的情况,以及给UI自动化加上暂停功能
最近在UI自动化时遇到了,上一步成功操作后没有响应的情况(动画加载和浏览器加载导致实际没有问题),导致下一步无法成功操作,所有想在尝试2次操作后再次进行上一步操作解决这种情况导致的错误(其实是不想每一 ...