iptables配置.docx

上传人:b****3 文档编号:550708 上传时间:2022-10-11 格式:DOCX 页数:23 大小:219.96KB
下载 相关 举报
iptables配置.docx_第1页
第1页 / 共23页
iptables配置.docx_第2页
第2页 / 共23页
iptables配置.docx_第3页
第3页 / 共23页
iptables配置.docx_第4页
第4页 / 共23页
iptables配置.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

iptables配置.docx

《iptables配置.docx》由会员分享,可在线阅读,更多相关《iptables配置.docx(23页珍藏版)》请在冰豆网上搜索。

iptables配置.docx

iptables配置

netfilter/iptablesIP信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。

这些规则存储在专用的信息包过滤表中,而这些表集成在Linux核中。

在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。

虽然netfilter/iptablesIP信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter和iptables组成。

netfilter组件也称为核空间(kernelspace),是核的一部分,由一些信息包过滤表组成,这些表包含核用来控制信息包过滤处理的规则集。

iptables组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。

iptables包含4个表,5个链。

其中表是按照对数据包的操作区分的,链是按照不同的Hook点来区分的,表和链实际上是netfilter的两个维度。

4个表:

filter,nat,mangle,raw,默认表是filter(没有指定表的时候就是filter表)。

表的处理优先级:

raw>mangle>nat>filter。

filter:

一般的过滤功能

nat:

用于nat功能(端口映射,地址映射等)

mangle:

用于对特定数据包的修改

raw:

有限级最高,设置raw时一般是为了不再让iptables做数据包的跟踪处理,提高性能

5个链:

PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING。

PREROUTING:

数据包进入路由表之前

INPUT:

通过路由表后目的地为本机

FORWARDING:

通过路由表后,目的地不为本机

OUTPUT:

由本机产生,向外转发

POSTROUTIONG:

发送到网卡接口之前。

如下图:

INPUT/OUTPUT/FORWARD只用于-tfilter

INPUT如果包的目标就是本机,则包直接进入INPUT链,再被本地正在等待该包的进程接

OUTPUT两类包走OUTPUT,一类是INPUT入的包,一类是主机本身产生的包

FORWARD如果包的目标不是本机,而是穿过本机的包,则进入FORWARD链,FORWARD既不走INPUT,也不走OUTPUT

POSTROUTING/PREROUTING只用于-tnat

PREROUTING进入路由之前进行,最先进行,DNAT

POSTROUTING进入路由之后进行,最后进行,SNAT

FOWARD是基于两个接口的,不象INPUT,OUTPUT都是基于单一接口的

-i,--in-interface匹配包的入口

-i只适用于INPUT、FORWARD、PREROUTING链中,而用在OUTPUTPOSTROUTING都会出错。

-ieth+:

可以用通配符,表示匹配从所有的以太接口进入的数据包

可以用去反符号“!

”来标示”除了”被列出的接口的所有接口。

-o,--out-interface匹配包的出口

-o适用于OUTPUT、FORWARD,POSTROUTING,而用来INPUT,PREROUTING会出错

-i-o同时匹配入口和出口的,只有非NAT的FORWARD链

#iptables–AFORWORD–ieth0–oeth1–ptcp–jACCEPT

凡是从eth0接口进入,从eth1接口流出的tcp数据流被允许通过

-p,--protocol[!

]protocol两种方式

-pname,可以是tcp,udp,icmp,orall

-pall

-pall只表示tcp、udp、icmp这三种协议,而不包括RFC1340(/etc/protocol)中的所有协议。

其他协议,要用数字

缺省是-pall,即:

不写-p时,相当于-pall,相当于tcp,udp,icmp

-p数字,必须符合RFC1340(/etc/protocol)

-AINPUT-p50-jACCEPT

-AINPUT-p51-jACCEPT

-p0相当于-pall

 

-ptcp--sport,-ptcp--source-port

-ptcp--dport,-ptcp--destination-port

缺省(无--sport),表示匹配所有端口

--sport135

单端口

--sportTELNET

单个服务名,服务名必须在/etc/services文件中进行标注

--sport135:

