Iptables总结
2016-07-25 21:28
381 查看
Iptables总结序:
为实现网络控制功能人们定义硬件防火墙,软件放火墙,主机防火墙,网络防火墙。其工作在主机或网络的边缘,对经由的报文根据预定义的规则进行检索控制。在linux中的iptables,它可以定义多条规则,将他们组成一个表,共同发挥作用,实现详细的访问控制功能,其定义的规则可以让在内核空间当中的netfilter来读取,以下进行详细的介绍:
一.简介
iptables 的前身叫ipfirewall (内核1.x时代),其工作功能极其有限(它需要将所有的规则都放进内核当中,这样规则才能够运行起来,而放进内核,这个做法一般是极其困难的)。当内核发展到2.x系列的时候,更名为ipchains,它可以定义多条规则,将他们串起来,共同发挥作用,而现在,它叫做iptables,可以将规则组成一个列表,实现绝对详细的访问控制功能。 这是一种工作在用户空间中,定义规则的工具,本身并不算是防火墙。其定义的规则,可以让在内核空间当中的netfilter来读取,并且实现让防火墙工作。而放入内核的地方必须要是特定的位置,必须是tcp/ip的协议栈经过的地方。而这个tcp/ip协议栈必须经过的地方,可以实现读取规则的地方就叫做 netfilter.(网络过滤器)
二.工作机制
1.Iptables有四个表:(raw->mangle->nat->filter)
filter:定义过滤(允许或不允许)
nat :定义地址转换的(修改报文的源地址或目标地址)
mangle:修改报文原数据 (拆解报文,做出修改,并重新封装超来)
raw :nat表上启用的连接追踪机制
2.Iptables有五个钩子函数(hook function):
PREROUTING(路由前)
INPUT(数据包流入口)
FORWARD(转发管卡)
OUTPUT(数据包出口)
POSTROUTING(路由后)
通过这五个规则链上定义的规则筛选数据包进行网络控制。
3.其对应为:
raw:PREROUTING,OUTPUT
mangle:PREOUTING,INTPUT,FORWARD,OUTPUT,POSTROUTING
nat:PREROUTING,INPUT,OUTPUT,POSTROUTING
filter:INPUT,FORWARD,OUTPUT
4.报文流向:
由本机到某个进程:PREROUTING->INPUT
由本机转发的报文:PREROUTING->FORWARD->POSTROUTING
由本机某个进程转发的:OUTPUTING->POSTROUTING
5.规则的组成的部分:
匹配条件:检查IP、TCP、UDP等报文的某属性进行匹配,也可借助扩展模块
处理动作:ACCEPT ,DORP ,REJECT,借助模块
三.编写iptables:
格式:iptables [-t] COMMAND chain [-m matchname[per-match-options]] [-j targetname [per-target-options]]
4、拒绝TCP标志位全部为1及全部为0的报文访问本机;
iptables -A INPUT -d 172.16.35.1 -p tcp --tcp-flags ALLALL -j DROPiptables -A OUTPUT -s 172.16.35.1 -p tcp --tcp-flagsALL NONE -j DROP
5、允许本机ping别的主机;但不开放别的主机ping本机;
iptables -A INPUT -p icmp --icmp-type 0 -d172.16.35.1 -j ACCEPTiptables -A OUTPUT -p icmp --icmp-type 8 -s172.16.35.1 -j ACCEPT
为实现网络控制功能人们定义硬件防火墙,软件放火墙,主机防火墙,网络防火墙。其工作在主机或网络的边缘,对经由的报文根据预定义的规则进行检索控制。在linux中的iptables,它可以定义多条规则,将他们组成一个表,共同发挥作用,实现详细的访问控制功能,其定义的规则可以让在内核空间当中的netfilter来读取,以下进行详细的介绍:
一.简介
iptables 的前身叫ipfirewall (内核1.x时代),其工作功能极其有限(它需要将所有的规则都放进内核当中,这样规则才能够运行起来,而放进内核,这个做法一般是极其困难的)。当内核发展到2.x系列的时候,更名为ipchains,它可以定义多条规则,将他们串起来,共同发挥作用,而现在,它叫做iptables,可以将规则组成一个列表,实现绝对详细的访问控制功能。 这是一种工作在用户空间中,定义规则的工具,本身并不算是防火墙。其定义的规则,可以让在内核空间当中的netfilter来读取,并且实现让防火墙工作。而放入内核的地方必须要是特定的位置,必须是tcp/ip的协议栈经过的地方。而这个tcp/ip协议栈必须经过的地方,可以实现读取规则的地方就叫做 netfilter.(网络过滤器)
二.工作机制
1.Iptables有四个表:(raw->mangle->nat->filter)
filter:定义过滤(允许或不允许)
nat :定义地址转换的(修改报文的源地址或目标地址)
mangle:修改报文原数据 (拆解报文,做出修改,并重新封装超来)
raw :nat表上启用的连接追踪机制
2.Iptables有五个钩子函数(hook function):
PREROUTING(路由前)
INPUT(数据包流入口)
FORWARD(转发管卡)
OUTPUT(数据包出口)
POSTROUTING(路由后)
通过这五个规则链上定义的规则筛选数据包进行网络控制。
3.其对应为:
raw:PREROUTING,OUTPUT
mangle:PREOUTING,INTPUT,FORWARD,OUTPUT,POSTROUTING
nat:PREROUTING,INPUT,OUTPUT,POSTROUTING
filter:INPUT,FORWARD,OUTPUT
4.报文流向:
由本机到某个进程:PREROUTING->INPUT
由本机转发的报文:PREROUTING->FORWARD->POSTROUTING
由本机某个进程转发的:OUTPUTING->POSTROUTING
5.规则的组成的部分:
匹配条件:检查IP、TCP、UDP等报文的某属性进行匹配,也可借助扩展模块
处理动作:ACCEPT ,DORP ,REJECT,借助模块
三.编写iptables:
格式:iptables [-t
123 | iptables –-line-numbers -Liptables –D INPUT [num]iptables –D OUTPUT [num] |
iptables -A INPUT -d 172.16.35.1 -p tcp --tcp-flags ALLALL -j DROPiptables -A OUTPUT -s 172.16.35.1 -p tcp --tcp-flagsALL NONE -j DROP
5、允许本机ping别的主机;但不开放别的主机ping本机;
iptables -A INPUT -p icmp --icmp-type 0 -d172.16.35.1 -j ACCEPTiptables -A OUTPUT -p icmp --icmp-type 8 -s172.16.35.1 -j ACCEPT
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