CentOS7下Firewall防火墙配置用法详解
官方文档地址:
修改防火墙配置文件之前,需要对之前防火墙做好备份
重启防火墙后,需要确认防火墙状态和防火墙规则是否加载,若重启失败或规则加载失败,则所有请求都会被防火墙拦截
|
1
2
3
4
5
6
7
8
9
10
|
systemctl status firewall #查看firewall服务状态firewall-cmd --state #查看firewall的状态firewall-cmd --list-all #查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)firewall-cmd --list-all-zones #查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)firewall-cmd --reload #重新加载配置文件 |
方法1、修改配置文件/etc/firewalld/zones/public.xml,重启或重新加载配置生效
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
[root@nginx01 zones]# cat public.xml<?xml version="1.0" encoding="utf-8"?><zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <rule family="ipv4"> <source address="122.x.x.234"/> <port protocol="udp" port="514"/> <accept/> </rule> <rule family="ipv4"> <source address="123.x.x.14"/> <port protocol="tcp" port="10050-10051"/> ##可以开放端口地址范围"10050-10051",不单只限定一个端口 <accept/> </rule> <rule family="ipv4"> <source address="192.x.x.114"/> ##放通指定ip,指定端口、协议 <port protocol="tcp" port="80"/> <accept/> </rule><rule family="ipv4"> ##放通任意ip访问服务器的9527端口 <port protocol="tcp" port="9527"/> <accept/> </rule></zone>firewall-cmd --reloadservice firewalld restart #使配置文件重新加载 |
方法2、命令行修改防火墙策略,仍需重启firewalld.service或重新加载防火墙配置文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
firwall-cmd --permanent --add-port=9527/tcp 插入防火墙规则,放通9527端口。success #命令执行成功同时,在/etc/firewall/zones/public.xml中自动生成该规则。<zone> <short>xx.</short> <description>xxx.</description> <port protocol="tcp" port="9527"/></zone>service firewalld restartfirewall-cmd --reload #重启或重新加载配置文件,使配置生效 firewall-cmd --list-allfirewall-cmd --permanent --query-port=9527/tcp #查询刚插入的规则是否生效 |
firewall-cmd --zone=public --add-port=80/tcp --permanent 添加防火墙规则;
firewall-cmd --reload 重新加载防火墙;
firewall-cmd --permanent --zone=public --add-masquerade 允许内网上网;
/etc/firewalld/zones/public.xml添加策略标准规则:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=122.x.x.234/24 port port=5423 protocol=tcp drop' firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=122.x.x.234 port port=80 protocol=tcp accept' firewall-cmd --reload[root@nginx02 ~]# firewall-cmd --list-allpublic (default, active) interfaces: em1 sources: services: ports: masquerade: no forward-ports: icmp-blocks: rich rules: rule family="ipv4" source address="122.x.x.234" port port="5234" protocol="tcp" drop rule family="ipv4" source address="122.x.x.234" port port="80" protocol="tcp" accept rule family="ipv4" source address="123.x.x.14" port port="10050-10051" protocol="tcp" accept |
二、以服务的形式(例如:ssh.xml/http.xml)添加新的防火墙策略
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
cat /etc/firewalld/zones/ssh.xml<?xml version='1.0' encoding='utf-8'?><zone> <short>ssh</short> <description>ssh.</description>#fortress-new <source address='122.x.x.2/29'/> <service name='ssh'/></zone>firewall-cmd --list-all-zones...ssh interfaces: sources: 122.x.x.2/29 services: ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules:... |
因为在/usr/lib/firewalld/services/中事先定义了ssh.xml的相应的规则
|
1
2
3
4
5
6
7
8
9
|
cat /usr/lib/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>##定义ssh.xml服务使用的协议,和通信的端口信息。 |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
自定义服务(mongo.xml)模块cat /usr/lib/firewalld/services/mongo.xml<service> <short>mongo</short> <description>The service of mongo.</description> <port protocol="tcp" port="27017"/></service>防火墙应用服务器模块cat /etc/firewalld/zones/mongo.xml<zone> <short>mongo</short> <description>mongo service</description> <source address="2.2.2.2/24"/> <service name="mongo"/></zone>查看mongo.xml服务的防火墙生效情况firewall-cmd --list-all-zones...mongo interfaces: sources: 2.2.2.2/24 services: mongo ports: masquerade: no forward-ports: icmp-blocks: rich rules:... |
PS:如果一个IP同时应用在多个.xml服务,则只会在最先匹配的服务生效,之后的服务则不匹配该IP。若需要将该IP应用在多个服务,则需要另开服务,将该IP应用的服务都绑定在该服务下。
例如:10.10.86.44同时需要放通ssh、http、mysql等服务
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
cat multi.xml <zone> <short> multi services</short> <description>IP of 10.10.86.44 apply in multi srevices.</description> <source address="10.10.86.44"/> <service name="ssh"/> <service name="mysql"/> <service name="http"/> ##同时添加多个服务</zone>firewall-cmd --list-all-zones...multi interfaces: sources: 10.10.86.44 services: http mysql ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules:... |
总结:
(1)修改配置文件的方法和命令行添加防火墙策略的方法,都不能立即生效,需要重启或重新加载防火墙配置文件,是新的策略生效。
service firewalld restart
firewall-cmd --reload
(2)修改完防火墙后,一定要检查防火墙状态和策略加载状态,若失败则可能拦截所有请求。
(3)以服务(ssh.xml)的方式添加防火墙,可以方便管理。前提需要先查看/usr/lib/firewalld/services中是否定义相应的服务。
(4)若一个IP同时应用多个了服务,则会最先匹配第一个应用了该ip的服务,之后的服务中则不匹配。若需要同时应用到多个服务,则需要另开服务,在该服务(multi.xml)下同时应用多个服务(ssh/http/mysql等)
扩展文档:
1.CentOS7下Firewall防火墙配置用法详解
http://www.centoscn.com/CentOS/Intermediate/2015/0313/4879.html
2.在CentOS7.0 中默认的防火墙 “firewall” 使用方法
http://f.dataguru.cn/thread-473492-1-1.html
3.CentOS 7 巨大变动之 firewalld 取代 iptables
http://blog.csdn.net/smstong/article/details/39317277(外文官方文档)
4.CentOS 7 中firewall-cmd命令
http://blog.sina.com.cn/s/blog_43b39e250102v4zt.html
5.CentOS7 Firewall防火墙配置用法详解
http://www.111cn.net/sys/linux/75503.htm
CentOS7下Firewall防火墙配置用法详解的更多相关文章
- CentOS7 Firewall防火墙配置用法详解
centos 7中防火墙是一个非常的强大的功能了,但对于centos 7中在防火墙中进行了升级了,下面我们一起来详细的看看关于centos 7中防火墙使用方法. FirewallD 提供了支持网络 ...
- CentOS7下的YUM源服务器搭建详解,过程写的很详细(转)
因为近期公司需要搭建一个YUM源服务器给大量的linux(mini)使用,所以因此在网上找了很多的教程,却没有一个特别详细的,很多都有遗漏,参差不齐.所以,打算自己做完之后方便以后查阅,特出此文档. ...
- CentOS7下rsync服务的基本详解和使用
第1章 Rsync基本概述 1.1 什么是Rsync rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具.适用于多个平台.从软件名称可以看出来是远程同步的意思(re ...
- Centos7下Firewalld防火墙配置命令
前 言 服务端口日常被拦截,记录一下常用的命令便于查询 Firewalld服务管理 查看防火墙状态 1 systemctl status firewalld 开机启用/禁用防火墙 1 s ...
- Windows下SVN权限配置过程详解
本节讲解一下Windows下SVN权限配置说明,针对的是一个目录下多库的情况,下面是具体的介绍,希望通过本文的学习,你能够对SVN权限配置问题有更加深刻的认识. 1.本文档适用于对Subvesion的 ...
- Linux下nl命令的用法详解
Linux中nl命令和cat命令很像,不过nl命令会打上行号,属于比较不常用的命令,下面随小编一起来了解下这个鲜为人知的nl命令吧. nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文 ...
- Linux centos7环境下安装MySQL的步骤详解
Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...
- Linux centos7环境下安装JDK的步骤详解
Linux centos7环境下安装JDK的步骤详解 测试root用户下JAVA版本 输入命令: java –version 1.先到Oracle官网里下载好jdk,网址如下: http://ww ...
- (转)windows 下安装配置 Nginx 详解
windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...
随机推荐
- httpd服务访问控制
客户机地址限制 通过配置Order.Deny from.Allow from 来限制客户机 allow.deny :先"允许"后"拒绝" ,默认拒绝所有为明确的 ...
- 淘宝(阿里百川)手机客户端开发日记第一篇 android 主框架搭建(一)
android 主框架搭建(一) 1.开发环境:Android Studio 相继点击下一步,直接项目建立完毕(如下图) 图片看的效果如果很小,请放大您的浏览器显示百分比 转载请注明http://w ...
- CSS继承总结
CSS的一个重要特征就是继承,它是依赖于祖先-后代的关系的.继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代. CSS可以继承的属性有: 1.文字相关:font-famil ...
- BZOJ 2124: 等差子序列
Sol 线段树+Hash. 首先暴力 等差子序列至少3项就可以了,就枚举中项,枚举公差就可以了,只需要一个数在中项前出现,另一个数在中项前没出现过就可以了.复杂度 \(O(n^2)\) 然后我想了一个 ...
- osc的git服务器简单使用。
1.创建本地仓库 mkdir dir cd dir git init 初始化仓库 2.创建远程仓库 进入远程仓库去创建 3.关联本地仓库与远程仓库 git remote add osc git::.. ...
- 9 DelayQueueEntry 延时队列节点类——Live555源码阅读(一)基本组件类
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso ...
- 浏览器JS脚本
javascript: void((function() { alert("zeze"); })()) javascript:
- php 使用redis锁限制并发访问类
1.并发访问限制问题 对于一些需要限制同一个用户并发访问的场景,如果用户并发请求多次,而服务器处理没有加锁限制,用户则可以多次请求成功. 例如换领优惠券,如果用户同一时间并发提交换领码,在没有加锁限制 ...
- (转)Do not use "using" for WCF Clients - 不要将WCF Client 放在 ‘Using’ 代码块中
RT,最近在编写WCF的应用程序,发现WCF client在关闭的时候有可能会抛出异常,经过搜索之后,发些小伙伴们也遇到过类似的问题,遂记载下来,以备自身和其他小伙伴查看. 原文链接:http://w ...
- Alien Dictionary
There is a new alien language which uses the latin alphabet. However, the order among letters are un ...