iptable防火墙原理
iptable防火墙原理
简介
Linux 2.0 ipfs/firewalld
Linux 2.2 ipchain/firewall
Linux 2.4 iptables/netfilter (iptables 是在用户空间写规则的,neifilter工作在内核空间放置规则的位置)
netfilter是内核的一个数据包处理模块,具有如下功能:
网络地址转换
数据包内容修改
数据包过滤的防火墙功能
表和钩子函数
五个钩子函数:input output,forward,pre_routing,post_routing
表:
Mangle表:对数据进行修改,包含5条链
Raw表:,prerouting,output
Filter表:过滤 input,output,forward
Nat表:prerouting,postouting
目标地址转换是发生在路由决策前,刚进入本机的时候,源地址转换是在出去的时候。
防火墙处理数据包的方式
ACCEPT,DROP,REJECT,SNAT,DNAT
数据包路由的原理
网络数据包由底层数据包的网卡接收,通过数据链路层的捷报之后(去除数据链路层帧头),就进入了TCP/IP协议栈(本质上就是一个处理网络数据包的内核驱动)和netfilter混合的数据包的处理流程中了。
总结一下规律:
1)当一个数据包进入网卡的时候,数据包首先进入PREROUTING链,在PREROUTING链中我们有机会修改数据包的目的IP,然后内核的路由模块根据数据包的目的IP判断是否需要转出去
2)如果数据包就是进入本机的,数据包就会沿着图向下移动,到达INPUT链,数据包到达INPUT链后。任何进程都会收到它
3)本机上运行的程序发送数据包经过OUTPUT链,然后经过POSTROUTING链输出
4)如果数据包是要转发出去的,且内核允许转发,数据包就会香油移动,经过FORWARD链,然后到达POSTROUTING链输出。
iptable编写规则
-F 清除规则
-X 清除链
-t filter 指定表
-p tcp/udp
-j DROP/REJECT/ACCEPT/
-s源地址
-d 目的地址
-i eth0 从网络接口eth0进来
-o eth0 从网络接口eth0出去
--sport 源端口
--dportz 目的端口
iptable防火墙原理的更多相关文章
- 基于IMD的包过滤防火墙原理与实现
一.前言二.IMD中间层技术介绍三.passthru例程分析四.部分演示代码五.驱动编译与安装六. 总结 一.前言 前段时间,在安全焦点上看到了TOo2y朋友写的<基于SPI的数据报过滤原理与实 ...
- linux IPtable防火墙 禁止和开放端口(转)
linux IPtable防火墙 禁止和开放端口源:http://hi.baidu.com/zplllm/item/f910cb26b621db57c38d5983评: 1.关闭所有的 INPUT F ...
- iptables防火墙原理详解
1. netfilter与iptables Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤.数 ...
- Linux网卡驱动安装、防火墙原理
安装网卡驱动程序: 需要检查是否安装kernel依赖包: rpm –q kernel-devel #检查kernel依赖包是否安装 yum –y install kernel-devel 检查gcc和 ...
- linux IPtable防火墙 禁止和开放端口
1.关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放.下面是命令实现: iptables -P INPUT DROPiptables -P FORWARD DROPiptable ...
- Neutron的防火墙原理
确切的说这是fwaas,即防火墙即是服务. 防火墙与安全组区别防火墙一般放在网关上,用来隔离子网之间的访问.因此,防火墙即服务也是在网络节点上(具体说来是在路由器命名空间中)来实现. 安全组的对象是虚 ...
- IPtable防火墙概念介绍
1.iptables安全优化 1.不配外网,做代理转发或者防火墙映射 2.并发过大,不建议开启防火墙 2.防火墙的工作流程: 按照配置规则的顺序自上而下,从前到后进行过滤 如果匹配上新规则,表明是阻止 ...
- iptable防火墙配置
/etc/sysconfig/iptables /etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save} ipta ...
- iptable防火墙案例
[root@WX020 firewall]# cat /etc/sysconfig/iptables# Firewall configuration written by system-config- ...
随机推荐
- 关于Layui的表格中分页处理
table.render({ elem: '#test' ,height:'full-125' ,url:'data.php' ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,l ...
- python虚拟环境mkvirtualenv使用
安装virtualenvwrapper pip install virtualenvwrapper 修改默认虚拟环境目录: 环境变量中新建: 变量名:WORKON_HOME 变量值:目录位置 ( ...
- iOS解决表格中TextField,TextView编辑时,输入框被键盘遮挡的问题
方法1:在原来的 UIViewController 内部再添加一层 UITableViewController 代码如下 : // // ViewController.m // 键盘遮挡问题 // / ...
- 关系/对象映射 多对多关系(@ManyToMany 注释)【重新认识】
old: @ManyToMany 注释:表示此类是多对多关系的一边, mappedBy 属性定义了此类为双向关系的维护端, 注意:mappedBy 属性的值为此关系的另一端的属性名. 例如,在Stud ...
- cosbench 安装
cosbench是什么 COSBench是Intel团队基于java开发,衡量云对象存储服务性能的基准测试工具,全称是Cloud object Storage Bench,同所有的性能测试工具一样,C ...
- mesh重叠闪烁问题
我用正交摄像机做了2d游戏,但是导出spine动画文件是个mesh ,在游戏里有时会出现2个Mesh来回切换显示顺序问题,导致闪烁 查了下并没有发现什么解决方案 后面突然发现只要将摄像机的Y轴偏移一点 ...
- python学习之模块-模块(三)
5.6 time 模块 已经知道的常用的time方法:time.time()获取当前时间的时间戳:time.sleep(num)线程推迟指定的时间(秒)后再继续往下运行. 时间的表示方式 大致可以分为 ...
- 深入理解java:2.4. 线程本地变量 java.lang.ThreadLocal类
ThreadLocal,很多人都叫它做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多. 可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那样每个线程可以访问自己内 ...
- [转帖]紫光与群联联盟,长江存储NAND+群联主控+紫光品牌SSD可期
紫光与群联联盟,长江存储NAND+群联主控+紫光品牌SSD可期 全国产的 SSD https://baijiahao.baidu.com/s?id=1620789429952097018&wf ...
- [转帖]基于VIM漏洞CVE-2019-12735的VIM宏后门病毒详解
基于VIM漏洞CVE-2019-12735的VIM宏后门病毒详解 不明觉厉 只要是人做的东西 就会有bug 就会有安全问题 就看发现bug 或者是发现安全问题 有没有收益了 会用linux的都是比较熟 ...