139

连续端口

匹配源端口从135到139

--sport1024:

匹配源端口从1024到65535

--sport!

1032

表示除了该端口以为的其他所有端口

--sport,--dport不支持逗号枚举端口

注意--sport,--dport可以单个端口,可以连续端口,但不支持逗号枚举端口,逗号枚举必须加-mmultiport参数

-ptcp-mmultiport--sport/--dport

iptables-AFORWARD–ieth0–ptcp–mmultiport--dports25,80,110,443,1863–jACCEPT

 

--ports用于源、目的端口相同时

 

-ptcp下的子参数—tcp-flags--syn

-ptcp--tcp-flags[!

]flag

iptables-AFORWARD-ptcp--tcp-flagsSYN,ACK,FIN,RSTSYN

[!

]–syn

Itisequivalentto--tcp-flagsSYN,RST,ACKSYN.

主要用于匹配和连接有关的数据包

-picmp--icmp-type...

icmp-type类型的指定可以取数字或名字:

数字数字在RFC792中有定义

icmpecho-reply-picmp–icmp-type:

0

icmpecho-request-picmp–icmp-type:

8

namename可以用iptables--picmp--help查看

[rootdemo1~]#/sbin/iptables-picmp-h

iptablesv1.2.11

ICMPv1.2.11options:

--icmp-type[!

]typenamematchicmptype

(ornumerictypeortype/code)

ValidICMPTypes:

any

echo-reply(pong)

destination-unreachable

network-unreachable

host-unreachable

protocol-unreachable

port-unreachable

fragmentation-needed

network-unknown

host-unknown

network-prohibited

host-prohibited

TOS-network-unreachable

TOS-host-unreachable

communication-prohibited

host-precedence-violation

precedence-cutoff

source-quench

redirect

network-redirect

host-redirect

TOS-network-redirect

TOS-host-redirect

echo-request(ping)

router-advertisement

router-solicitation

time-exceeded(ttl-exceeded)

ttl-zero-during-transit

ttl-zero-during-reassembly

parameter-problem

ip-header-bad

required-option-missing

timestamp-request

timestamp-reply

address-mask-request

address-mask-reply

对PING的处理

接口echo-reply,

iptables-AINPUT-picmp--icmp-type0-jACCEPT

这是FW对外PING包的回包

echorequest

iptables-AINPUT-picmp--icmp-type8-mlimit--limit1/second--limit-burst10-jACCEPT

iptables-AFORWARD-picmp-mlimit--limit1/s--limit-burst10-jACCEPT

对icmpecho-request限制,防止pingflood,也可以直接对所有icmp包限制

允许icmp包通过,也就是允许ping,

[roottp~]#iptables-AOUTPUT-picmp-jACCEPT(OUTPUT设置成DROP的话)

[roottp~]#iptables-AINPUT-picmp-jACCEPT(INPUT设置成DROP的话)

允许loopback!

(不然会导致DNS无常关闭等问题)

IPTABLES-AINPUT-ilo-pall-jACCEPT(如果是INPUTDROP)

IPTABLES-AOUTPUT-olo-pall-jACCEPT(如果是OUTPUTDROP)

netuse\\zousongling\c$

ORACLE_HOSTNAME

400810181851885300

框架图

-->PREROUTING-->[ROUTE]-->FORWARD-->POSTROUTING-->

mangle|mangle^mangle

nat|filter|nat

||

||

v|

INPUTOUTPUT

|mangle^mangle

|filter|nat

v------>local------->|filter

2.2链和表

 

filter:

顾名思义,用于过滤的时候

nat:

顾名思义,用于做NAT的时候

NAT:

NetworkAddressTranslator

INPUT:

位于filter表,匹配目的IP是本机的数据包

FORWARD:

位于filter表,匹配穿过本机的数据包,

PREROUTING:

位于nat表,用于修改目的地址(DNAT)

POSTROUTING:

位于nat表,用于修改源地址(SNAT)

3.1iptables语法概述

iptables[-t要操作的表]

<操作命令>

[要操作的链]

[规则]

[匹配条件]

[-j匹配到以后的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1