firewalld学习--service

service是firewalld中另外一个非常重要的概念。还是拿门卫的例子来解释。

在iptables的时代我们给门卫下达规则时需要告诉他“所有到22号楼的人全部予以放行”、“所有到80号楼的人全部予以放行”等等,

不过到了firewalld的时代就不需要这样了,

而是可以直接下达像“到销售部的全部予以放行”这样的命令,然后门卫再一查发现销售部在80号楼,那么所有到80号楼的人门卫就都会放行了。

这里的楼牌号和端口号相对应,部门名和服务名相对应,

这样就可以理解service的作用了。

从端口号改为服务名主要有两个好处:首先是使用服务名配置的语义清晰,不容易出错;其次在对某个服务的端口号进行修改的时候只需要修改相应的service文件就可以了,而不需要再修改防火墙方案——zone。这其实跟DNS将ip地址和域名关联了起来是一样的道理。下面学生再来给大家介绍一下service的配置文件。

service配置文件的命名规则是<服务名>.xml,比如ssh的配置文件是ssh.xml,http的配置文件是http.xml等,他们默认保存在“/usr/lib/firewalld/services/”目录下,

常见的服务其中都可以找到,

如果我们想修改某个服务的配置,那么可以复制一份到“/etc/firewalld/services/”目录下然后进行修改就可以了,要想恢复默认配置直接将我们自己的配置文件删除就可以了。

例:ssh.xml文件

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines.         It provides secure encrypted communications.         If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option.         You need the openssh-server package installed for this option to be useful. </description>
  <port protocol="tcp" port="22"/>
</service>

可以看到这里配置了tcp的22号端口,所以将ssh服务配置到所使用的zone(默认public)中后tcp的22号端口就开放了。

如果想将ssh的端口修改为222,那么只需要将ssh.xml复制一份到“/firewalld/services”中,然后将端口号修改为222就可以了。

当然直接修改“/usr/lib/firewalld/services/”中的配置文件也可以实现,但是强烈建议不要那么做。

明白原理之后使用起来就可以非常灵活了,

比如我们将“/etc/firewalld/services/ssh.xml”文件复制一份到“/etc/firewalld/services/”中,然后将名字改为abc.xml,

并且将abc这个服务配置到所使用的zone中,这时22端口就会开放。

也就是说在zone中所配置的服务其实跟实际的服务并不存在直接联系,而是和相应配置文件中配置的内容有关系。

firewalld的配置方法主要有三种:firewall-config、firewall-cmd和直接编辑xml文件,其中firewall-config是图形化工具,firewall-cmd是命令行工具,

原文地址:https://www.cnblogs.com/a-s-m/p/11302438.html

时间: 2024-11-12 19:36:01

firewalld学习--service的相关文章

Android学习Service中遇到的问题

今天学习service,然后遇到了一个force close,log中存在这个一句话: 05-23 14:13:26.408: E/AndroidRuntime(17616): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.exr.service/com.exr.service.Service1}; have you declared this activity in

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

iptables规则备份和恢复 保存和备份iptables规则Service iptables save //会把规则保存到/etc/sysconfig/iptables把iptables规则备份到my.ipt文件中Iptables-save > my.ipt恢复刚才备份的规则iptables-restore < my.ipt firewalld的9个zone 打开firewalld,禁掉iptablessystemctl  disable iptablessystemctl stop ipt

Android 四大组件学习Service六

上几节,我们学习如何用StartServer启动一个服务,用bindServer去绑定一个服务,以及服务的生命周期,以及什么是IntentService. 或许有读者会发现,我们BindServer中的第二个参数也就是ServiceConnection这个方法在将用bindService时好像没用到.那本节课就学习. 那我们先说个事,上大学的时候,我学习不好,还是那种经常旷课的同学.长期下去,老师跟前就混的不好了. 有次班里评选党员,我就想竞争一下,但是由于我经常不上课的同学,自然几率就小,所以

Android学习——Service(一)

这篇博文来介绍Android另一个十分重要的组件,Service.Service和Activity很类似,区别在于它运行在后台,不可见且没有界面.Service的优先级高于Activity,当系统负载过大时,会优先杀死Activty,但Service很难被系统清除.需要注意的是,Service同样运行在主线程中,不能直接进行耗时操作,而是需要在服务中新开一个线程,在该线程中做耗时操作.Service主要分为本地服务和远程服务.我们先来学习本地服务. 服务的启动方式 Service的启动方式主要有

firewalld学习-zone

原文地址:http://www.excelib.com/article/290/show firewalld默认提供了九个zone配置文件: block.xml.dmz.xml.drop.xml.external.xml.home.xml.internal.xml.public.xml.trusted.xml.work.xml, 他们都保存在“/usr/lib/firewalld/zones/”目录下.这些zone之间是什么关系?他们分别适用用哪些场景呢? 防火墙就相当于一个门卫,门卫对具体某个

Ros学习service——小海龟

rosservice 服务(services)是节点之间通讯的另一种方式.服务允许节点发送请求(request) 并获得一个响应(response) rosservice list 输出可用服务的信息 rosservice call 调用带参数的服务 rosservice type 输出服务类型 rosservice find 依据类型寻找服务find services by service type rosservice uri 输出服务的ROSRPC uri rosservice type

kubernetes 学习 service相关

1:         service有什么用? 直接通过Pod的IP地址和端口号可以访问容器应用,但是pod的IP地址是不可靠的,比如POD出现故障后,有可能在另外一个NOde上启动,这样Pod的IP地址就发生变化. 另外,如果容器本事是分布式的部署方式,通过多个实例一起提供服务,那么需要一个负载均衡器. k8s的service就是解决以上问题的.     关键配置: clusterIP:  给servcie分配一个虚拟IP. NodeIP:    让service和Node拥有同样的IP. 2

Kubernetes学习 Service + Rolling Update(三)

四.外网如何访问Service 除了 Cluster 内部可以访问 Service,很多情况下我们也希望应用的 Service 能够暴露给 Cluster 外部.Kubernetes 提供多种类型的 Service,默认是 Cluster IP.     (1)Cluster IP Service 通过 Cluster 内部的 IP 对外提供服务,只有 Cluster 内部的节点和 Pod 可访问,这是默认的 Service 类型,前面实验中的 Service 都是 CLuster IP. (2

kubernetes学习Service之headless

一.首先说headless Service和普通Service的区别headless不分配clusterIPheadless service下的Pod有DNS地址,可以通过Pod的DNS地址解析到Pod的IP地址普通的service下的Pod没有DNS,只能通过svc的DNS解析到svc的clusterIP Service的ClusterIP工作原理:一个service可能对应一组endpoints(所有pod的地址+端口),client访问ClusterIP,通过iptables或者ipvs转