firewalld 防火墙
时间:2019-09-25
本文章向大家介绍firewalld 防火墙,主要包括firewalld 防火墙使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
firewalld防火墙
firewalld简述
firewalld:防火墙,其实就是一个隔离工具:工作于主机或者网络的边缘
对于进出本主机或者网络的报文根据事先定义好的网络规则做匹配检测,
对于能够被规则所匹配的报文做出相应处理的组件(这个组件可以是硬件,也可以是软件):
- 主机防火墙
- 网络防火墙
功能(也叫表)
filter:过滤,防火墙 nat:network address translation,网络地址转换 mangle:拆分报文,做出修改,在封装起来 raw:关闭nat表上启用的连接追踪功能
链(内置):
PREROUTING INPUT FORWARD OUTPUT POSTROUTING
数据报文的流向
流入:PREROUTING --> INPUT 流出:OUTPUT --> POSTROUTING 转发:PREROUTING --> FORWARD --> POSTROUTING
各功能可以在哪些链上实现
filter: INPUT,FORWARD,OUTPUT nat:PREROUTING(DNAT),OUTPUT,INPUT,POSTROUTING(SNAT) mangle: PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING raw:PREROUTING,OUTPUT
路由发生的时刻(PREROUTING,POSTROUTING)
报文进入本机后: 判断目标主机 报文发出之前: 判断经由哪个借口送往下一跳
添加规则时的考量点
(1)要实现什么功能:判断添加在哪张表上; (2)报文流经的路径:判断添加在哪个链上;
firewalld优先级
策略应用优先级:raw, mangle, nat, filter 策略常用优先级:filter,nat,mangle,raw
链管理
-F: flush,清空规则链:省略链,表示清空指定表上的所有的链 -N: new, 创建新的自定义规则链: -X: drop, 删除用户自定义的空的规则链-P: Policy, 为指定链这是默认策略,对filter表中的链而言,默认策略通常有ACCEPT,DROP,REJECT;
规则管理
-A:append,将新规则追加于指定链的尾部 -I:insert,将新规则插入至指定链的指定位置 -D:delete,删除指定链上的指定规则:
查看防火墙策略
-L:list, 列出指定链上的所有规则: -n:number,以数字格式显示地址和端口号 -v:verbose,显示详细信息 -vv,-vvv --line-numbers:显示规则编号:
匹配条件
-s, source:检查报文中源ip地址是否符合此处指定的地址范围 -d, destination:检查报文中ip地址是否符合此处指定的地址范围 -p, protocol(udp|tcp|icmp):检查报文中的协议 -i, input-interface:数据报文的流入接口:仅能用于PREROUTING,INPUT,FORWARD链上 -o, out-interface:数据报文的流出接口:仅能用于POSTROUTING,OUTPUT,FORWARD链上
-j target:jump至指定的target
ACCEPT:接受
DROP:丢弃
REJECT:拒绝
RETURN:返回调用链
REDIRECT:端口重定向
LOG:记录日志
MARK:做防火墙标记
DNAT:目标地址转换
SNAT:源地址转换
MASQUERADE:地址伪装
....
自定义链:由自定义链中的的规则进行匹配
例子
filter表:
清空所有策略: iptables -F 清空自定义链: iptables -X 自定义一个链 iptables -N old_forward 修改自定义链的名字 iptables -E old_forward new_forward 把filter中forward链的默认策略打成drop iptables -P FORWARD DROP 查看filter表中的策略并且显示行数: iptables -L -n --line-number 删除filter表中forward链中的第9条策略: iptables -t filter -D FORWARD 9 限制所有主机(0.0.0.0)拒绝ping本主机 iptables -t filter -A INPUT -s 0.0.0.0 -d 192.168.254.24 -p icmp -j REJECT 显示所有主机(0.0.0.0)拒绝通过ens33网卡ping本主机 iptables -t filter -A INPUT -d 192.168.254.24 -i ens33 -p icmp -j REJECT
nat表:
#源地址为192.168.250.0网段的ip地址经过防火墙都转换成192.168.31.100这个ip地址(SNAT:源地址转换) iptables -t nat -A POSTROUTING -s 192.168.250.0/24 ! -d 192.168.250.0/24 -j SNAT --to-source 192.168.31.100 #访问目标地址为192.168.31.200这个机器并且是tcp协议80号端口的都转发给192.168.250.1(DNAT目标地址转换) iptables -t nat -A PREROUTING -d 192.168.31.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.250.1:80 #访问目标地址为192.168.31.200这个机器并且是tcp协议80号端口的都转发给192.168.31.100的9999号端口(DNAT目标端口地址转换) iptables -t nat -A PREROUTING -d 192.168.31.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.31.100:9999
原文地址:https://www.cnblogs.com/it-peng/p/11584484.html
- 1131: [POI2008]Sta
- 3172: [Tjoi2013]单词
- WebApiThrottle限流框架使用手册
- webpack学习(六)打包压缩js和css
- 1051: [HAOI2006]受欢迎的牛
- 1572: [Usaco2009 Open]工作安排Job
- 深海中的STL—mt19937
- 探索ASP.NET MVC5系列之~~~4.模型篇---包含模型常用特性和过度提交防御
- POJ1201 Intervals(差分约束)
- 【NLP】十分钟快览自然语言处理学习总结
- MVC5 网站开发之九 网站设置
- Redis安全小结
- webpack学习(七)打包压缩图片
- POJ1275 Cashier Employment(差分约束)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 物理备库的Switchover
- 使用Python自动备份思科交换机配置
- c# winform 窗体最大化后挡住了任务栏
- Oracle参数解析(timed_statistics)
- C#将引用的dll嵌入到exe文件中
- C# 软件版本号
- C# 实现登录并跳转界面
- QT 常用控件操作实例集锦
- C# Socket TCP发送图片与接收图片
- ingress通过daemonSet,nodeSelector,hostNetwork方式部署
- Oracle参数解析(event)
- Qt读写文件(2种方式)实现详解
- 字符串匹配 - KMP算法
- c# 判断文件是否发生了变化
- C# 用IrisSkin4.dll美化你的WinForm