iptables的详细中文手册

合集下载

iptables命令细解

iptables命令细解

iptables 指令语法iptables [-t table] command [match] [-j target/jump][-t table] 指定规则表-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 -A INPUT ...说明新增规则到某个规则链中,该规则将会成为规则链中的最后一条规则。

命令-D, --delete范例iptables -D INPUT --dport 80 -j DROPiptables -D INPUT 1说明从某个规则链中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。

命令-R, --replace范例iptables -R INPUT 1 -s 192.168.0.1 -j DROP说明取代现行规则,规则被取代后并不会改变顺序。

iptables操作手册

iptables操作手册

1iptables与firewalld的关系RHEL7.0以后,使用firewalld服务取代了iptables服务,但是依然可以使用iptables服务,只是默认不开启了,iptables和firewalld都不是真正的防火墙,它们都只是用来定义防火墙策略的防火墙管理工具,是操作系统上的一种服务,将定义好的规则交给内核中的netfilter(网络过滤器)来读取,从而实现防火墙的功能,firewalld和iptables除了可以可以在inbond和outbond方向做策略限制以外,还能实现snat和dnat功能。

注意:firewalld和iptables同时只能运行一种服务,否则会出现不可预知的情况2iptables安装RHEL7.0以后,iptables默认不开启,需要安装iptables服务安装完成后3实验场景3.1源地址转换需求:源地址1(172.16.202.15)需要访问公网目的地址(192.168.111.245),源地址2(172.16.202.16)不需要访问公网。

内网两台服务器,分别为源地址1(172.16.202.15)和源地址2(172.16.202.16),公网出口处有一台centos 7.1的双网卡服务器,一个接口接内网(172.16.202.14),一个接口接外网(192.168.111.63)。

源地址1上首先需要保证和iptables服务器能够互通,并且有去往192.168.111.245的路由,路由下一跳需要指向iptables内网接口(172.16.202.14),由iptables服务器做源nat,把源地址(172.16.202.15)nat成公网接口地址(192.168.111.63),从而可以访问目的地址(192.168.111.245)。

一、首先在源地址1服务器上配置去往192.168.111.245的路由ip route add 192.168.111.245 via 172.16.202.14 //临时添加路由,重启网卡或者系统后,路由会丢失,建议做路由固化路由固化:在/etc/sysconfig/network-scripts目录下,新建一个route配置文件,vi route-eth0,新增一条路由,192.168.111.245/32 via 172.16.202.14,重启网卡即可生效二、iptables服务器上,配置snat策略iptables -t nat -A POSTROUTING -s 172.16.202.15/32 -d 192.168.111.245/32 -j SNAT --to 192.168.111.63注释:-t table table to manipulate (default: `filter') //这个选项指定命令要操作的匹配包的表。

iptables的用法

iptables的用法

iptables的用法iptables是Linux系统中防火墙工具,用于配置、管理和过滤网络流量。

它可以用于设置各种规则,以控制网络传输,过滤入站和出站流量,并允许或拒绝特定的网络连接。

以下是iptables的常见用法:1. 查看当前的iptables规则:```iptables -L```2. 清除当前的iptables规则:```iptables -F```3. 允许特定IP地址的访问:```iptables -A INPUT -s <IP_ADDRESS> -j ACCEPT```4. 禁止特定IP地址的访问:```iptables -A INPUT -s <IP_ADDRESS> -j DROP```5. 允许特定端口的访问:```iptables -A INPUT -p tcp --dport <PORT_NUMBER> -j ACCEPT```6. 允许特定协议的访问:```iptables -A INPUT -p <PROTOCOL> -j ACCEPT```7. 配置端口转发:```iptables -t nat -A PREROUTING -p tcp --dport <SOURCE_PORT> -j DNAT --to-destination<DESTINATION_IP>:<DESTINATION_PORT>```8. 配置端口映射:```iptables -t nat -A POSTROUTING -p tcp -d <DESTINATION_IP> --dport<DESTINATION_PORT> -j SNAT --to-source <SOURCE_IP>```以上只是iptables的一些常见用法,它还提供了更多高级功能和选项,可以根据具体需求进行配置和使用。

