目录

一、防火墙基本介绍

二、iptables(Centos6)

2.1、介绍

2.2、相关命令

三、firewalld(Centos7)

3.1、介绍

3.1.1、zone分类及相关命令

3.1.2、预定义的服务

3.2、相关命令

3.2.1、服务安装

3.2.2、服务启停命令

3.2.3、firewalld规则添加

3.3、富规则


一、防火墙基本介绍

iptables服务会把配置好的防火墙策略交由内核层面的 netfilter 网络过滤器来处理,firewalld 服务则是把配置好的防火墙策略交由内核层面的 nftables 包过滤框架来处理。

  1. iptables、firewalld:仅仅是定义防火墙规则的一个工具,写规则使用
  2. netfilter、nftables:实现过滤功能,是真正实现防火墙功能的一个内核模块

二、iptables(Centos6)

2.1、介绍

iptables 服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类是

  1. ACCEPT(允许流量通过)
  2. REJECT(拒绝流量通过)
  3. LOG(记录日志信息)、
  4. DROP(拒绝流量通过)

REJECT 和 DROP 的不同点:

  1. 就 DROP 来说,它是直接将流量丢弃而且不响应;
  2. REJECT 则会在拒绝流量后再回复一条“您的信息已经收到,但是被扔掉了”信息,从而让流量发送方清晰地看到数据被拒绝的响应信息。

tips:

1、在日常运维工作中,经常会使用 ping 命令来检查对方主机是否在线,而向防火墙的INPUT 规则链中添加一条允许 ICMP 流量进入的策略规则就默认允许了这种 ping 命令检测行为。

2、防火墙策略规则是按照从上到下的顺序匹配的,因此一定要把允许动作放到拒绝动作前面,否则所有的流量就将被拒绝掉,从而导致任何主机都无法访问我们的服务。

3、配置的防火墙规则保存在以下文件中 /etc/sysconfig/iptables

2.2、相关命令

iptables中常用的参数

  1. -P 设置默认策略
  2. -F 清空规则链
  3. -L 查看规则链
  4. -A 在规则链的末尾加入新规则
  5. -I num 在规则链的头部加入新规则
  6. -D num 删除某一条规则
  7. -s 匹配来源地址 IP/MASK,加叹号“!”表示除这个 IP 外
  8. -d  匹配目标地址
  9. -i 网卡名称 匹配从这块网卡流入的数据
  10. -o  网卡名称 匹配从这块网卡流出的数据
  11. -p 匹配协议,如 TCP、UDP、ICMP
  12. --dport num    匹配目标端口号
  13. --sport num    匹配来源端口号
  14. -j 指定要进行的处理动作 (一般有 DROP(丢弃)、REJECT(拒绝)、ACCEPT(接受、允许))

开启防火墙

# service iptables start

关闭防火墙

# service iptables stop

查看防火墙状态

# service iptables status

设置开启禁用防火墙服务

# chkconfig iptables off

设置开机开启防火墙服务

# chkconfig iptables on

允许本地回环接口(即运行本机访问本机)

# iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

允许已建立的或相关连的通行

  1. ESTABLISHED:已建立的链接状态
  2. RELATED:该封包为本机发出的封包有关

# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

允许所有本机向外的访问

# iptables -A OUTPUT -j ACCEPT

允许访问22端口

# iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许访问80端口

# iptables -A INPUT -p tcp --dport 80 -j ACCEPT

拒绝所有向内的访问

# iptables -A INPUT -j reject

禁止转发所有数据包

# iptables -A FORWARD -j REJECT

如果想让配置的防火墙策略永久生效,还要执行保存命令:

# service iptables save

三、firewalld(Centos7)

3.1、介绍

