iptables.docx

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

iptables.docx

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

iptables.docx

iptables

iptables

viptables是一款Linux系统下著名的防火墙软件。

v已经成为Linux系统中防火墙软件的事实标准。

iptables的功能

1)数据包过滤防火墙

2)网络地址转换NAT

3)数据包拆分

viptables共有3张表,分别是:

filter(过滤)表

nat(网络地址转换)表

mangle(拆分)表

这3张表正好对应实现iptables的3类功能。

v表链规则

在iptables的概念中,“表”是最大的容器;

在表中可以定义多条“链”;

每条链中又可以定义多条“规则”。

v激活IP转发功能

☆把Linux主机配置成网关防火墙,需要在执行iptables命令之前激活IP数据包的转发功能。

☆激活IP数据包的转发功能的命令如下:

#echo1>/proc/sys/net/ipv4/ip_forward

iptables基础

iptables语法格式如下:

iptables[-ttable]commandchain[match][-jtarget/jump]

iptables语法格式中的命令

(1)命令–A(--append)

示例:

iptables–AINPUT-jACCEPT

功能:

命令-A用来向指定的链中追加新规则,本例为向filter表(默认表)的INPUT链中追加一条规则,其功能是接受源地址为任意、目标地址为防火墙本身的所有数据包。

说明:

新增加的规则将会成为规则链中的最后一条规则。

(2)命令–D(--delete)

示例:

iptables-DINPUT–ptcp--dport80-jDROP

功能:

删除“拒绝协议为tcp、目标端口为80的数据包进入本机”的规则。

说明:

也可以通过直接指定规则编号加以删除,示例如下:

iptables-DINPUT1

功能:

删除INPUT链中编号为“1”的规则。

(3)命令–I(--insert)

示例:

iptables-IINPUT1-ptcp--dport80-jACCEPT

功能:

命令–I用来插入规则,本例为在filter表(默认表)的INPUT链中第1条规则的位置插入一条规则,其功能是接受协议为tcp、目标端口为80的数据包进入本机。

说明:

在指定的链中插入一条规则,原来在该位置及其以后的规则将依次往后移动一个位置。

(4)命令–L(--list)

示例:

iptables-LINPUT

功能:

命令-L用来列出指定链中的规则,本例为列出位于filter表(默认表)的INPUT链中所有规则。

说明:

如果不指明具体的表,则会列出filter表(默认表)的每条链中的所有规则。

也可以指定具体的表的名称,例如要列出nat表中所有规则,则命令如下:

#iptables-tnat-L

(5)命令–F(--flush)

示例:

iptables-FINPUT

功能:

命令–F用来清空指定链中的所有规则,本例为清空filter表(默认表)的INPUT链中的所有规则。

说明:

如果不指明具体的链,则会清空filter表(默认表)的每条链中的所有规则。

也可以指定具体的表的名称,例如要清空nat表中所有规则,则命令如下:

#iptables-tnat-F

(6)命令–Z(--zero)

示例:

iptables-ZINPUT

功能:

命令-Z用来将指定链的计数器清零,本例为将filter表(默认表)的INPUT链的计数器清零。

(7)命令–N(--new-chain)

示例:

iptables-NMYCHAIN

功能:

命令–N用来自定义新链,本例为在filter表(默认表)中定义一条名为MYCHAIN的新链。

说明:

每条规则链就像一个函数,链中的规则就像函数中的一条条语句;在定义新的规则链之后,用户可以在新链中自定义规则。

(8)命令–X(--delete-chain)

示例:

iptables-XMYCHAIN

功能:

命令–X用来删除指定的链,本例为删除filter表(默认表)中名为MYCHAIN的链。

说明:

此命令只能删除用户自定义的链而不能删除内置(默认)链。

(9)命令–P(--policy)

示例:

iptables-PINPUTDROP

功能:

命令–P用来定义指定链的默认处理策略。

说明:

只有内置(默认)链才能定义默认处理策略。

(10)命令–E(--rename-chain)

示例:

iptables-EMYOLDCHAINMYNEWCHAIN

功能:

命令–E用来将自定义的链重命名,本例为将用户自定义的链MYOLDCHAIN重命名为MYNEWCHAIN。

说明:

重命名链的名称不影响规则表、链的结构,仅仅是改换名称而已。

iptables语法格式中的参数

(1)参数–p(--protocol)

示例:

iptables-AINPUT-ptcp–jACCEPT

功能:

参数–p(小写p)用来指定要匹配的协议,本例为在filter表(默认表)的INPUT链中追加一条规则,其功能是接受协议为tcp的数据包进入本机。

说明:

v可以使用“!

”运算符进行反向匹配,例如:

-p!

udp,其含义是指除udp以外的其他类型,包含tcp、icmp等其他协议;

v还可以使用“all”来要匹配所有类型,如:

-pall。

v在使用了-p参数后,可以进一步使用端口参数来进行更细致的匹配。

(2)参数--sport(--source-port)

