CentOS 7 防止端口自动关闭

tl;dr

firewall-cmd --permanent --zone=public --add-port=2888/tcp
firewall-cmd --reload  #重新载入服务

永久配置firewalld开启端口。

之前的一些坑

之前的一篇文章CentOS 7部署Node.js+MongoDB:在VPS上从安装到Hello world中,讲到了CentOS开启端口用这个命令

firewall-cmd --add-port=3000/tcp

这样是没错,开启了端口,但是后面发现这个端口会莫名其妙的被关闭

Google一番后了解到这样添加端口是运行时配置(Runtime configuration),在重载或重启firewalld后,这个配置就失效了。

自动关闭原因

CentOS 7 采用了firewalld作为防火墙服务,在Red Hat官方文档的Security Guide中有介绍firewalld

The dynamic firewall daemon firewalld provides a dynamically managed firewall with support for network “zones” to assign a level of trust to a network and its associated connections and interfaces. It has support for IPv4 and IPv6 firewall settings. It supports Ethernet bridges and has a separation of runtime and permanent configuration options. It also has an interface for services or applications to add firewall rules directly.

动态防火墙守护进程firewalld提供一个动态管理的防火墙,支持网络“区域”(zones),以用来给一个网络以及其关联的链接和接口分配一个信任层级。firewalld支持IPv4跟IPv6的防火墙设置。它还支持以太网桥,并且有运行时配置选项跟永久配置选项(runtime and permanent configuration options),二者相互分离。并且firewalld为服务或应用直接添加防火墙规则提供了接口。

有关Network Zones的概念这边不细讲,参照Security Guide。

firewalld有个图形化配置工具firewall-config,还有个命令行客户端,就是firewall-cmd了。

我们暂时还没用到图形化工具,所以这边就说一下firewall-cmd

Security Guide中关于firewall-cmd的介绍:

A command line client, firewall-cmd, is provided. It can be used to make permanent and non-permanent runtime changes as explained in man firewall-cmd(1). Permanent changes need to be made as explained in the firewalld(1) man page. Note that the firewall-cmd command can be run by the root user and also by an administrative user, in other words, a member of the wheel group. In the latter case the command will be authorized via the polkit mechanism.

具体就不翻译了,大概是说
firewall-cmd可以永久或非永久地改变配置,永久配置需要如man page中解释的那样改变(日了狗了)。

于是又去翻了翻firewalld(1)的man page,里面有两段关于Runtime configuration跟Permanent configuration的解释。

Runtime configuration
Runtime configuration is the actual active configuration and is not permanent. After
reload/restart of the service or a system reboot, runtime settings will be gone if they
haven’t been also in permanent configuration.

Permanent configuration
The permanent configuration is stored in config files and will be loaded and become new
runtime configuration with every machine boot or service reload/restart.

运行时配置
运行时配置是实际上启用了但不是永久的配置。在服务重载/重启或系统重启之后,运行时的设置如果不存在永久配置中,就会失效。

永久配置
永久配置被保存在配置文件中,随着每次机器启动或服务重载/重启,永久配置都会被载入,变成新的运行时配置。

永久开启端口

好了,说了那么多,应该是理清楚端口被自动关闭的原委了,那怎么永久开启端口呢,万能的Security Guide中给出了答案

The rules can be made permanent by adding the –permanent option using the firewall-cmd –permanent –direct command or by modifying /etc/firewalld/direct.xml.

只要添加规则时加上–permanent参数或者修改/etc/firewalld/direct.xml就行了。

所以只需要两条命令

firewall-cmd --permanent --zone=public --add-port=2888/tcp
firewall-cmd --reload  #重新载入服务

参考

  • 4.5. USING FIREWALLS
  • CentOS 7.0 - man page for firewalld (centos section 1) - Unix & Linux Commands
  • centos 7 - open firewall port - Stack Overflow

转载于:https://www.cnblogs.com/chuchencheng/p/5897636.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jio文件 久其_功能强大的Windows文件管理器工具

Windows文件管理功能体验只能说中规中矩,批量处理文件时非常的慢,而且在模糊搜索文件时的速度以及资源占用实在是感人,再加上功能较少,只能实现重命名、复制、粘贴、剪切这些基础功能,因此想要提高文件之间处理效果通常…

C语言补丁原理,C语言可变长參数实现原理

(1) C语言可变參数我们能够从C语言的printf得出可变參数的作用。printf函数的原型例如以下:int printf ( const char * format, ... );通过使用可变个数參数,就是传入的參数个数是可变的,如printf须要依据format实參传入多个实參。(2) …

办公技巧:各类特殊符号输入快捷键,瞬间提高你的办公效率

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

前端构建工具的用法—grunt、gulp、browserify、webpack

