iptables实例与命令全解Word格式文档下载.docx

上传人:b****2 文档编号:5169352 上传时间:2023-05-04 格式:DOCX 页数:40 大小:170.33KB
下载 相关 举报
iptables实例与命令全解Word格式文档下载.docx_第1页
第1页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第2页
第2页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第3页
第3页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第4页
第4页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第5页
第5页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第6页
第6页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第7页
第7页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第8页
第8页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第9页
第9页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第10页
第10页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第11页
第11页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第12页
第12页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第13页
第13页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第14页
第14页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第15页
第15页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第16页
第16页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第17页
第17页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第18页
第18页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第19页
第19页 / 共40页
iptables实例与命令全解Word格式文档下载.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

iptables实例与命令全解Word格式文档下载.docx

《iptables实例与命令全解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《iptables实例与命令全解Word格式文档下载.docx(40页珍藏版)》请在冰点文库上搜索。

iptables实例与命令全解Word格式文档下载.docx

图3

要使192.168.52.0/24网络内的计算机(这此计算机的网关应设为192.168.52.10)强制访问指定的站点,在做为防火墙的计算机(192.168.52.10)上应添加以下规则:

1.打开ip包转发功能 

echo1>

/proc/sys/net/ipv4/ip_forward

2.在NAT/防火墙计算机上的NAT表中添加目的地址转换规则:

iptables-tnat-IPREROUTING-ieth0-ptcp--dport80-jDNAT--to-destination202.96.134.130:

80

iptables-tnat-IPREROUTING-ieth0-pudp--dport80-jDNAT--to-destination202.96.134.130:

3.在NAT/防火墙计算机上的NAT表中添加源地址转换规则:

 

iptables-tnat-IPOSTROUTING-oeth1-ptcp--dport80-s192.168.52.0/24-jSNAT--to-source202.96.134.10:

20000-30000

iptables-tnat-IPOSTROUTING-oeth1-pudp--dport80-s192.168.52.0/24-jSNAT--to-source202.96.134.10:

4.测试:

在内部网的任一台计算机上打开浏览器,输入任一非本网络的IP,都将指向IP为202.96.134.130的网站.

3发布内部网络服务器

图4

要使因特网上的计算机访问到内部网的FTP服务器、WEB服务器,在做为防火墙的计算机上应添加以下规则:

1.echo1>

2.发布内部网web服务器

iptables-tnat-IPREROUTING-ptcp-ieth1-s202.96.134.0/24--dport80-jDNAT--to-destination192.168.52.15:

iptables-tnat-IPOSTROUTING-ptcp-ieth0-s192.168.52.15--sport80-jSNAT--to-source202.96.134.10:

20000-30000 

3.发布内部网ftp服务器

iptables-tnat-IPREROUTING-ptcp-ieth1-s202.96.134.0/24--dport21-jDNAT--to-destination192.168.52.14:

21

iptables-tnat-IPOSTROUTING-ptcp-ieth0-s192.168.52.14--sport21-jSNAT--to-source202.96.134.10:

40000-50000  

4.注意:

内部网的计算机网关要设置为防火墙的ip(192.168.52.1)

5.测试:

用一台IP地址为202.96.134.0段的计算机虚拟因特网访问,当在其浏览器中访问http:

//202.96.134.10时,实际应看到的是192.168.52.15的的web服务;

当访问ftp:

//202.96.134.10时,实际应看到的是192.168.52.14上的的ftp服务。

4智能DNS

图5

/proc/sys/net/ipv4/ip_forward

2.在NAT服务器上添加以下规则:

在PREROUTING链中添加目的地址转换规则:

iptables-tnat-IPREROUTING-ieth0-ptcp--dpor53-jDNAT--to-destination202.96.134.130

iptables-tnat-IPREROUTING-ieth0-pudp--dpor53-jDNAT--to-destination202.96.134.130

在POSTROUTING链中添加源地址转换规则:

iptables-tnat-IPOSTROUTING-oeth1-s192.168.52.0/24-ptcp--dpor53-jSNAT--to-source202.96.134.10:

40000-50000

iptables-tnat-IPOSTROUTING-oeth1-s192.168.52.0/24-pudp--dpor53-jSNAT--to-source202.96.134.10:

3.测试

在内部网任一台计算机上,将DNS设置为任意的外网IP,就可以使用DNS测试工具如nslookup来解析DNS服务器202.96.134.130上的名称.

5端口映射

见上节透明代理设置

#iptables-tnat-APREROUTING-ieth0-ptcp-s192.168.62.0/24--dport80-jREDIRECT--to-ports3128

6通过NAT上网

∙典型NAT上网

一般做为NAT的计算机同时也是局域网的网关,假定该机有两块网卡eth0、eth1,eth0连接外网,IP为202.96.134.134;

eth1连接局域网,IP为192.168.62.10

1.先在内核里打开ip转发功能

#echo1>

2.?

使局域网用户能访问internet所要做的nat

#iptables-tnat-APOSTROUTING-ptcp-oeth0-jSNAT--to?

202.96.134.134

如果上网的IP是动态IP,则使用以下规则:

#iptables-tnat-APOSTROUTING-oeth0-s192.168.62.0/24-jMASQUERADE

如果是通过ADSL上网,且公网IP是动态IP,则使用以下规则:

#iptables-tnat-APOSTROUTING-oppp0-s192.168.62.0/24-jMASQUERADE

3.使internet用户可以访问局域网内web主机所要做的nat

#iptables-tnat-APREROUTING-ptcp-d202.96.134.134--dport80-jDNAT--to-destination192.168.62.10

局域网内的客户端需将默认网关、DNS设为防火墙的IP

∙在我们的网络机房实现NAT共享上网

工作环境:

上层代理192.168.60.6(4480),只授予教师机(192.168.62.111)使用该代理的权限

目标:

不使用squid代理上网,而是使用NAT的方式上网

方法:

1)确保停止教师机(192.168.62.111)的squid或其它代理服务

2)客户端网关、DNS均指向192.168.62.111,浏览器代理设置为192.168.60.6(4480)。

测试在当前情况下能否上网

3)在教师机(192.168.62.111)上添加如下iptables规则:

#iptables-tnat-APOSTROUTING-ptcp-d192.168.60.6/32--dport4480-jSNAT--to-source192.168.62.111:

10000-30000

解释:

对于目的地为192.168.60.6、目的端口为4480的TCP包,在经过防火墙路由后,将其源地址转换为192.168.62.111,端口转换为10000-30000间的某个端口。

4)客户端测试能否上网

IP规则的保存与恢复

iptables-save把规则保存到文件中,再由目录rc.d下的脚本(/etc/rc.d/init.d/iptables)自动装载

使用命令iptables-save来保存规则。

一般用

iptables-save>

/etc/sysconfig/iptables

生成保存规则的文件/etc/sysconfig/iptables,

也可以用

serviceiptablessave

它能把规则自动保存在/etc/sysconfig/iptables中。

当计算机启动时,rc.d下的脚本将用命令iptables-restore调用这个文件,从而就自动恢复了规则。

iptables指令语法

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

[-ttable]指定规则表

-t参数用来,内建的规则表有三个,分别是:

nat、mangle和filter,当未指定规则表时,则一律视为是filter。

个规则表的功能如下:

nat:

此规则表拥有PREROUTING和POSTROUTING两个规则链,主要功能为进行一对一、一对多、多对多等网址转换工作(SNAT、DNAT),这个规则表除了作网址转换外,请不要做其它用途。

mangle:

此规则表拥有PREROUTING、FORWARD和POSTROUTING三个规则链。

除了进行网址转换工作会改写封包外,在某些特殊应用可能也必须去改写封包(TTL、TOS)或者是设定MARK(将封包作记号,以进行后续的过滤),这时就必须将这些工作定义在mangle规则表中,由于使用率不高,我们不打算在这里讨论mangle的用法。

filter:

这个规则表是默认规则表,拥有INPUT、FORWARD和OUTPUT三个规则链,这个规则表顾名思义是用来进行封包过滤的处理动作(例如:

DROP、LOG、ACCEPT或REJECT),我们会将基本规则都建立在此规则表中。

command常用命令列表:

命令-A,--append

范例iptables-AINPUT...

说明新增规则到某个规则链中,该规则将会成为规则链中的最后一条规则。