firewalld(Dynamic Firewall Manager of Linux systems,Linux 系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于CLI(命令行界面)和基于 GUI(图形用户界面)的两种管理方式。

相较于传统的防火墙管理配置工具,firewalld 支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是 firewalld 预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。

过滤规则(执行动作):

  1. accept 接受
  2. drop 丢弃
  3. reject 拒绝

firewalld 配置文件存放目录: /etc/firewalld

3.1.1、zone分类及相关命令

查看所有的zone

# firewall-cmd --list-all-zones

查看所有可用zone

# firewall-cmd --get-zones

查看默认zone

# firewall-cmd --get-default-zone

设置默认zone

# firewall-cmd --set-default-zone=<zone>

3.1.2、预定义的服务

查看预定义服务列表

# firewall-cmd --get-services

预定义服务的配置文件查看(在 /usr/lib/firewalld/services 目录下):

3.2、相关命令

3.2.1、服务安装

安装firewalld 命令

# yum install firewalld

安装图形化配置工具(可选)

# yum install firewall-config

直接在命令行输入:# firewall-config 进入图形化配置

查看防火墙版本

# firewall-cmd --version

3.2.2、服务启停命令

打开防火墙服务

# systemctl start firewalld

查看防火墙服务状态

# systemctl status firewalld

或者

# firewall-cmd –state

关闭防火墙服务

# systemctl stop firewalld

设置开机禁用防火墙

# systemctl disable firewalld

设置开机启用防火墙

# systemctl enable firewalld

检查服务是否正常运行

# systemctl is-active firewalld

检查确认服务是否开机运行

# systemctl is-enabled firewalld

设置开机禁用防火墙

# systemctl disable firewalld

设置开机启用防火墙

# systemctl enable firewalld

重新加载防火墙规则

# firewall-cmd --reload

3.2.3、firewalld规则添加

3.2.3.1、添加端口

查看所有打开的端口

# firewall-cmd --zone=public --list-ports

添加一个端口

# firewall-cmd --zone=public --add-port=80/tcp --permanent

删除一个端口

# firewall-cmd --zone=public --remove-port=80/tcp --permanent

查询防火墙有无开放某个端口

# firewall-cmd --query-port=23/tcp

tips:

1、-- permanent 持久配置: 修改后需要重载才会生效

注意:一旦使用了permanent,配置完成后一定要reload,否则只能待防火墙重启后这些配置才能生效。

3.2.3.2、添加服务(协议)

实质还是放行了服务默认的端口号

添加一个httpd服务设置

# firewall-cmd --permanent --add-service=http

删除一个httpd服务设置

# firewall-cmd --permanent --remove-service=http

查询一个httpd服务是否被添加

# firewall-cmd --query-service=http

3.2.3.3、添加IP

添加Postgresql端口设置。允许192.168.142.166访问5432端口

# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.209.134" port protocol="tcp" port="80" accept"

移除Postgresql端口访问设置

# firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.209.134" port protocol="tcp" port="80" accept"

3.3、富规则

添加Postgresql端口设置。允许192.168.142.166访问5432端口

# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.209.134" port protocol="tcp" port="80" accept"

移除Postgresql端口访问设置

# firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.209.134" port protocol="tcp" port="80" accept"

Centos 防火墙介绍相关推荐

  1. linux防火墙状态centos5,怎么样查看centos防火墙状态

    你想查看下centos防火墙的状态吗?要怎么样查看呢?你下面由学习啦小编给你做出详细的查看centos防火墙状态方法介绍!希望对你有帮助! 查看centos防火墙状态方法一: 直接使用iptables ...

  2. Centos 防火墙开启3306端口

    Centos 防火墙开启3306端口 查看防火墙状态 firewall-cmd --state ## 结果显示为running或not running 关闭防火墙firewall systemctl ...

  3. CentOS防火墙配置方法-详细解读如何配置CentOS防火墙

    iptables-save >/etc/sysconfig/iptables  (保存配置文件) 在重启iptables 服务或者在重启系统时候不会消失已经开启的端口 对CentOS防火墙的设置 ...

  4. centos 防火墙位置

    2019独角兽企业重金招聘Python工程师标准>>> centos 防火墙位置vi /etc/sysconfig/iptables 转载于:https://my.oschina.n ...

  5. linux关闭开发者模式的命今,CentOS防火墙用命令行方式关闭的方式

    #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport 22 -j A ...

  6. 转:Centos防火墙设置与端口开放的方法

    转自: Centos防火墙设置与端口开放的方法_tianxin的专栏-CSDN博客Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld.所以,端口的开启还是要从两种情况 ...

  7. Linux概述及centos版本介绍和下载地址

    一.Linux发展史简介 1.unix诞生 unix 贝尔实验室 2.谭教授 谭宁邦 minix mini unix 主要用于教学 3.斯托曼 stallman 我要开发出一个系统:自由 开源 替代你 ...

  8. 华纳云:美国高防服务器的防火墙介绍

    美国高防服务器的防火墙是进行网络防御的重要一环,但有部分用户不太了解美国高防服务器防火墙的内容,本文小编就来介绍下美国高防服务器的防火墙. 1.防火墙的定义 美国高防服务器的防火墙是指在本地网络与外界 ...

  9. 10大开源的Web应用防火墙介绍

    10大开源的Web应用防火墙介绍 Web应用防火墙提供应用层的安全.从本质上讲,WAF提供全面的web应用安全解决方案,确保数据和Web应用程序是安全的.下面赵一八笔记(www.fuwuqidl.co ...

最新文章

  1. 用户名 不在 sudoers文件中,此事将被报告
  2. 利用浏览器LocalStorage缓存图片,视频文件
  3. cocos2d-x学习笔记(十)android自动化打包bat脚本
  4. python 反转布尔值
  5. MySQL InnoDB 锁介绍及不同 SQL 语句分别加什么样的锁
  6. Scrapy:Python的爬虫框架----原理介绍
  7. Serilog 自定义 Enricher 来增加记录的信息
  8. centos7解决火狐浏览器fash安装问题
  9. 《动手学深度学习》 第二天 (自动求梯度)
  10. 云计算学习教程,Python自动化运维开发实战
  11. net4.0的从客户端中检测到有潜伏危险的 Request.Form
  12. 长三角协同优势产业基金正式设立,总规模1000亿
  13. 技术干货大集锦(一)
  14. 服务器 配置描述文件,配置MDM的描述文件
  15. 药品名自动归类机器人(化药_中成药_中药材)
  16. 架构设计的深入思考与总结——概述
  17. DWF低代码开发技术及其在数字化运营和运维平台建设中的应用
  18. wireshark抓包实验 分析 详解
  19. 3D建模软件应该学中文版还是英文版?Maya软件应该学中文版还是英文版?
  20. 【JAVA】解决mapper绑定异常:nested exception is org.apache.ibatis.binding.BindingException:

热门文章

  1. 1455 Oulipo
  2. 互联网行业常见数据分类:用户数据、行为数据、业务数据
  3. ffmpeg使用bsf后码流从avcc格式变成annex-b造成硬解异常
  4. 大牛证券公司点评主板指数目前属于蓝筹
  5. 三大流行BI分析平台推荐,企业数据化选择工具
  6. idea用maven搭建的web项目没有src目录只有pom解决方案(最暴力,最简单版本)
  7. 卖座网一处SQL注射(Http Referer sqlinjection)
  8. 什么是widget?widget是什么意思?
  9. Win10神州网信政府版远程桌面开通方法--实测有效
  10. 芋道 Spring Boot 热部署入门