iptables四表五链

iptables四表五链

iptables四表五链⼀、什么是iptables iptables是Linux的防⽕墙管理⼯具⽽已,真正实现防⽕墙功能的是Netfilter,我们配置了iptables规则后Netfilter通过这些规则来进⾏防⽕墙过滤等操作 Netfilter模块: 它是主要的⼯作模块,位于内核中,在⽹络层的五个位置(也就是防⽕墙四表五链中的五链)注册了⼀些钩⼦函数,⽤来抓取数据包;把数据包的信息拿出来匹配各个各个链位置在对应表中的规则:匹配之后,进⾏相应的处理ACCEPT、DROP等等。

下⾯这张图很明了的说明了Netfilter和iptables之间的关系⼆、四表五链(重要) 四表五链: 链就是位置:共有五个进路由(PREROUTING)、进系统(INPUT) 、转发(FORWARD)、出系统(OUTPUT)、出路由(POSTROUTING); 表就是存储的规则;数据包到了该链处,会去对应表中查询设置的规则,然后决定是否放⾏、丢弃、转发还是修改等等操作。

2.1. 具体的四表filter表——过滤数据包Nat表——⽤于⽹络地址转换(IP、端⼝)Mangle表——修改数据包的服务类型、TTL、并且可以配置路由实现QOSRaw表——决定数据包是否被状态跟踪机制处理2.2. 具体的五链INPUT链——进来的数据包应⽤此规则链中的策略OUTPUT链——外出的数据包应⽤此规则链中的策略FORWARD链——转发数据包时应⽤此规则链中的策略PREROUTING链——对数据包作路由选择前应⽤此链中的规则(所有的数据包进来的时侯都先由这个链处理)POSTROUTING链——对数据包作路由选择后应⽤此链中的规则(所有的数据包出来的时侯都先由这个链处理)2.3. 四表五链之间的关系三、iptables语法参数3.1.iptables语法格式iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]3.2.iptables常⽤参数-P 设置默认策略:iptables-P INPUT (DROP|ACCEPT)-F 清空规则链-L 查看规则链-A 在规则链的末尾加⼊新规则-I num 在规则链的头部加⼊新规则-D num 删除某⼀条规则-s 匹配来源地址IP/MASK,加叹号"!"表⽰除这个IP外。

openwrt iptables参数

openwrt iptables参数

openwrt iptables参数OpenWrt是一个基于Linux的网络操作系统,广泛应用于路由器、智能家居等领域。

在OpenWrt中,iptables是负责实现防火墙功能的重要工具。

本文将详细介绍OpenWrt中的iptables配置及相关参数,帮助大家更好地理解和使用这一功能。

2.iptables基本概念iptables是Linux系统下的一个防火墙工具,可以实现对网络流量的控制和管理。

其主要功能包括:过滤进出的数据包、限制端口访问、防止DDoS攻击等。

在OpenWrt中,iptables同样发挥着关键作用,为用户提供了强大的网络安全防护。

3.OpenWrt中的iptables配置OpenWrt中的iptables配置主要分为以下几个部分:- 创建链:使用`iptables -t nat -N <链名>`命令创建新的链。

- 定义规则:使用`iptables -t nat -A <链名> -<动作> <参数>`命令添加规则。

- 删除规则:使用`iptables -t nat -D <链名> <序号> -<动作> <参数>`命令删除规则。

- 保存配置:使用`iptables-save`命令将当前iptables配置保存到文件。

- 加载配置:使用`iptables-restore`命令从文件中加载iptables配置。

4.常用iptables命令详解以下是一些常用的iptables命令及其参数:- 添加过滤规则:`iptables -A INPUT -p tcp -j DROP`,用于阻止特定协议的数据包。

- 添加nat规则:`iptables -A POSTROUTING -o <接口> -j MASQUERADE`,实现端口映射。