随着前端项目的飞速发展,项目越来越大、文件越来越多,前端工程化的工具也越来越多。下面介绍目前最流行的四种构建工具——grunt、gulp、browserify、webpack 所有的构建工具都是基于NodeJs和Npm,所以使用下面任何工具都需要安装Node 一、gru…

adb命令刷机vivox20_vivo手机变砖 刷机手机端口连上显示adb

展开全部vivo的刷机解账户锁方法如下 有了这个方法 以后不管手机出现啥毛病 只要是软件系统引32313133353236313431303231363533e4b893e5b19e31333365643535起的故障 都能一招搞定提示:刷机有风险 刷机需谨慎 对于刷机造成的一切后果均与本处无关 而避免风险的最好…

SQLServer常用的聚合函数笔记

今天给大家分享一下SQLServer常用的聚合函数,希望对初学者有所帮助!1、COUNT合计函数:返回查询记录(行)数。格式:COUNT([ALL|DISTINCT] [表达式|*])参数说明:ALL:默认值,指对查询所有…

android studio 工程demo例子,Android Studio 实现跑马灯微项目实例

**闲来无事,自己做了很多小的Demo,现在分享一个小的跑马灯项目实例,有机会把2048小游戏的Demo也发了。不过那个的算法稍微有点儿复杂,需要整理。首先在创建一个MarqueeTextViewDemo项目在res-layout-activity_main.xml中编写出相应…

SQLServer常用的配置函数笔记

今天给大家分享一下SQLServer常用的配置函数知识,希望对初学者能有所帮助!1、DATEFIRST Datefirst返回值tinyint说明:datefirst指一周中的第一天,英语中第一天为星期日示例:SELECT DATEFIRST AS 1st Day, DATEPART(dw, GETDATE())…

localdatetime 默认时间_datetime-local设置初始值

//全局变量var format "";//构造符合datetime-local格式的当前日期function getFormat(){format "";var nTime new Date();format nTime.getFullYear()"-";format (nTime.getMonth()1)<10?"0"(nTime.getMonth()1):(nTime.get…

android音乐播放器完整教程,android实现简单音乐播放器

本文实例为大家分享了android音乐播放器的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下话不多说先上效果前言写这个音乐播放器实在是迫不得已。因为我们Andoird课程要求写一个音乐播放器。所以就有了此项目。这个项目比较简单&#xff0c;实现了最基本的音乐播放功…

编译原理

编译原理是计算机专业的一门重要专业课&#xff0c;旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 这门课程是一门真正与代码做斗争的课程&#xff0c;对于一个有至于追…

JDK1.8 JVM元数据区取代了永久代,元数据空间并不在虚拟机中,而是使用本地内存

JDK1.8 JVM运行时内存数据区域划分。1.8同1.7比&#xff0c;最大的差别就是&#xff1a;元数据区取代了永久代。元空间的本质和永久代类似&#xff0c;都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于&#xff1a;元数据空间并不在虚拟机中&#xff0c;而是…

SQLServer常用的字符串函数梳理

今天给大家分享一下SQLServer常用的字符串函数知识笔记&#xff0c;希望对大家能有所帮助&#xff01;1、ASCII(字符串表达式)作用&#xff1a;返回表达式最左侧字符串的ASCII代码值。示例&#xff1a;SELECT ASCII(ABC),ASCII(A) --返回结果都是65 计算的是第一个字符串的ASCI…

tchar linux,错误:Error:未定义标识符_TCHAR

svn sc create 命令行创建服务自启动今天重装了系统,Subversion服务也得重装.照例输入代码: sc create svnserve binpath"d:\PortableApps\svn\svnserve.exe - ...Spring&lowbar;Springmvc&lowbar;mybatis一般配置web.xml配置 <?xml version"1.0" e…

Mac 系统引导过程概述 BootCamp 的秘密

http://bbs.feng.com/read-htm-tid-6890655.html转载于:https://www.cnblogs.com/zengkefu/p/5857710.html

开封机器人餐厅_百合汇主题酒店——开封首家机器人服务员餐厅

【中原经济网开封新闻讯】 (河南经济报记者 张长剑 李海) 年底岁末&#xff0c;服务行业的用工荒逐渐凸显&#xff0c;不过&#xff0c;开封百合汇主题酒店的老板却不为此发愁&#xff0c;因为&#xff0c;这家店刚刚引进了两台高大上的机器人服务员。2月3日&#xff0c;记者在…

SQLServer常见的数学函数梳理

今天给大家分享一下SQLServer常见的数学函数相关的知识笔记。1.绝对值函数ABS(x)和返回圆周率的函数PI()ABS(x)返回x的绝对值,PI()返回圆周率的值用法&#xff1a;select ABS(5),ABS(-10.6),ABS(-99),PI();输出结果&#xff1a;5 10.6 99 3.141592653589792.平方根函数SQRT(x)S…