命令-D,--delete

范例iptables-DINPUT--dport80-jDROP

iptables-DINPUT1

说明从某个规则链中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。

命令-R,--replace

范例iptables-RINPUT1-s192.168.0.1-jDROP

说明取代现行规则,规则被取代后并不会改变顺序。

命令-I,--insert

范例iptables-IINPUT1--dport80-jACCEPT

说明插入一条规则,原本该位置上的规则将会往后移动一个顺位。

命令-L,--list

范例1iptables-LINPUT

说明列出某规则链中的所有规则。

范例2iptables-tnat-L

说明列出nat表所有链中的所有规则。

命令-F,--flush

范例iptables-FINPUT

说明删除filter表中INPUT链的所有规则。

命令-Z,--zero

范例iptables-ZINPUT

说明将封包计数器归零。

封包计数器是用来计算同一封包出现次数,是过滤阻断式攻击不可或缺的工具。

命令-N,--new-chain

范例iptables-Nallowed

说明定义新的规则链。

命令-X,--delete-chain

范例iptables-Xallowed

说明删除某个规则链。

命令-P,--policy

范例iptables-PINPUTDROP

说明定义过滤政策。

也就是未符合过滤条件之封包,默认的处理方式。

命令-E,--rename-chain

范例iptables-Ealloweddisallowed

说明修改某自定义规则链的名称。

[match]常用封包匹配参数

参数-p,--protocol

范例iptables-AINPUT-ptcp

说明匹配通讯协议类型是否相符,可以使用!

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

-p!

tcp

意思是指除tcp以外的其它类型,如udp、icmp...等。

如果要匹配所有类型,则可以使用all关键词,例如:

-pall

参数-s,--src,--source

范例iptables-AINPUT-s192.168.1.1

说明用来匹配封包的来源IP,可以匹配单机或网络,匹配网络时请用数字来表示子网掩码,例如:

-s192.168.0.0/24

匹配IP时可以使用!

-s!

192.168.0.0/24。

参数-d,--dst,--destination

范例iptables-AINPUT-d192.168.1.1

说明用来匹配封包的目的地IP,设定方式同上。

参数-i,--in-interface

范例iptables-AINPUT-ieth0

说明用来匹配封包是从哪块网卡进入,可以使用通配字符+来做大范围匹配,例如:

-ieth+

表示所有的ethernet网卡

也可以使用!

-i!

eth0

参数-o,--out-interface

范例iptables-AFORWARD-oeth0

说明用来匹配封包要从哪块网卡送出,设定方式同上。

参数--sport,--source-port

范例iptables-AINPUT-ptcp--sport22

说明用来匹配封包的源端口,可以匹配单一端口,或是一个范围,例如:

--sport22:

表示从22到80端口之间都算是符合条件,如果要匹配不连续的多个端口,则必须使用--multiport参数,详见后文。

匹配端口号时,可以使用!

运算符进行反向匹配。

参数--dport,--destination-port

范例iptables-AINPUT-ptcp--dport22

说明用来匹配封包的目的地端口号,设定方式同上

参数--tcp-flags

范例iptables-ptcp--tcp-flagsSYN,FIN,ACKSYN

说明匹配TCP封包的状态标志,参数分为两个部分,第一个部分列举出想匹配的标志,第二部分则列举前述标志中哪些有被设置,未被列举的标志必须是空的。

TCP状态标志包括:

SYN(同步)、ACK(应答)、FIN(结束)、RST(重设)、URG(紧急)、PSH(强迫推送)等均可使用于参数中,除此之外还可以使用关键词ALL和NONE进行匹配。

匹配标志时,可以使用!

运算符行反向匹配。

参数--syn

范例iptables-ptcp--syn

说明用来表示TCP通信协议中,SYN位被打开,而ACK与FIN位关闭的分组,即TCP的初始连接,与iptables-ptcp--tcp-flagsSYN,FIN,ACKSYN的作用完全相同,如果使用!

运算符,可用来匹配非要求连接封包。

参数-mmultiport--source-port

范例iptables-AINPUT-ptcp-mmultiport--source-port22,53,80,110

说明用来匹配不连续的多个源端口,一次最多可以匹配15个端口,可以使用!

参数-mmultiport--destination-port

范例iptables-AINPUT-ptcp-mmultiport--destination-port22,53,80,110

说明用来匹配不连续的多个目的地端口号,设定方式同上

参数-mmultiport--port

范例iptables-AINPUT-ptcp-mmultiport--port22,53,80,110

说明这个参数比较特殊,用来匹配源端口和目的端口号相同的封包,设定方式同上。

注意:

在本范例中,如果来源端口号为80目的地端口号为110,这种封包并不算符合条件。

参数--icmp-type

范例iptables-AINPUT-picmp--icmp-type8

说明用来匹配ICMP的类型编号,可以使用代码或数字编号来进行匹配。

请打iptables-picmp--help来查看有哪些代码可用。

参数-mlimit--limit

范例iptables-AINPUT-mlimit--limit3/hour

说明用来匹配某段时间内封包的平均流量,上面的例子是用来匹配:

每小时平均流量是否超过一次3个封包。

除了每小时平均次外,也可以每秒钟、每分钟或每天平均一次,默认值为每小时平均一次,参数如后:

/second、/minute、/day。

除了进行封包数量的匹配外,设定这个参数也会在条件达成时,暂停封包的匹配动作,以避免因骇客使用洪水攻击法,导致服务被阻断。

参数--limit-burst

范例iptables-AINPUT-mlimit--limit-burst5

说明用来匹配瞬间大量封包的数量,上面的例子是用来匹配一次同时涌入的封包是否超过5个(这是默认值),超过此上限的封包将被直接丢弃。

使用效果同上。

参数-mmac--mac-source

范例iptables-AINPUT-mmac--mac-source00:

00:

01

说明用来匹配封包来源网络接口的硬件地址,这个参数不能用在OUTPUT和POSTROUTING规则链上,这是因为封包要送到网卡后,才能由网卡驱动程序透过ARP通讯协议查出目的地的MAC地址,所以iptables在进行封包匹配时,并不知道封包会送到哪个网络接口去。

参数--mark

范例iptables-tmangle-AINPUT-mmark--mark1

说明用来匹配封包是否被表示某个号码,当封包被匹配成功时,我们可以透过MARK处理动作,将该封包标示一个号码,号码最大不可以超过4294967296。

参数-mowner--uid-owner

范例

iptables-AOUTPUT-mowner--uid-owner500

说明用来匹配来自本机的封包,是否为某特定使用者所产生的,这样可以避免服务器使用root或其它身分将敏感数据传送出,可以降低系统被骇的损失。

可惜这个功能无法匹配出来自其它主机的封包。

参数-mowner--gid-owner

范例iptables-AOUTPUT-mowner--gid-owner0

说明用来匹配来自本机的封包,是否为某特定使用者群组所产生的,使用时机同上。

参数-mowner--pid-owner

iptables-AOUTPUT-mowner--pid-owner78

说明用来匹配来自本机的封包,是否为某特定进程所产生的,使用时机同上。

参数-mowner--sid-owner

iptables-AOUTPUT-mowner--sid-owner100

说明用来匹配来自本机的封包,是否为某特定连接(SessionID)的响应封包,使用时机同上。

参数-mstate--state

iptables-AINPUT-mstate--stateRELATED,ESTABLISHED

说明用来匹配连接状态,连接状态共有四种:

INVALID、ESTABLISHED、NEW和RELATED。

INVALID表示该封包的连接编号(SessionID)无法辨识或编号不正确。

ESTABLISHED表示该封包属于某个已经建立的连接。

NEW表示该封包想要起始一个连接(重设连接或将连接重导向)。

RELATED表示该封包是属于某个已经建立的连接,所建立的新连接。

例如:

FTP-DATA连接必定是源自某个FTP连接。

[-jtarget/jump]常用的处理动作:

-j参数用来指定要进行的处理动作,常用的处理动作包括:

ACCEPT、REJECT、DROP、REDIRECT、MASQUERADE、LOG、DNAT、SNAT、MIRROR、QUEUE、RETURN、MARK,分别说明如下:

ACCEPT:

将封包放行,进行完此处理动作后,将不再匹配其它规则,直接跳往下一个规则链(natostrouting)。

REJECT:

拦阻该

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2