Centos 7防火墙策略配置指南

—— 清听凌雪慕忆

@

1. 开启防火墙

1.1 user切换到root用户

[user@localhost ~] su root
密码:
[root@localhost home]# cd ~
[root@localhost ~]#

1.2 查看防火墙服务状态

 systemctl status firewalld

1.3 查看firewall的状态

 systemctl firewall state 或 firewall-cmd --state

1.4 启动/关闭防火墙

# 启动防火墙
systemctl start firewalld # 重启防火墙
systemctl restart firewalld 或 systemctl reload firewalld # 关闭
systemctl stop firewalld # 设置开机自启动防火墙
systemctl enable firewalld.service # 查看防火墙设置开机自启是否成功
systemctl is-enabled firewalld.service

如下图所示,即为防火墙设置开机自启是否成功。

2. 防火墙端口配置

在开启防火墙之后,我们有些服务就会访问不到,是因为服务的相关端口没有打开。

2.1 查看已开启端口

 firewall-cmd --list-ports 或 netstat -ntlp

2.2 查看防火墙规则

 firewall-cmd --list-all

2.3 查看允许协议

 firewall-cmd --list-protocals

2.4 开启、关闭、查询端口

本次以开启80端口为例。

# 查询端口是否开放
firewall-cmd --query-port=80/tcp

命令规则:

--permanent:表示永久生效,若没有重启失效;

-- zone :表示作用域

--add-port=80/tcp 表示添加端口,格式为端口/通讯协议

开启端口的关键字:add

移除的关键字:remove

# 永久增加/开启80端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=998/tcp
firewall-cmd --add-port=999/tcp
# 重启防火墙服务
systemctl restart firewalld
# 删除端口
firewall-cmd --remove-port=999/tcp

3. 防火墙ip指向限制配置

3.1 允许指定ip访问所有流量

允许ip访问的关键字:accept

阻止ip访问的关键字:drop

# 开启192.168.43.88访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.43.100" accept" # 重启防火墙服务
firewall-cmd --reload # 禁止192.168.43.88访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.43.100" drop"

3.2 允许指定ip访问指定端口

# 允许IPV4 Ip是8.8.8.8 连接端口80 accept表示允许使用
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="8.8.8.8" port protocol="tcp" port="80" accept" # 允许IPV4 Ip是10.168.186.25 连接端口22 accept表示允许使用
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.168.186.25" port protocol="tcp" port="22" accept" firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.168.186.25,10.168.186.211" port protocol="tcp" port="3306" accept" firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.168.186.0/24" port protocol="tcp" port="22" accept" # 以上运行完后提示success则表示配置成功

3.3 允许指定ip访问指定协议

# 阻止ICMP包
firewall-cmd --permanent --add-rich-rule="rule protocol value="icmp" drop" # 允许特定地址通过icmp
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="120.12.23.136" protocol value="icmp" accept"

3.4 允许指定ip访问指定服务

# 允许特定地址可以访问SSH服务
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.168.186.25" service name="ssh" accept"

3.5 防火墙移除某个服务

 firewall-cmd --remove-rich-rule="rule family="ipv4" source address="10.168.186.25" service name="ssh" drop"
#从允许通过防火墙的列表里移除SSH服务
sudo firewall-cmd --remove-service=ssh --permanent firewall-cmd --remove-rich-rule="rule protocol value="icmp" drop" --permanent

3.6 其他

# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload # 加入白名单
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="8.8.8.8" port protocol="tcp" port="80" accept" # 查看规则
firewall-cmd --list-rich-rules
# 显示是
rule family="ipv4" source address="8.8.8.8" port port="80" protocol="tcp" accept
# 删除规则
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="8.8.8.8" port port="80" protocol="tcp" accept" # 注意端口添加,删除后要更新防火墙
firewall-cmd --reload

4. 获取所有支持的服务

firewall-cmd --get-services

4.1 增加、删除和服务

# 增加服务 (临时增加)
firewall-cmd --add-service=http
# 删除服务 (临时删除)
firewall-cmd --remove-service=http
# 查询服务
firewall-cmd --query-service=http

>“不是看到了希望才去坚持,而是坚持了才能看到希望”