- 删除所有链中的规则:`iptables -t nat -F`- 删除指定链的所有规则:`iptables -t nat -F <链名>`- 查看iptables配置:`iptables -t nat -L`5.实战案例:防火墙配置以下是一个简单的防火墙配置示例:```iptables -A INPUT -p tcp -j DROPiptables -A INPUT -p udp -j DROPiptables -A OUTPUT -p tcp -j MASQUERADEiptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE```此配置将阻止所有进入的TCP和UDP数据包,同时允许出去的TCP数据包通过,并对内网进行端口映射。

Linux系统iptables查看、设置、保存、备份和恢复

Linux系统iptables查看、设置、保存、备份和恢复

Linux系统iptables查看、设置、保存、备份和恢复不同linux系统,相关软件是否安装,会让iptables的某些命令不能执⾏,这⾥收集了⼤多数iptables命令,不管是Ubuntu还是Centos,都能找到相关的修改、查询、保存命令。

仅允许某些IP访问指定端⼝:先禁⽤端⼝访问:iptables -I INPUT -p tcp --dport 8000 -j DROP允许特定IP访问:iptables -I INPUT -s IP地址/32 -p tcp --dport 8000 -j ACCEPTwhat is iptables?Iptables is used to set up, maintain, and inspect the tables of IPv4 packet filter rules in the Linux kernel. Several different tables may be defined. Each table contains a number of built-in chains and may also contain user-defined chains.以上是itables man⼿册上的说明。

iptables包含4个表:f ilter,nat,mangle,raw。

我们最常⽤的就是filter这个表。

filte表有三个内建的chain:INPUT、OUTPUT和FORWORD。

INPUT:⽤来处理发给本机的数据包;如主机A发给本机的数据,数据通信路径会像这:主机A------>本机localhostOUTPUT:⽤来处理本机发送出去的数据包;如本机访问百度服务器,数据通信路径会像这样,如本机localhost------>百度服务器FORWORD:⽤来处理流经本机,但⼜不是发给本机的数据包;如主机A要给主机B发送数据包,经过了本机,路径会像这样:主机A--->本机localhost--->主机B。

Linux下iptables超详细教程和使用示例

Linux下iptables超详细教程和使用示例

Linux下iptables超详细教程和使⽤⽰例iptables的结构:iptables由上⽽下,由Tables,Chains,Rules组成。

⼀、iptables的表tables与链chainsiptables有Filter, NAT, Mangle, Raw四种内建表:1. Filter表Filter是iptables的默认表,它有以下三种内建链(chains):INPUT链 – 处理来⾃外部的数据。

OUTPUT链 – 处理向外发送的数据。

FORWARD链 – 将数据转发到本机的其他⽹卡设备上。

2. NAT表NAT表有三种内建链:PREROUTING链 – 处理刚到达本机并在路由转发前的数据包。

它会转换数据包中的⽬标IP地址(destination ip address),通常⽤于DNAT(destination NAT)。

POSTROUTING链 – 处理即将离开本机的数据包。

它会转换数据包中的源IP地址(source ip address),通常⽤于SNAT(source NAT)。

OUTPUT链 – 处理本机产⽣的数据包。

3. Mangle表Mangle表⽤于指定如何处理数据包。

它能改变TCP头中的QoS位。

Mangle表具有5个内建链(chains):PREROUTINGOUTPUTFORWARDINPUTPOSTROUTING4. Raw表Raw表⽤于处理异常,它具有2个内建链:PREROUTING chainOUTPUT chain5.⼩结⼆、IPTABLES 规则(Rules)规则的关键知识点:Rules包括⼀个条件和⼀个⽬标(target)如果满⾜条件,就执⾏⽬标(target)中的规则或者特定值。

如果不满⾜条件,就判断下⼀条Rules。

⽬标值(Target Values)在target⾥指定的特殊值:ACCEPT – 允许防⽕墙接收数据包DROP – 防⽕墙丢弃包QUEUE – 防⽕墙将数据包移交到⽤户空间RETURN – 防⽕墙停⽌执⾏当前链中的后续Rules,并返回到调⽤链(the calling chain)中。

iptables命令、规则、参数详解

