iptables/netfilter原理及基本操作

本文涉及的产品
云防火墙,500元 1000GB
简介:

简介

防火墙(Firewall): 工作在主机或网络边缘,对进出的报文按事先定义的规则进行检查,并且由匹配到的规则进行处理的一组硬件或软件,甚至可能是二者的结合

Firewall分类:主机防火墙(工作于主机边缘);网络防火墙(工作于网络边缘)

iptables:只是防火墙规则的编写工具,工作于用户空间,编写规则并发送到netfilter

netfilter:能使规则生效的防护框架,工作于内核空间


Netfilter防护原理

在内核中的TCP/IP协议栈上选择了5个点(又称为“卡哨”),这5个点是报文一定会流经的位置,并配置5个钩子函数(hook_function);当有报文经过时,被钩子函数钩起,对规则进行检查,并按照一定的机制(又可称为“功能”)完成处理

原理图

wKioL1M2SmqTOZgXAANvBlvqKso048.jpg

说明:上图显示了Netfilter的实现原理,以及其主要的4大功能:raw,mangle,nat,filter

数据包经Netfilter的过滤匹配流程

图1

wKiom1M2R0qA-hIpAAcIr8FurZg420.jpg

图2

wKiom1M2R5nQ8yJdAA-8ENuAcv4511.jpg

说明1:图1和图2都是数据包流向的描述,个人感觉图2更加形象,可以看出数据包经Netfilter的过滤匹配流程就是针对Netfilter的4大功能,在5个卡哨间停留匹配的过程

说明2:借用的网络上的2张图片,版权归原作者所有


iptables的规则

表和链:

四表(对应4大功能):raw,mangle,nat,filter

五链(对应5个卡哨):PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

表和链的对应关系

  • raw:PREROUTING,OUTPUT

  • mangle:5链中的任意位置

  • nat:PREROUTING,POSTROUTING,OUTPUT

  • filter:INPUT,FORWARD,OUTPUT

iptables的规则匹配原理

wKiom1M2SLOj1dskAAQdV5V9lI0010.jpg

说明:iptables规则的添加需在指定表下的可用链上,即注意表和链的对应关系


iptables规则的保存与恢复

1
2
3
4
5
service iptables save
# 规则默认会保存在/etc/sysconfig/iptables文件中
# iptables启动时,也会读取此文件中的内容以设置规则
iptables-save >  /path/to/some_rulefile  # 手动导出规则文件
iptables-restore <  /path/from/some_rulefile  # 手动导入规则文件

远程修改iptables规则时的小技巧

在远程服务器上修改iptables规则时,防范规则生效错误(尤其是ssh对应端口)被意外断开连接的方法是:在执行任何iptables规则或脚本时,后跟一个计划任务,指定5分钟后清空所有规则,如

1
2
# 实际需执行的iptables规则在iptables.sh文件中,若规则执行成功无错误,取消计划任务即可
sh  /tmp/iptables .sh ; at -f clean_up.at now+5min

at计划任务可参考:

1
2
3
4
5
6
7
#!/bin/bash
iptables -t raw -F
iptables -t mangle -F
iptables -t nat -F
iptables -t filter -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT









本文转自 xxrenzhe11 51CTO博客,原文链接:http://blog.51cto.com/xxrenzhe/1386435,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
网络协议 Linux 网络安全
iptables基础
iptables基础
|
安全 Linux 开发者
iptables 的使用概念 | 学习笔记
快速学习iptables 的使用概念
iptables 的使用概念 | 学习笔记
|
网络协议 Linux 网络安全
netfilter和iptables的实现机制
随着计算机网络和Internet普及,计算机很久之前就开始遭受各种入侵了。因此为了阻止入侵,就产生了网络防火墙以及网络数据分析的需求。 而这个netfilter就是在linux系统中来实现防火墙功能。
2717 0
|
网络协议 Linux 网络安全
|
网络协议 网络安全
|
网络协议 Linux 网络安全
|
网络协议 关系型数据库 网络安全
|
人工智能 网络协议 网络安全