论坛风格切换切换到宽版
  • 769阅读
  • 0回复

[问题求助]IPtable 1.0.7指南(二) 转 [复制链接]

上一主题 下一主题
离线gjj3000gjj.
 
发帖
2013
C币
-140552
威望
393
贡献值
1
银元
-3
铜钱
4575
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
真正开始伪装
我们第一个任务就是开始真正的伪装,是吗?至少对我是这样的。首先我们向nat table添加一条规则,在POSTROUTING 链上,该规则将伪装出自我们与Internet连接的接.口的所有包。对我来说这是eth0,-t 告诉我们用哪个表,在这种情况下是nat,-A 告诉我们,我们将在一个叫做POSTROUTING .的已存在链上加一个新规则,-o eth0 告诉我们匹配eth0 上的.所有流出包,我们最.后的目标是伪装包。所有与这条规则匹配的包都被伪装,看起来象来自你的Internet 接口。很.简单,是吗? .    外汇
下一步是接收所有来自.输入接口eth1 的并通过默认表过滤器中的.FORWARD链的包,eth1是与内部网络连接的接口。所有在我们网.络设备被传送的包都将穿过过滤器表中的FORWARD 链。 健康
下一件事是接收所有来自任何地方的建立或关联某个连接的包。换句话说,在eth1后我们先在本地网.络设备发送一个包,因为它来自eth1, 所以我们接收它,然后当Internet. 网络设备应答的时候,它被这.个规则俘获,因为连接在两个方向上都看见了这个包。 .
最后的事情就是记录滑过边缘命中省缺策略的负载,这是那些应该通过却没有通过的包。在其他情况下,他们可能是.那些显然不能.通过的包,你要通报这一点。我们允许这条规.则每分钟最多匹配3次,限制是3。这意味着在这条线上,我们每分钟.最多得到3条记录(log entries),限制仍是3,所以如果我们在2秒钟内得到3条记录,下条记录我们要等1分钟。如果有人对你倾倒废物的话这是好的,否则会产生许多兆字节的日志记录。我们在日志前加一个前缀——log-prefix,将日志级别设为log-level,.日志.级别将告诉syslogd或logging facility这条日志.到底重要到什么程度。 外贸

不同链的规则取代,为什么?
我用尽可能多的节约CPU.资源 的方式取代了.不同的链。不让TCP 包穿过ICMP, .
UDP 和 TCP规则,.我只是匹配TCP 包,让TCP 包穿过另一条链。使用这种方法我.们并没有耗费太多资源。下面的图画试着解释一个包如何穿过你的ipfilters。.这副图来自 .

首先做.一个路由决策,如果它的目的地是你的主机,它是发向INPUT,如果它的目的地是本地网的某个网络设备,它是发向FORWAR.D。然后它们穿过那些链。.如果你的本地网络设备对去往服务器的包做出应答,它们将穿过OUTPUT 链。 .
这有一幅图给出它们怎么穿过INP.UT. 、 FORWARD 、 OUTPUT链, 电影
当一个包碰到INPUT 链,它首先被检查是否是ICMP 包,如果是,.则被发往icmp_packets 被检查是否被允许。如果允许,我们只是离开INPUT 链接收这个包。如果不允许,它将到达icmp_pa.ckets 链尾,回到INPUT 链,到达链尾做更多的检查,看.它是否来自本地主机或本地网,如果是它将被接收。通过检查它是否是一个已建立或相关连接的一部分来检查这个包是否属于.其他连接,在这种情况下我们要接收它们.。如果它什么也不匹配,它将由丢弃链规则来处.理,这条规则负责丢弃它所碰到的任何东西。 健康
如果是个TCP 包,它不会匹配是ICMP .包的规则,传到下一个检查是否是TCP包的规则。因为是,所以匹配,将被传送到tcp_packets 链。这里我们将检查它.是否去往我们所.允许或不允许的一个端口,如果是, 我们将它传.送到允许的链做最后的检查。如果在检查中它失败了,它将被送到INPUT 链,穿过与ICMP 包相同的路。 健康
UDP包基本上一样,除了它要穿过udpincoming_packets 链,如果它在那什么规则也没匹配,它将被送到INPUT 链,穿过与TCP包..和ICMP 包相同的路 。具体图片可以在.以下地址获得.            鲜花
如果包去往或来自我们的本地网,它将被路由到FORWARD链。如果包来自我们的局域网,我们接收它,不多不少。如果我们愿意,我们可以.只接收SYN.包,但我跳过它了。如果包去往我们的本地网,我们只是匹配已建立的或相关的流,因为我们不.想建立从外部到我们本地网的新连接。如果这些规则都不匹配.,包将被我们的链规则丢弃。具体图片可以在以下地址获得. 教育
这个链.是很直接的。我们允许任何东西从本地主机发出,我们允许任何东西从本地网的ip发出,最后我们允许任何东西从我们自己的ip 发出到.internet。你可能在某种情况.下希望消除这一切,不过不要忘了消除OUTPUT 链的默认规则是丢弃所有的东西。            鲜花