iptables命令、规则、参数详解

iptables命令、规则、参数详解表 (table)包含4个表:4个表的优先级由高到低:raw-->mangle-->nat-->filterraw---RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。

一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了.filter---这个规则表是预设规则表,拥有INPUT、FORWARD 和OUTPUT 三个规则链,这个规则表顾名思义是用来进行封包过滤的理动作net----此规则表拥有prerouting和postrouting两个规则链,主要功能为进行一对一、一对多、多对多等网址转译工作(SNATDNAT)mangle--此规则表拥有prerouting、FORWARD、postrouting 三个规则链,除了进行网址转译工作会改写封包外,在某些特殊应用可能也必须去改写封包(ITL、TOS)或者是设定MARK(将封包作记号,以进行后续的过滤)这时就必须将这些工作定义在mangles规则表中常用命令:-A 追加规则-->iptables -A INPUT-D 删除规则-->iptables -D INPUT 1(编号)-R 修改规则-->iptables -R INPUT 1 -s 192.168.12.0 -j DROP 取代现行规则,顺序不变(1是位置)-I 插入规则-->iptables -I INPUT 1 --dport 80 -j ACCEPT 插入一条规则,原本位置上的规则将会往后移动一个顺位-L 查看规则-->iptables -L INPUT 列出规则链中的所有规则-N 新的规则-->iptables -N allowed 定义新的规则通用参数:-p 协议例:iptables -A INPUT -p tcp-s源地址例:iptables -A INPUT -s 192.168.1.1-d目的地址例:iptables -A INPUT -d 192.168.12.1-sport源端口例:iptables -A INPUT -p tcp --sport 22-dport目的端口例:iptables -A INPUT -p tcp --dport 22-i指定入口网卡例:iptables -A INPUT -i eth0-o指定出口网卡例:iptables -A FORWARD -o eth0-j 指定要进行的处理动作常用的ACTION:DROP:丢弃REJECT:明示拒绝ACCEPT:接受SNAT基于原地址的转换source--指定原地址比如我们现在要将所有192.168.10.0网段的IP在经过的时候全都转换成172.16.100.1这个假设出来的外网地址:iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.1(外网有效ip)这样,只要是来自本地网络的试图通过网卡访问网络的,都会被统统转换成172.16.100.1这个IP.MASQUERADE(动态伪装)--家用带宽获取的外网ip,就是用到了动态伪装iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADEDNAT目标地址转换destination-指定目标地址iptables -t nat -A PREROUTING -d 192.168.10.18 -p tcp --dport 80 -j DNAT --to-destination 172.16.100.210.18访问80端口转换到100.2上MASQUERADE:源地址伪装REDIRECT:重定向:主要用于实现端口重定向MARK:打防火墙标记的RETURN:返回在自定义链执行完毕后使用返回,来返回原规则链。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一句一句解说 iptables的详细中文手册(2009-06-02 22:20:02)总览用iptables -ADC 来指定链的规则,-A添加-D删除-C 修改iptables - [RI] chain rule num rule-specification[option]用iptables - RI 通过规则的顺序指定iptables -D chain rule num[option]删除指定规则iptables -[LFZ] [chain][option]用iptables -LFZ 链名[选项]iptables -[NX] chain用-NX 指定链iptables -P chain target[options]指定链的默认目标iptables -E old-chain-name new-chain-name-E 旧的链名新的链名用新的链名取代旧的链名说明Iptalbes 是用来设置、维护和检查Linux内核的IP包过滤规则的。

可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。

每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。

这被称作'target'(目标),也可以跳向同一个表内的用户定义的链。

TARGETS防火墙的规则指定所检查包的特征,和目标。

如果包不匹配,将送往该链中下一条规则检查;如果匹配,那么下一条规则由目标值确定.该目标值可以是用户定义的链名,或是某个专用值,如ACCEPT[通过], DROP[删除], QUEUE[排队], 或者RETURN[返回]。

ACCEPT 表示让这个包通过。

DROP表示将这个包丢弃。

QUEUE表示把这个包传递到用户空间。

RETURN表示停止这条链的匹配,到前一个链的规则重新开始。

如果到达了一个内建的链(的末端),或者遇到内建链的规则是RETURN,包的命运将由链准则指定的目标决定。

TABLES当前有三个表(哪个表是当前表取决于内核配置选项和当前模块)。

-t table这个选项指定命令要操作的匹配包的表。

如果内核被配置为自动加载模块,这时若模块没有加载,(系统)将尝试(为该表)加载适合的模块。

这些表如下:filter,这是默认的表,包含了内建的链INPUT(处理进入的包)、FORWORD(处理通过的包)和OUTPUT(处理本地生成的包)。

nat,这个表被查询时表示遇到了产生新的连接的包,由三个内建的链构成:PREROUTING (修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)。

mangle 这个表用来对指定的包进行修改。

它有两个内建规则:PREROUTING(修改路由之前进入的包)和OUTPUT(修改路由之前本地的包)。

OPTIONS这些可被iptables识别的选项可以区分不同的种类。

COMMANDS这些选项指定执行明确的动作:若指令行下没有其他规定,该行只能指定一个选项.对于长格式的命令和选项名,所用字母长度只要保证iptables能从其他选项中区分出该指令就行了。

-A -append在所选择的链末添加一条或更多规则。

当源(地址)或者/与目的(地址)转换为多个地址时,这条规则会加到所有可能的地址(组合)后面。

-D -delete从所选链中删除一条或更多规则。

这条命令可以有两种方法:可以把被删除规则指定为链中的序号(第一条序号为1),或者指定为要匹配的规则。

-R -replace从选中的链中取代一条规则。

如果源(地址)或者/与目的(地址)被转换为多地址,该命令会失败。

规则序号从1开始。

-I -insert根据给出的规则序号向所选链中插入一条或更多规则。

所以,如果规则序号为1,规则会被插入链的头部。

这也是不指定规则序号时的默认方式。

-L -list显示所选链的所有规则。

如果没有选择链,所有链将被显示。

也可以和z选项一起使用,这时链会被自动列出和归零。

精确输出受其它所给参数影响。

-F -flush清空所选链。

这等于把所有规则一个个的删除。

--Z -zero把所有链的包及字节的计数器清空。

它可以和-L配合使用,在清空前察看计数器,请参见前文。

-N -new-chain根据给出的名称建立一个新的用户定义链。

这必须保证没有同名的链存在。

-X -delete-chain删除指定的用户自定义链。

这个链必须没有被引用,如果被引用,在删除之前你必须删除或者替换与之有关的规则。

如果没有给出参数,这条命令将试着删除每个非内建的链。

-P -policy设置链的目标规则。

-E -rename-chain根据用户给出的名字对指定链进行重命名,这仅仅是修饰,对整个表的结构没有影响。

TARGETS参数给出一个合法的目标。

只有非用户自定义链可以使用规则,而且内建链和用户自定义链都不能是规则的目标。

-h Help.帮助。

给出当前命令语法非常简短的说明。

PARAMETERS参数以下参数构成规则详述,如用于add、delete、replace、append 和check命令。

-p -protocal [!]protocol规则或者包检查(待检查包)的协议。

指定协议可以是tcp、udp、icmp中的一个或者全部,也可以是数值,代表这些协议中的某一个。

当然也可以使用在/etc/protocols中定义的协议名。

在协议名前加上"!"表示相反的规则。

数字0相当于所有all。

Protocol all会匹配所有协议,而且这是缺省时的选项。

在和check命令结合时,all可以不被使用。

-s -source [!] address[/mask]指定源地址,可以是主机名、网络名和清楚的IP地址。

mask说明可以是网络掩码或清楚的数字,在网络掩码的左边指定网络掩码左边"1"的个数,因此,mask值为24等于255.255.255.0。

在指定地址前加上"!"说明指定了相反的地址段。

标志--src 是这个选项的简写。

-d --destination [!] address[/mask]指定目标地址,要获取详细说明请参见-s标志的说明。

标志--dst 是这个选项的简写。

-j --jump target-j 目标跳转指定规则的目标;也就是说,如果包匹配应当做什么。

目标可以是用户自定义链(不是这条规则所在的),某个会立即决定包的命运的专用内建目标,或者一个扩展(参见下面的EXTENSIONS)。

如果规则的这个选项被忽略,那么匹配的过程不会对包产生影响,不过规则的计数器会增加。

-i -in-interface [!] [name]i -进入的(网络)接口[!][名称]这是包经由该接口接收的可选的入口名称,包通过该接口接收(在链INPUT、FORWORD和PREROUTING中进入的包)。

当在接口名前使用"!"说明后,指的是相反的名称。

如果接口名后面加上"+",则所有以此接口名开头的接口都会被匹配。

如果这个选项被忽略,会假设为"+",那么将匹配任意接口。

-o --out-interface [!][name]-o --输出接口[名称]这是包经由该接口送出的可选的出口名称,包通过该口输出(在链FORWARD、OUTPUT和POSTROUTING中送出的包)。

当在接口名前使用"!"说明后,指的是相反的名称。

如果接口名后面加上"+",则所有以此接口名开头的接口都会被匹配。

如果这个选项被忽略,会假设为"+",那么将匹配所有任意接口。

[!] -f, --fragment[!] -f --分片这意味着在分片的包中,规则只询问第二及以后的片。

自那以后由于无法判断这种把包的源端口或目标端口(或者是ICMP类型的),这类包将不能匹配任何指定对他们进行匹配的规则。

如果"!"说明用在了"-f"标志之前,表示相反的意思。

OTHER OPTIONS其他选项还可以指定下列附加选项:-v --verbose-v --详细详细输出。

这个选项让list命令显示接口地址、规则选项(如果有)和TOS(Type of Service)掩码。

包和字节计数器也将被显示,分别用K、M、G(前缀)表示1000、1,000,000和1,000,000,000倍(不过请参看-x标志改变它),对于添加,插入,删除和替换命令,这会使一个或多个规则的相关详细信息被打印。

-n --numeric-n --数字数字输出。

IP地址和端口会以数字的形式打印。

默认情况下,程序试显示主机名、网络名或者服务(只要可用)。

-x -exact-x -精确扩展数字。

显示包和字节计数器的精确值,代替用K,M,G表示的约数。

这个选项仅能用于-L 命令。

--line-numbers当列表显示规则时,在每个规则的前面加上行号,与该规则在链中的位置相对应。

MATCH EXTENSIONS对应的扩展iptables能够使用一些与模块匹配的扩展包。

以下就是含于基本包内的扩展包,而且他们大多数都可以通过在前面加上!来表示相反的意思。

tcp当--protocol tcp 被指定,且其他匹配的扩展未被指定时,这些扩展被装载。

它提供以下选项:--source-port [!] [port[:port]]源端口或端口范围指定。

这可以是服务名或端口号。

使用格式端口:端口也可以指定包含的(端口)范围。

如果首端口号被忽略,默认是"0",如果末端口号被忽略,默认是"65535",如果第二个端口号大于第一个,那么它们会被交换。

这个选项可以使用--sport的别名。

--destionation-port [!] [port:[port]]目标端口或端口范围指定。

这个选项可以使用--dport别名来代替。

--tcp-flags [!] mask comp匹配指定的TCP标记。

第一个参数是我们要检查的标记,一个用逗号分开的列表,第二个参数是用逗号分开的标记表,是必须被设置的。

标记如下:SYN ACK FIN RST URG PSH ALL NONE。

因此这条命令:iptables -A FORWARD -p tcp --tcp-flags SYN, ACK, FIN, RST SYN只匹配那些SYN标记被设置而ACK、FIN和RST标记没有设置的包。

[!] --syn只匹配那些设置了SYN位而清除了ACK和FIN位的TCP包。

这些包用于TCP连接初始化时发出请求;例如,大量的这种包进入一个接口发生堵塞时会阻止进入的TCP连接,而出去的TCP连接不会受到影响。

相关文档
最新文档