iptables配置Word文档下载推荐.docx
《iptables配置Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《iptables配置Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
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:
icmpecho-request-picmp–icmp-type:
8
namename可以用iptables--picmp--help查看
[root@demo1~]#/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,
[root@tp~]#iptables-AOUTPUT-picmp-jACCEPT(OUTPUT设置成DROP的话)
[root@tp~]#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要操作的表]
<
操作命令>
[要操作的链]
[规则号码]
[匹配条件]