示例:

iptables-AINPUT-pudp--sport53–jACCEPT

功能:

参数--sport用来指定要匹配的端口,本例为在filter表(默认表)的INPUT链中追加一条规则,其功能是接受协议为udp、源端口为53的数据包进入本机。

说明:

参数--sport不仅可以匹配单一端口,还可以匹配一个端口范围,例如:

--sport20:

80,表示从20到80端口之间的所有端口。

另外,也可以使用“!

”运算符进行反向匹配。

(3)参数--dport(--destination-port)

示例:

iptables-AINPUT-ptcp--dport80–jACCEPT

功能:

参数--dport用来指定要匹配的目标端口,本例为在filter表(默认表)的INPUT链中追加一条规则,其功能是接受协议为tcp、目标端口为80的数据包进入本机。

说明:

请参照参数--sport的用法说明。

(4)参数–s(--src,--source)

示例:

iptables-AINPUT-s192.168.1.1-jACCEPT

功能:

参数-s用来指定要匹配的源IP地址

说明:

参数-s既可以用来匹配单个IP地址,也可以匹配一个网段,例如:

-s192.168.1.0/24。

另外,还可以使用!

运算符进行反向匹配,例如:

-s!

192.168.1.0/24。

(5)参数-d(--dst,--destination)

示例:

iptables-AINPUT-d192.168.1.1-jACCEPT

功能:

参数-d用来指定要匹配的目标IP地址

说明:

请参照参数-s的用法说明

(6)参数-i(--in-interface)

示例:

iptables-AINPUT-ieth0-jACCEPT

功能:

参数-i用来指定数据包进入的网卡,本例为在filter表(默认表)的INPUT链中追加一条规则,其功能是接受从网卡eth0进入本机的数据包。

说明:

v可以使用通配字符“+”来匹配所有网卡,例如:

-ieth+表示所有的名字以“eth”开头的网卡。

v另外,该参数也可以使用“!

”运算符进行反向匹配,例如:

-i!

eth0。

v需要注意的是参数-i只能工作在INPUT、FORWARD和PREROUTING链上。

(7)参数-o(--out-interface)

示例:

iptables-AFORWARD-oeth0-jACCEPT

功能:

参数-o用来指定数据包从哪块网卡出去

说明:

v源地址和目标地址都不是本机的数据包需要经过filter表的FORWARD链中的规则进行处理。

v该参数使用方式请参照参数-i。

需要注意的是参数-o只能工作在OUTPUT、FORWARD和POSTROUTING链上。

(8)参数--tcp-flags

示例:

iptables-AINPUT-ptcp--tcp-flagsSYN,RST,ACKSYN–jACCEPT

功能:

参数--tcp-flags用来匹配TCP的状态标志,其功能是接受协议为tcp而且在SYN、RST和ACK3个标志位中只有SYN位为1的数据包进入本机。

说明:

参数--tcp-flags分为两个部分:

第一个部分列出需要匹配的标志

第二部分则列出上述标志中哪些位必须被设置为1,其余未被列举的标志必须为0。

其中,TCP状态标志共有6种:

SYN(同步)、ACK(确认)、FIN(结束)、RST(重置)、URG(紧急)、PSH(强迫推送)。

另外,还可以使用关键词ALL和NONE进行匹配,也可以使用“!

”运算符进行反向匹配。

(9)参数-mmultiport--source-port

示例:

iptables-AINPUT-ptcp-mmultiport--source-port20,21,53,80,110-jACCEPT

功能:

参数-mmultiport--source-port用来匹配多个不连续的源端口号。

说明:

该参数一次最多可以匹配15个端口,还可以使用“!

”运算符进行反向匹配。

(10)参数-mmultiport--destination-port

示例:

iptables-AINPUT-ptcp-mmultiport--destination-port20,21,53,80,110–jACCEPT

功能:

参数-mmultiport--destination-port用来匹配多个不连续的目标端口号。

说明:

使用方式参见参数-mmultiport--source-port。

(11)参数-mmultiport--port

示例:

iptables-AINPUT-ptcp-mmultiport--port22,53-jACCEPT

功能:

参数-mmultiport--port用来匹配源端口号和目的端口号相同的数据包。

说明:

这个参数比较特殊,要求源端口号和目的端口号必须相同。

例如:

如果来源端口号为22但目的地端口号为53,这种数据包并不算符合匹配条件。

(12)参数--icmp-type

示例:

iptables-AINPUT-picmp--icmp-type8-jACCEPT

功能:

参数--icmp-type用来匹配icmp协议的类型编号,实际上,允许其他机器主动ping本机。

说明:

关于icmp协议的类型编号,既可以使用代码也可以使用数字编号来进行匹配;可以通过输入iptables-picmp--help来查看有哪些代码可用。

(13)参数-mlimit--limit数量1--limit-burst数量2

示例:

iptables-AINPUT-

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

当前位置:首页 > 小学教育 > 语文

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

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