Centos 防火墙介绍
目录
一、防火墙基本介绍
二、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 包过滤框架来处理。
- iptables、firewalld:仅仅是定义防火墙规则的一个工具,写规则使用
- netfilter、nftables:实现过滤功能,是真正实现防火墙功能的一个内核模块
二、iptables(Centos6)
2.1、介绍
iptables 服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类是
- ACCEPT(允许流量通过)
- REJECT(拒绝流量通过)
- LOG(记录日志信息)、
- DROP(拒绝流量通过)
REJECT 和 DROP 的不同点:
- 就 DROP 来说,它是直接将流量丢弃而且不响应;
- REJECT 则会在拒绝流量后再回复一条“您的信息已经收到,但是被扔掉了”信息,从而让流量发送方清晰地看到数据被拒绝的响应信息。
tips:
1、在日常运维工作中,经常会使用 ping 命令来检查对方主机是否在线,而向防火墙的INPUT 规则链中添加一条允许 ICMP 流量进入的策略规则就默认允许了这种 ping 命令检测行为。
2、防火墙策略规则是按照从上到下的顺序匹配的,因此一定要把允许动作放到拒绝动作前面,否则所有的流量就将被拒绝掉,从而导致任何主机都无法访问我们的服务。
3、配置的防火墙规则保存在以下文件中 /etc/sysconfig/iptables
2.2、相关命令
iptables中常用的参数
- -P 设置默认策略
- -F 清空规则链
- -L 查看规则链
- -A 在规则链的末尾加入新规则
- -I num 在规则链的头部加入新规则
- -D num 删除某一条规则
- -s 匹配来源地址 IP/MASK,加叹号“!”表示除这个 IP 外
- -d 匹配目标地址
- -i 网卡名称 匹配从这块网卡流入的数据
- -o 网卡名称 匹配从这块网卡流出的数据
- -p 匹配协议,如 TCP、UDP、ICMP
- --dport num 匹配目标端口号
- --sport num 匹配来源端口号
- -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
允许已建立的或相关连的通行
- ESTABLISHED:已建立的链接状态
- 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 预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。
过滤规则(执行动作):
- accept 接受
- drop 丢弃
- 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 防火墙介绍相关推荐
- linux防火墙状态centos5,怎么样查看centos防火墙状态
你想查看下centos防火墙的状态吗?要怎么样查看呢?你下面由学习啦小编给你做出详细的查看centos防火墙状态方法介绍!希望对你有帮助! 查看centos防火墙状态方法一: 直接使用iptables ...
- Centos 防火墙开启3306端口
Centos 防火墙开启3306端口 查看防火墙状态 firewall-cmd --state ## 结果显示为running或not running 关闭防火墙firewall systemctl ...
- CentOS防火墙配置方法-详细解读如何配置CentOS防火墙
iptables-save >/etc/sysconfig/iptables (保存配置文件) 在重启iptables 服务或者在重启系统时候不会消失已经开启的端口 对CentOS防火墙的设置 ...
- centos 防火墙位置
2019独角兽企业重金招聘Python工程师标准>>> centos 防火墙位置vi /etc/sysconfig/iptables 转载于:https://my.oschina.n ...
- linux关闭开发者模式的命今,CentOS防火墙用命令行方式关闭的方式
#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport 22 -j A ...
- 转:Centos防火墙设置与端口开放的方法
转自: Centos防火墙设置与端口开放的方法_tianxin的专栏-CSDN博客Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld.所以,端口的开启还是要从两种情况 ...
- Linux概述及centos版本介绍和下载地址
一.Linux发展史简介 1.unix诞生 unix 贝尔实验室 2.谭教授 谭宁邦 minix mini unix 主要用于教学 3.斯托曼 stallman 我要开发出一个系统:自由 开源 替代你 ...
- 华纳云:美国高防服务器的防火墙介绍
美国高防服务器的防火墙是进行网络防御的重要一环,但有部分用户不太了解美国高防服务器防火墙的内容,本文小编就来介绍下美国高防服务器的防火墙. 1.防火墙的定义 美国高防服务器的防火墙是指在本地网络与外界 ...
- 10大开源的Web应用防火墙介绍
10大开源的Web应用防火墙介绍 Web应用防火墙提供应用层的安全.从本质上讲,WAF提供全面的web应用安全解决方案,确保数据和Web应用程序是安全的.下面赵一八笔记(www.fuwuqidl.co ...
最新文章
- 用户名 不在 sudoers文件中,此事将被报告
- 利用浏览器LocalStorage缓存图片,视频文件
- cocos2d-x学习笔记(十)android自动化打包bat脚本
- python 反转布尔值
- MySQL InnoDB 锁介绍及不同 SQL 语句分别加什么样的锁
- Scrapy:Python的爬虫框架----原理介绍
- Serilog 自定义 Enricher 来增加记录的信息
- centos7解决火狐浏览器fash安装问题
- 《动手学深度学习》 第二天 (自动求梯度)
- 云计算学习教程,Python自动化运维开发实战
- net4.0的从客户端中检测到有潜伏危险的 Request.Form
- 长三角协同优势产业基金正式设立,总规模1000亿
- 技术干货大集锦(一)
- 服务器 配置描述文件,配置MDM的描述文件
- 药品名自动归类机器人(化药_中成药_中药材)
- 架构设计的深入思考与总结——概述
- DWF低代码开发技术及其在数字化运营和运维平台建设中的应用
- wireshark抓包实验 分析 详解
- 3D建模软件应该学中文版还是英文版?Maya软件应该学中文版还是英文版?
- 【JAVA】解决mapper绑定异常:nested exception is org.apache.ibatis.binding.BindingException: