linux iptable应用手册,LINUX iptable应用手册(六)

a4c26d1e5885305701be709a3d33442f.png

LINUX iptable应用手册(六)

(2008-04-03 13:21:16)

标签:

iptable

linux

mac

位址

组态

nf

mark

杂谈

第六篇

实际的日志讯息会被记录在哪个档案,取决于当时系统的syslog.conf组态是如何设定的。对于iptables的讯息而言,右于它是位于Linux核心的机制,所以.如果你使用

- -log-level info选项,你应该寻找kern.=info path

。如果需要更进阶的日志记录能力,请参考《ULOG目标》。

mac过滤条件

此扩充模块让iptables可以使用Ethernet界面的「Media Access

Controller」(MAC)位址为过滤条件。《表44》说明此过滤条件唯一的选项。

严格来说,MAC位址不算IP协议的过滤条件,因为在OSI

layer架构中,Ethernet的位阶低于IP;然而,由于许多IP网络路架设在Ethernet

上,也就是说,大多数系统可以取得MAC信息,也因此mac成为重要的的扩充模组之一。

=============================

诀窍

本过滤条件必须在核心支持CONFIG_IP_NF_MATCH_MAC组态时才有效。

==============================

a4c26d1e5885305701be709a3d33442f.png

由於mac扩充模组只能过滤传讯方的MAC位址(过滤dest

MAC是沒有意义的),所以此过滤条件只能用于PREROUTING、FORWARD或INPUT链结裡的规则,而且只对来自Ethernet装置的封包才有效。举例来說,下列规则限制ethl介面只能夠与特定Ethernet装置通讯:

iptables -A PREROUTING -i ethl -m mac - -mac-source

! 0d:bc:97:02:18:2l -j DROP

上述规则很适合用於无線网路环境裡.

mark过滤条件

过滤含有特定标记值的封包。封包标记功能,通常搭配ip命令(iproute2套件的工具程式之一)使用,用以执行进阶的选径应用。《表45》說明此过滤条件唯一的选项。

Linux核心容许你贴一个「标记」(一个整数值)到某个封包,然后将该封包(连同标记)传给核心的另一个部门接手处理。请注意,「标记」並非储存於封包本身(也就是說,被贴标记的封包,其header与body都不会被改变),而是核心另外维护的一段中介资料(metadata),所以,当封包离开贴它们帖标记的电脑(当封包被转交给其它电脑时,就会发生这种现象),标记信息就会跟著消失。

===========================

诀窍

本过滤条件必须在核心支援CONFIG_IP_NF_MATCH_MARK组态时才有效。

===========================

a4c26d1e5885305701be709a3d33442f.png

mask可用来让你将核心的标记值当成一组位元栏来处理.不过,MARK目标扩充模组並不支援mask的使用,所以你不能利用iptables来渐进地设定位元栏。

相关参考:

MARK目标

设定包的标记。包的标记功能,通常搭配ip命令(iproute2套件的工具程式之一)使用,用以执行进阶的选径应用。《表46》說明MARK目标唯一的选项。

=============================

诀窍

本目标必须在核心支援CONFIG_IP_NF_TARGET_MARK组态时才有效。

MARK目标只能用於mangle表格。

=============================

a4c26d1e5885305701be709a3d33442f.png

相关参考:

● (mark过滤条件)

● 如果你希望标记资讯能跨越不同电脑,请参閱《TOS目标》。

MASQUERADE目标

具有连線追蹤能力的SNAT操作,特別适用於具有动态IP位址的介面。《表47》是本目标唯一的选项。

MASQUERADE扩充模组只能处理TCP与UDP连線。

============================

诀窍

本目标必须在核心支援CONFIG_IP_NF_TARGET_MASQUERADE组态时才有效。

============================

相关参考:

(SNAT目标)

:提供相似的SNAT功能性,但是不理会封包之间的关系(连線追蹤),适用於具有固定IP位址的连線。

Mumport过滤条件

让iptables可同时以多个TCP或UPD通讯端口为过滤条件。

《表48》說明本过滤条件的选项。

只能搭配TCP和UDP恊定使用(-p tcp或-p udp)。

============================

诀窍

本过滤条件必须在核心支援CONFIG_IP_NF_MATCH_MULTIPORT组态时才有效。

============================

a4c26d1e5885305701be709a3d33442f.png

portspec可以是通讯端口的正式名称(定义於/etc/services档案)或编号,或是一连串以逗号分隔通讯端口编号(最多15个),或是p1

: p2格式的编号范围。

NETLINK目标

透过netlink

socket将包传送到userspacc。利用NETLINK,你可将符合条件的封包传给userspace的包处理程式,或是交给

fwmon之类外部的应用程式(参閱

http://www.scaramanga.co.uk/fwmon/)。《表49》說明本目标的选项。

==========================

窍门

过滤选条件必须在核心支援CONFIG_IP_NF_QUEUE组态时才有效。

==========================

a4c26d1e5885305701be709a3d33442f.png

举例来說,若要将所有ICMP

ping封包全部注入netlink然后才丟棄,使用下列命令:

iptables -A INPUT -p icmp - -icmp type ping -j NETLINK

-nldrop

相关参考:

● (ULOG目标) :透过netlink

sockets与userspace的ulogd记錄程式通讯。

● netlink manpages(使用man 7 netlink或marl 3

netlink命令查看)。

● RFC 3549 《Linux Netlink as an IP Services Protoco1》

(位於http://www.rfc-editor.org/rfc/rfc3549.txt)。

NETMAP目标

IPv4位址的长度是32

bits.其中有一部份是「网路编号」另一部份是「主机编号」两者之间的分界取決於「遮罩」(mask)。NETMAP的作用是裁掉网路编号,将它換成另一个不同的编号;在效果上,这相当於将某网路的主机「映射」(mapping)到另一个网路。将NETMAP目标设置於PREROUTING链结,它会修改外来包的目的地位址;若是放在POSTROUTING链结,则是修改出境包的来源位址。《表50》說明NTEMAP目标唯一的选项。

=============================

诀窍

奉筛选条件必须在核心支援CONFIG_IP

NF_TARGET_NETMAP组态时才有效。

=============================

a4c26d1e5885305701be709a3d33442f.png

举例来說,若要在192.168.1.0/24与172.17.5.0/24两个网络之间做对应,使用下列两个命令:

iptables -t nat -A PREROUTING -d 192.168.1.0/24

-j NETMAP - -to 172.17.5.0/24

iptables -t nat -A POSTROUTING -s 172.17.5.0/24

-j NETMAP - -to 192.168.1.0/24

nth过滤条件

用于将符合先前条件的包分成每

n个一组。《表51》说明本过滤条件的选项。

a4c26d1e5885305701be709a3d33442f.png

举例来说,若要将外来包(假设来自eth0)平均分散到三部服务器:

iptables -t nat -A PREROUTING -i eth0 -p udp -dpor $PORT

-m nth - -every 3 - -packet 0 -j DNAT - -to-destination

$SERVER0

iptables -t nat -A PREROUTING -i eth0 -p udp -dport $PORT

-m nth - -every 3 - -packet 1 -j DNAT - -to-destination

$SERVER1

iptables -t nat -A PREROUTING -i eth0 -p udp -dport $PORT

-m nth - -every 3 - -packet 2 -j DNAT - -to-destination

$SERVER2

你甚至可使用nth过滤条件搭配DROP目标来仿真封包漏失现象。

关于更好的负载均摊方法,读参阅(DNAT目标)。

owner过滤条件

以产生封包的行程(拥有者)之信息为过滤条件。本过滤条件只能用于OUTPUT链结,因为它需要能够取得关于产生封包的本地行程之信息。

请注意,owner过滤条件对于ICMP封包无

效,因为ICMP封包没有拥用者。《表52》说明本过滤条件的选项。

============================

诀窍

本过滤条件必须在核心支持CONFIG_IP_NF_MATCH_OWNER组态时才有效。

============================

a4c26d1e5885305701be709a3d33442f.png

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值