Centos 7防火墙策略配置指南的更多相关文章

  1. 【转】CentOS 6 服务器安全配置指南

    原文连接: CentOS 6 服务器安全配置指南(通用) Linux 是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入 L ...

  2. [转帖]CentOS 6 服务器安全配置指南(通用)

    CentOS 6 服务器安全配置指南(通用) http://seanlook.com/2014/09/07/linux-security-general-settings/  发表于 2014-09- ...

  3. CentOS 7防火墙服务FirewallD指南

    CentOS 7防火墙服务FirewallD指南 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 防火墙是一种位于内部网 ...

  4. CentOS 7 防火墙端口配置

    CentOS 7 防火墙端口配置查看防火墙是否开启systemctl status firewalld 若没有开启则开启systemctl start firewalld 查看所有开启的端口firew ...

  5. Linux Centos 开启防火墙 FirewallD is not running

    转载自:http://www.z4zr.com/page/1006.html CentOS7用firewall命令“替代”了iptables.在这里我们需要区分“iptables服务”和“iptabl ...

  6. 双机冗余备份和负载均衡策略(Mysql Cluster入门安装配置指南)

    MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.MySQL Clus ...

  7. abbix通过JMX监控Tomcat(被监控端安装Tomat的服务器防火墙策略iptables配置)

    原文地址:http://jaychang.iteye.com/blog/2214830 一.目前的环境 被监控端192.168.153.191 /usr/local/tomcat 下载了catalin ...

  8. CentOS 7 个性化配置指南

    博客原文地址:CentOS 7 个性化配置指南 - Wind Spirit 0x00 前言 该教程主要安装了如下软件包 iptables MySQL PHP PHP 相关模块 Nginx 主要配置实现 ...

  9. CentOS 7 防火墙和端口配置

    centos 7 防火墙和端口配置--解决 RHEL 7/ CentOS 7/Fedora 出现Unit iptables.service failed to load # 第一步,关闭firewal ...

随机推荐

  1. 什么是 Spring 引导的执行器?

    Spring Boot 执行程序提供了 restful Web 服务,以访问生产环境中运行应用程序 的当前状态.在执行器的帮助下,您可以检查各种指标并监控您的应用程序.

  2. 学习Kvm(三)

    虚拟化(将一个物理硬件平台虚拟成多个) vmware(模拟出一堆硬件设备,每一个硬件设备都是独立平台) 虚拟化要解决的问题(硬件之上的OS,有用户空间.内核空间:vmware虚拟机所模拟出的多个硬件平 ...

  3. 干货,看微信小程序后台用户数据如何演变和递增

    这几天发现附近小程序又多了好几家,其中有普通小程序和门店小程序,把它们做一个对比,门店小程序更多的像一张名片,只有基本的企业名称.地址.营业时间.电话和门店照片,和普通小程序相比显得逊色许多.楼下的水 ...

  4. canvas 1px 出现模糊解决方法及原理

    关于canvas绘制1像素出现模糊的原因及解决方法 canvas是html5中非常强大的功能,但是在绘制的时候如果出现1像素,例如画一条1像素的线可能出现模糊情况. 一.解决方法 网上比较常见的解决方 ...

  5. 认识 Function.prototype.bind()

    欢迎前端爱好者加入QQ群:112916679 答疑解惑,且可获取更多前端资料! bind()方法创建一个新的函数, 当被调用时,将其this关键字设置为提供的值,在调用新函数时,在任何提供之前提供一个 ...

  6. java中的方法(method)到底怎么用?给个例子

    7.方法(method)   被调例子, int add(int x, int y){ return x+y; } 主调例子, for example: int result = add(5,3); ...

  7. springMVC中获取request和response对象的几种方式(RequestContextHolder)

    springMVC中获取request和response对象的几种方式 1.最简单方式:参数 2.加入监听器,然后在代码里面获取 原文链接:https://blog.csdn.net/weixin_4 ...

  8. 设计模式学习笔记(十五)命令模式及在Spring JdbcTemplate 中的实现

    命令(Command)模式是指将请求封装成为一个对象,使发出请求和执行请求的责任分割开,方便将命令对象进行存储.传递.调用.增加与管理. 也就是将发送者.接收者和调用命令封装成独立的对象,来供客户端调 ...

  9. String类为什么被设计成不可变类

    1.享元模式: 1.共享元素模式,也就是说:一个系统中如果有多处用到了相同的一个元素,那么我们应该只存储一份此元素,而让所有地方都引用这一个元素. 2.Java中String就是根据享元模式设计的,而 ...

  10. shell、bash和sh区别

    shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序.你在提示符下输入的每个命令都由shell先解释然后传给Linux内核. shell 是一个命令语言解释器(co ...