Iptables 指南 1.1.19(中文版)(三)
6.5.5. MARK target
用来配置mark值,这个值只能在本地的mangle表里使用,不能用在其他任何地方,就更不用说路由器或另一台机子了。因为mark比较特别,他不是包本身的一部分,而是在包穿越电脑的过程中由内核分配的和他相关联的一个字段。他能够和本地的高级路由功能联用,以使不同的包能使用不同的队列需要,等等。假如您想在传输过程中也有这种功能,还是用TOS target吧。有关高级路由的更多信息,能够查看Linux Advanced Routing and Traffic Control HOW-TO。
Table 6-18. MARK target options
| Option | --set-mark |
| Example | iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 2 |
| Explanation | 配置mark值,这个值是个无符号的整数。比如,我们对一个流或从某台机子发出的任何的包配置了mark值,就能够利用高级路由功能来对他们进行流量控制等操作了。 |
6.5.6. MASQUERADE target
这个target和SNAT target的作用是相同的,区别就是他无需指定--to-source 。MASQUERADE是被专门设计用于那些动态获取IP地址的连接的,比如,拨号上网、DHCP连接等。假如您有固定的IP地址,还是用SNAT target吧。
伪装一个连接意味着,我们自动获取网络接口的IP地址,而不使用--to-source 。当接口停用时,MASQUERADE不会记住任何连接,这在我们kill掉接口时是有很大好处的。假如我们使用SNAT target,连接跟踪的数据是被保留下来的,而且时间要好几天哦,这可是要占用很多连接跟踪的内存的。一般情况下,这种处理方式对于拨号上网来说是较好的(这有利于已有那连接继续使用)。假如我们被分配给了一个不同于前一次的IP,不管怎样已有的连接都要丢失,但或多或少地还是有一些连接记录被保留了(真是白痴,是吧)。
即使您有静态的IP,也能够使用MASQUERADE,而不用SNAT 。但是,这不是被赞成的,因为他会带来额外的开销,而且以后还可能引起矛盾,比如他也许会影响您的脚本,使他们不能用。
注意,MASQUERADE和SNAT相同,只能用于nat表的 POSTROUTING链,而且他只有一个选项(不是必需的):
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