建立不同的使用链
现在你有点了解包如何.穿过不同链以及它们之间的从属关系,我们负责将它.们联系起来。 首先我们用一个简单的命令配置不同链上的默认.规则。iptables -P .
默认规则在包不能与链中规则匹配时使用。然后我们建立我们想与-N 命.令一同使用的不同的特殊链.。新链将建立起来而且内部没有任何规则。我们使用的链是icmp_pa.ckets,tcp_packets, udpincoming_pa.ckets 和tcp_packets允许的链。在eth0.上的包,凡是属于ICMP 类的,将被重定向到icmp_pa.ckets,属于TCP 类的,将被重定向到tcp_packets ,而来自eth0 的UDP 类包则定向到 udpincoming_packets 链。            建材

TCP允许的链,允许TCP前的最后一次检查 .[成人用品]
如果一个包来自eth0 是TCP 类的.,.它穿过tcp_packets 链,如.果连接与一个允许的端口相反,我们将要做一些最后的检查来看我们是否真的允许它。首先我们象以前一样建立链.。然后我们检查包是否是SYN 类的。如果是,它很可能是一个新连接的第一个包,当然,我们允许它。然.后我们检查包是否来自一个已建立的或相关的连接,如果是.,我们当然也允许它。一个已建立的连接(ESTABLISHED connection )是一个双向.都有负载的连接,因为我们获取了一个SYN包和一个对SYN包的应答,连接必为已建立(ESTABLISHED)状态。链中.的最后一条规则将把剩下的所有东西丢弃。在这种情况下意味着没有看到两个方向的负载,也就是没对SYN包做应答,或者他们开始与一个不是SYN的包.连接。不开始一个与SYN 包的连接没有什么实际用途,除了对 那些进行端口扫描的人。当前没有可利用的TCP/IP 应用支持打开一个除了SYN 包的TCP. 连接,所以丢弃这些废物, 因为它99%是进行端口扫描。            女人

ICMP链
这是我们决定ICMP 类允许什么的地方。如果一个ICMP类型的包在INP.UT 链上来自eth0,我们将使它重定向到icmp_packets 链。在这我们将检查什么种类的ICMP类被允许。.象现在我只允许传入的ICMP Echo Replies, Destination unreachable, Redirect 和 Time Exce.eded。. <性病>
我允许这些ICMP 包的原因如下,Echo Replies是你ping 其他主机时获得的,如果..不允许这个,我们就不能ping 其他主机了。Destination Unreachable 在特定主机无法到达时使用,所以比如我们发出一个HTTP 请求,主.机不可到达,.无法找到主机路由的最后一个网关应.答Desti.nation Unreachable 告诉我们找不到它。这使我们不用等到浏览器的60秒或更多的.超时设定到达。Redirect.,我允许它因为我可能没有使用到达一个主机的最佳路径,比如我向Gateway 1(G1) 发送一个包,与Gateway 2(G2)在同一个网段,G1 将包发给G2,G2可能告诉你使用G2而不是G1 来节省一跳。这样我们有时可以传送的快一点,不是很多.,但至少好一点。Time Exceeded被允许是因为我们可能想跟踪一些主机或一个包获得的生存期为0,我们将得到关于这个的应答。比如当你跟踪某个人时,你从TTL = 1开始,在向外的第一跳它减小到0,从第一.个网关返回一个Time Exceeded 到我们跟踪的主机,则TTL = 2 ,第二个网关发送Time Exc.eeded,等等,直到我们从想到达的主机得到应答。            建材
这是.ICMP 类的一个总列表: <性病>
Table 1. ICMP t.ypes             杀毒

Type Code Descri.ption (        游戏          )
0 0 E.cho Reply 教育
3 0 Network Unre.achable .
3 1 Host Unreach.able <性病>
3 2 Protocol Unreachab.le            女人
3 3 Por.t Unreachable            鲜花
3 4 Fragment.atio.n needed but no frag bit set --------------彩票
3 5 Source routing failed ..              乙肝
3 6 De.stination network unkno.wn            鲜花
3 7 Destination host u..nknown
3 8 Source host. isolated .(obsolete) 服务器
3 9 Destination networ.k administratively p.rohibited .
3 10 D.es.tination host administratively prohibited <性病>
3 11 N.etwork .unreachable for TOS .
3 12 Host .unreachable. for TOS 电脑
3 13 .Communication administrati.vely prohibited by filtering 虚拟主机
3 14. Host prec.edence violation .
3 15 .Pre.cedence cutoff in effect           婚庆
4 .0 Source quelch 教育
5 0. Redirect for network 电影
5 1 .Redirect for host .
5.. 2 Redirect for TOS and network
5 3 Re.direct for TOS and .host <性病>
8 0 Ech.o request              汽车
9 0 .Router advertisement (        游戏          )
10 0 Route sollic.itation [成人用品]
11 0 TTL equals 0 during tr.ansi.t            鲜花
11 .1 TTL equals 0 during reassemb.ly     健康
1.2 0 IP header bad (catchall .error) 电脑
12 .1 Re.quired options missing            鲜花
13 0 Ti.mestamp request (o.bsolete)              汽车
14 0 Timestamp reply (obsolete.).               乙肝
15 0 Information requ.es.t (obsolete) .
16 0. Information re.ply (obsolete)           婚庆
17 0 ..Address mask request .
18. 0 Address. mask reply ?/TD>; .

如.想获取更多.的信息,我建议你阅读下面的网站和报告:            建材
The Inte.rnet Control Message. Protocol ICMP <性病>
RFC792
又及.,阻碍你想要做的某些事情可能是我的错误,但对我来说,阻碍其它我不允许的ICMP. 类型将会使我的一切东西都工作的很好。服务器
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个