iptables之精髓(二)大数据老司机

使用-v选项后,iptables为我们展示的信息更多了,那么,这些字段都是什么意思呢?我们来总结一下

policy:表示当前链的默认策略packets:表示当前链(上例为INPUT链)默认策略匹配到的包的数量,0packets表示默认策略匹配到0个包。bytes:表示当前链默认策略匹配到的所有包的大小总和。其实,我们可以把packets与bytes称作"计数器",上图中的计数器记录了默认策略匹配到的报文数量与总大小,"计数器"只会在使用-v选项时,才会显示出来。常用基本命令:

1.1、【查】看对应表的所有规则,-t选项指定要操作的表,省略"-t表名"时,默认表示操作filter表,-L表示列出规则,即查看规则。

iptables-t表名-L1.2、查看指定表的指定链中的规则。

iptables-t表名-L链名1.3、查看指定表的所有规则,并且显示更详细的信息(更多字段),-v表示verbose,表示详细的,冗长的,当使用-v选项时,会显示出"计数器"的信息,由于上例中使用的选项都是短选项,所以一般简写为iptables-t表名-vL

iptables-t表名-v-L1.4、表示查看表的所有规则,并且在显示规则时,不对规则中的IP或者端口进行名称反解,-n选项表示不解析IP地址。

iptables-t表名-n-L1.5、表示查看表的所有规则,并且显示规则的序号,--line-numbers选项表示显示规则的序号,注意,此选项为长选项,不能与其他短选项合并,不过此选项可以简写为--line,注意,简写后仍然是两条横杠,仍然是长选项。

iptables--line-numbers-t表名-L1.6、表示查看表中的所有规则,并且显示更详细的信息(-v选项),不过,计数器中的信息显示为精确的计数值,而不是显示为经过可读优化的计数值,-x选项表示显示计数器的精确值。

iptables-t表名-v-x-L1.7、当然,也可以只查看某张表中的某条链,此处以filter表的INPUT链为例

iptables--line-tfilter-nvxL【增】加规则注意点:添加规则时,规则的顺序非常重要

2.1、在指定表的指定链的尾部添加一条规则,【-A】选项表示在对应链的末尾添加规则,省略-t选项时,表示默认操作filter表中的规则

命令语法:iptables-t表名-A链名匹配条件-j动作示例:iptables-tfilter-AINPUT-s192.168.1.146-jDROP2.2、在指定表的指定链的首部添加一条规则,【-I】选型表示在对应链的开头添加规则

命令语法:iptables-t表名-I链名匹配条件-j动作示例:iptables-tfilter-IINPUT-s192.168.1.146-jACCEPT2.3、在指定表的指定链的指定位置添加一条规则

命令语法:iptables-t表名-I链名规则序号匹配条件-j动作示例:iptables-tfilter-IINPUT5-s192.168.1.146-jREJECT2.4、设置指定表的指定链的默认策略(默认动作),并非添加规则。

命令语法:iptables-t表名-P链名动作示例:iptables-tfilter-PFORWARDACCEPT上例表示将filter表中FORWARD链的默认策略设置为ACCEPT

注意点:如果没有保存规则,删除规则时请慎重

3.1、按照规则序号删除规则,删除指定表的指定链的指定规则,【-D】选项表示删除对应链中的规则。

命令语法:iptables-t表名-D链名规则序号示例:iptables-tfilter-DINPUT3上述示例表示删除filter表中INPUT链中序号为3的规则。

3.2、按照具体的匹配条件与动作删除规则,删除指定表的指定链的指定规则。

命令语法:iptables-t表名-D链名匹配条件-j动作示例:iptables-tfilter-DINPUT-s192.168.1.146-jDROP上述示例表示删除filter表中INPUT链中源地址为192.168.1.146并且动作为DROP的规则。

3.3、删除指定表的指定链中的所有规则,【-F】选项表示清空对应链中的规则,执行时需三思。

命令语法:iptables-t表名-F链名示例:iptables-tfilter-FINPUT3.4、删除指定表中的所有规则,执行时需三思。

命令语法:iptables-t表名-F示例:iptables-tfilter-F修【改】规则注意点:如果使用-R选项修改规则中的动作,那么必须指明原规则中的原匹配条件,例如源IP,目标IP等。

4.1、修改指定表中指定链的指定规则,-R选项表示修改对应链中的规则,使用-R选项时要同时指定对应的链以及规则对应的序号,并且规则中原本的匹配条件不可省略。

命令语法:iptables-t表名-R链名规则序号规则原本的匹配条件-j动作示例:iptables-tfilter-RINPUT3-s192.168.1.146-jACCEPT上述示例表示修改filter表中INPUT链的第3条规则,将这条规则的动作修改为ACCEPT,-s192.168.1.146为这条规则中原本的匹配条件,如果省略此匹配条件,修改后的规则中的源地址可能会变为0.0.0.0/0。

其他修改规则的方法:先通过编号删除规则,再在原编号位置添加一条规则。

4.2、修改指定表的指定链的默认策略(默认动作),并非修改规则,可以使用如下命令。

命令语法:iptables-t表名-P链名动作示例:iptables-tfilter-PFORWARDACCEPT保存规则5.1、保存规则命令如下,表示将iptables规则保存至/etc/sysconfig/iptables文件中,如果对应的操作没有保存,那么当重启iptables服务以后

serviceiptablessave注意点:centos7中使用默认使用firewalld,如果想要使用上述命令保存规则,需要安装iptables-services,具体配置过程请回顾上文。

5.2、或者使用如下方法保存规则

iptables-save>/etc/sysconfig/iptables5.3、可以使用如下命令从指定的文件载入规则,注意:重载规则时,文件中的规则将会覆盖现有规则。

iptables-restore

#示例如下iptables-tfilter-IINPUT-s192.168.1.111,192.168.1.118-jDROPiptables-tfilter-IINPUT-s192.168.1.0/24-jACCEPTiptables-tfilter-IINPUT!-s192.168.1.0/24-jACCEPT6.2、-d用于匹配报文的目标地址,可以同时指定多个目标地址,每个IP之间用逗号隔开,也可以指定为一个网段。

#示例如下iptables-tfilter-IOUTPUT-d192.168.1.111,192.168.1.118-jDROPiptables-tfilter-IINPUT-d192.168.1.0/24-jACCEPTiptables-tfilter-IINPUT!-d192.168.1.0/24-jACCEPT6.3、-p用于匹配报文的协议类型,可以匹配的协议类型tcp、udp、udplite、icmp、esp、ah、sctp等(centos7中还支持icmpv6、mh)

#示例如下iptables-tfilter-IINPUT-ptcp-s192.168.1.146-jACCEPTiptables-tfilter-IINPUT!-pudp-s192.168.1.146-jACCEPT6.4、-i用于匹配报文是从哪个网卡接口流入本机的,由于匹配条件只是用于匹配报文流入的网卡,所以在OUTPUT链与POSTROUTING链中不能使用此选项。

#示例如下iptables-tfilter-IINPUT-picmp-ieth4-jDROPiptables-tfilter-IINPUT-picmp!-ieth4-jDROP6.5、-o用于匹配报文将要从哪个网卡接口流出本机,于匹配条件只是用于匹配报文流出的网卡,所以在INPUT链与PREROUTING链中不能使用此选项。

#示例如下iptables-tfilter-IOUTPUT-picmp-oeth4-jDROPiptables-tfilter-IOUTPUT-picmp!-oeth4-jDROP扩展匹配条件I)不是基本匹配条件的就是扩展匹配条件

II)基本匹配条件我们可以直接使用,而如果想要使用扩展匹配条件,则需要依赖一些扩展模块,或者说,在使用扩展匹配条件之前,需要指定相应的扩展模块才行

III)想要使用--dport这个扩展匹配条件,则必须依靠某个扩折模块完成,如果在没有使用-m指定对应的扩展模块名称的情况下,使用了扩展匹配条件,iptables默认会调用与-p选项对应的协议名称相同的模块

注意,-ptcp与-mtcp并不冲突,-p用于匹配报文的协议,-m用于指定扩展模块的名称,正好,这个扩展模块也叫tcp;如果协议和模块相同,则可以省略-m选项;iptables默认会调用与-p选项对应的协议名称相同的模块。

7.1、tcp扩展模块

常用的扩展匹配条件如下:

-ptcp-mtcp--sport用于匹配tcp协议报文的源端口,可以使用冒号指定一个连续的端口范围

-ptcp-mtcp--dport用于匹配tcp协议报文的目标端口,可以使用冒号指定一个连续的端口范围

-ptcp-mtcp--tcp-flags"--tcp-flags"指的就是tcp头中的标志位

-ptcp-mtcp--syn可以使用"--syn"选项去匹配tcp新建连接的请求报文

用于匹配报文的tcp头的标志位

#示例如下iptables-tfilter-IOUTPUT-d192.168.1.146-ptcp-mtcp--sport22-jREJECTiptables-tfilter-IINPUT-s192.168.1.146-ptcp-mtcp--dport22:25-jREJECTiptables-tfilter-IINPUT-s192.168.1.146-ptcp-mtcp--dport:22-jREJECTiptables-tfilter-IINPUT-s192.168.1.146-ptcp-mtcp--dport80:-jREJECTiptables-tfilter-IINPUT-ptcp-mtcp--dport22--tcp-flagsSYN,ACK,FIN,RST,URG,PSHSYN-jREJECTiptables-tfilter-IOUTPUT-ptcp-mtcp--sport22--tcp-flagsSYN,ACK,FIN,RST,URG,PSHSYN,ACK-jREJECTiptables-tfilter-IINPUT-ptcp-mtcp--dport22--tcp-flagsALLSYN-jREJECTiptables-tfilter-IOUTPUT-ptcp-mtcp--sport22--tcp-flagsALLSYN,ACK-jREJECTiptables-tfilter-IINPUT-ptcp-mtcp--dport22--syn-jREJECT7.2、multiport扩展模块

-ptcp-mmultiport--sports用于匹配报文的源端口,可以指定离散的多个端口号,端口之间用"逗号"隔开

-pudp-mmultiport--dports用于匹配报文的目标端口,可以指定离散的多个端口号,端口之间用"逗号"隔开

#示例如下iptables-tfilter-IOUTPUT-d192.168.1.146-pudp-mmultiport--sports137,138-jREJECTiptables-tfilter-IINPUT-s192.168.1.146-ptcp-mmultiport--dports22,80-jREJECTiptables-tfilter-IINPUT-s192.168.1.146-ptcp-mmultiport!--dports22,80-jREJECTiptables-tfilter-IINPUT-s192.168.1.146-ptcp-mmultiport--dports80:88-jREJECTiptables-tfilter-IINPUT-s192.168.1.146-ptcp-mmultiport--dports22,80:88-jREJECT7.3、iprange模块

包含的扩展匹配条件如下

--src-range:指定连续的源地址范围

--dst-range:指定连续的目标地址范围

#示例iptables-tfilter-IINPUT-miprange--src-range192.168.1.127-192.168.1.146-jDROPiptables-tfilter-IOUTPUT-miprange--dst-range192.168.1.127-192.168.1.146-jDROPiptables-tfilter-IINPUT-miprange!--src-range192.168.1.127-192.168.1.146-jDROP7.4、string模块

常用扩展匹配条件如下

--algo:指定对应的匹配算法,可用算法为bm、kmp,此选项为必需选项。

--string:指定需要匹配的字符串

#示例iptables-tfilter-IINPUT-ptcp--sport80-mstring--algobm--string"OOXX"-jREJECTiptables-tfilter-IINPUT-ptcp--sport80-mstring--algobm--string"OOXX"-jREJECT7.5、time模块

--weekdays:用于指定"星期几",可取反

--monthdays:用于指定"几号",可取反

--datestart:用于指定日期范围的开始日期,不可取反

#示例iptables-tfilter-IOUTPUT-ptcp--dport80-mtime--timestart09:00:00--timestop19:00:00-jREJECTiptables-tfilter-IOUTPUT-ptcp--dport443-mtime--timestart09:00:00--timestop19:00:00-jREJECTiptables-tfilter-IOUTPUT-ptcp--dport80-mtime--weekdays6,7-jREJECTiptables-tfilter-IOUTPUT-ptcp--dport80-mtime--monthdays22,23-jREJECTiptables-tfilter-IOUTPUT-ptcp--dport80-mtime!--monthdays22,23-jREJECTiptables-tfilter-IOUTPUT-ptcp--dport80-mtime--timestart09:00:00--timestop18:00:00--weekdays6,7-jREJECTiptables-tfilter-IOUTPUT-ptcp--dport80-mtime--weekdays5--monthdays22,23,24,25,26,27,28-jREJECTiptables-tfilter-IOUTPUT-ptcp--dport80-mtime--datestart2017-12-24--datestop2017-12-27-jREJECT7.6、connlimit模块

常用的扩展匹配条件如下

--connlimit-above:单独使用此选项时,表示限制每个IP的链接数量。

--connlimit-mask:此选项不能单独使用,在使用--connlimit-above选项时,配合此选项,则可以针对"某类IP段内的一定数量的IP"进行连接数量的限制,如果不明白可以参考上文的详细解释。

#示例iptables-IINPUT-ptcp--dport22-mconnlimit--connlimit-above2-jREJECTiptables-IINPUT-ptcp--dport22-mconnlimit--connlimit-above20--connlimit-mask24-jREJECTiptables-IINPUT-ptcp--dport22-mconnlimit--connlimit-above10--connlimit-mask27-jREJECT7.7、limit模块

--limit-burst:类比"令牌桶"算法,此选项用于指定令牌桶中令牌的最大数量,上文中已经详细的描述了"令牌桶"的概念,方便回顾。

#示例#注意,如下两条规则需配合使用,具体原因上文已经解释过,忘记了可以回顾。iptables-tfilter-IINPUT-picmp-mlimit--limit-burst3--limit10/minute-jACCEPTiptables-tfilter-AINPUT-picmp-jREJECT7.8、udp模块

常用的扩展匹配条件

--sport:匹配udp报文的源地址

--dport:匹配udp报文的目标地址

#示例iptables-tfilter-IINPUT-pudp-mudp--dport137-jACCEPTiptables-tfilter-IINPUT-pudp-mudp--dport137:157-jACCEPT#可以结合multiport模块指定多个离散的端口7.9、icmp模块

--icmp-type:匹配icmp报文的具体类型

#示例iptables-tfilter-IINPUT-picmp-micmp--icmp-type8/0-jREJECTiptables-tfilter-IINPUT-picmp--icmp-type8-jREJECTiptables-tfilter-IOUTPUT-picmp-micmp--icmp-type0/0-jREJECTiptables-tfilter-IOUTPUT-picmp--icmp-type0-jREJECTiptables-tfilter-IINPUT-picmp--icmp-type"echo-request"-jREJECT7.10、state模块

从字面上理解,state可以译为状态,但是我们也可以用一个高大上的词去解释它,state模块可以让iptables实现"连接追踪"机制。

注意:如下报文状态都是对于state模块来说的。

NEW:连接中的第一个包,状态就是NEW,我们可以理解为新连接的第一个包的状态为NEW。ESTABLISHED:我们可以把NEW状态包后面的包的状态理解为ESTABLISHED,表示连接已建立。RELATED:从字面上理解RELATED译为关系,但是这样仍然不容易理解,我们举个例子。INVALID:如果一个包没有办法被识别,或者这个包没有任何状态,那么这个包的状态就是INVALID,我们可以主动屏蔽状态为INVALID的报文。

#示例:在filter表中创建IN_WEB自定义链iptables-tfilter-IINPUT-mstate--stateRELATED,ESTABLISHED-jACCEPT自定义链注意:自定义链并不能直接使用,而是需要被默认链引用才能够使用,空口白话说不明白,等到示例时我们自然会明白

8.1、创建自定义链

#示例:在filter表中创建IN_WEB自定义链iptables-tfilter-NIN_WEB8.2、引用自定义链

#示例:在INPUT链中引用刚才创建的自定义链iptables-tfilter-IINPUT-ptcp--dport80-jIN_WEB8.3、重命名自定义链

#示例:将IN_WEB自定义链重命名为WEBiptables-EIN_WEBWEB8.4、删除自定义链

删除自定义链需要满足两个条件

1、自定义链没有被引用

2、自定义链中没有任何规则

1、当测试网络防火墙时,默认前提为网络已经正确配置。

2、当测试网络防火墙时,如果出现问题,请先确定主机防火墙规则的配置没有问题。

THE END
1.p链正确使用方法p链正确使用方法踏花游湖 精选回答 1、 将P链揉成一团,放在手心中,抓住其中的一个环,然后放手,看看链子是否马上垂下,而不打结 2、 将P链揉成一团,放在你的头发上来会的摩擦,然后在你的头上扥直,看看会不会夹住你的头发 3、 检查各个连接处的焊点是否牢固。 4、 检查是否能够穿过并套在你家狗狗的头上...https://edu.iask.sina.com.cn/jy/33xx7sUA32j.html
2.针对人呼吸道合胞病毒(rsv)的抗体以及使用方法专利名称:针对人呼吸道合胞病毒(rsv)的抗体以及使用方法 技术领域:提供了免疫特异性地结合呼吸道合胞病毒(RSV)的F蛋白和/或免疫特异性地结合RSV和/或中和RSV的抗体及其抗原结合片段。还提供了采用抗RSV抗体及其抗原结合片段的诊断和治疗方法。所述治疗方法包括施用所提供的抗RSV抗体或其抗原结合片段用于预防或治疗...https://www.xjishu.com/zhuanli/201080046058.html
3.一种动力锂电池用封接玻璃坯及其制备方法.pdf本发明公开一种动力锂电池用封接玻璃坯及其制备方法,属于玻璃粉制备技术领域,将熔制完成的玻璃液水淬、粉磨成玻璃粉,再与适宜的粘结剂在一定温度下混炼均匀、切粒粉碎,在注射成型机上注射制得玻璃生坯,然后将玻璃生坯放入溶剂中浸泡脱胶,最终进行玻璃化烧结后制得封接玻璃熟坯。采用本发明方法制备的封接玻璃坯300℃...https://max.book118.com/html/2024/0313/8065104033006045.shtm
1.lineOpen函数(tapi.h)lineOpen 函数 (tapi.h) 打开由其设备标识符指定的行设备,并返回相应打开的行设备的行句柄。https://msdn.microsoft.com/en-us/library/ms736005(v=vs.85).aspx
2.小迪安全web245 通用漏洞&PHP 反序列化&POP 链构造&魔术方法&原生 类 #知识点: 1、什么是反序列化操作?-格式转换 将对象抓换为 字符串数组形式 反序列化 把数组字符串转化为对象 2、为什么会出现安全漏洞?-魔术方法 3、反序列化漏洞如何发现?一对象逻辑 4、反序列化漏洞如何利用?-P0P链构造 ...https://blog.csdn.net/weixin_44060420/article/details/131117687
3.下面哪种使用放大镜的方法是不正确的?()声明: 本网站大部分资源来源于用户创建编辑,上传,机构合作,自有兼职答题团队,如有侵犯了你的权益,请发送邮箱到feedback@deepthink.net.cn 本网站将在三个工作日内移除相关内容,刷刷题对内容所造成的任何后果不承担法律上的任何义务或责任 https://www.shuashuati.com/ti/f0fdb67e824944c783d6f439832ca582.html?fm=bd63154a60b6225f3a09807f58b47a1d22
4.解密狗狗为何能挣脱p链(探究狗狗的天性和智慧)宠物美容比如教会它们基本的训练指令,让它们懂得如何遵守规则和主人的命令。 我们可以通过选择优质的p链、训练狗狗正确使用p链、定期检查p链是否松动或损坏等方法来避免狗狗挣脱p链的情况发生。同时,我们还需要了解狗狗的行为习惯和特点,培养良好的行为习惯,增加运动量和活力等措施来更好地控制和保护它们。https://www.pettb.cn/article-36991-1.html
5.急性心肌梗死溶栓(精选十篇)为了提高溶栓治疗的临床效果,探索溶栓药物联合应用方法。同时开放两条静脉通道,分别使用t-PA(1mg/kg,总剂量<90 mg)与链激酶(100万U)溶栓,但其疗效并不比单用t-PA加速给药法方案更好。亦有t-PA与尿激酶联用的报告,效果亦与单用者相似。联合用药的资料尚少,其价值尚难评定。对血栓纤维蛋白的作用特性,血栓...https://www.360wenmi.com/f/cnkey60yw2p0.html
6.训狗日记脖圈大小很难合适。我家脖圈是皮的,狗一挣脱的时候是有空间的。后来又换了一种两头是链中间是绳的,感觉比较适用大型犬,大了狗子一次发现低头能挣脱基本每次它特别不乐意的时候就挣脱了。 p链我使用的是金属蛇形p链,细且控制性强。后面发现还有一种p绳有锁扣可调节也比金属链温柔,感觉更科学。 https://www.douban.com/note/734941942/
7.p币有什么用,p币是什么东西·金融:银行机构可以使用p链进行数据安全传输和实时结算。同时,p链技术也可以用于资产溯源和交易清算。 ·版权保护:p链可以用于音乐、电影等行业的版权保护,实现去中心化的版权交易。 ·游戏:p链可以应用于游戏交易,例如游戏物品和虚拟货币交换。 3、p链的优势 ...https://www.ssyg068.com/biquanzx/5818.html
8.新款宠物牵引绳防爆冲P链反光透气狗狗牵引绳一体式遛狗绳宠物用...新款宠物牵引绳防爆冲P链反光透气狗狗牵引绳一体式遛狗绳宠物用 橙色 0.6*170cm(一条装) 商品详情 手机扫码下单 相关商品 妙普乐狗狗牵引绳小型犬泰迪比熊柯基项圈遛狗绳子宠物幼犬链子宠物用品 项圈+绳(颜色随机) 建议(1-8斤)猫狗通用 ¥ 14 宠小曼战术猫咪胸背带背心式牵引绳防挣脱可调节外出遛猫幼犬通用...https://www.zhe2.com/jdd/10119742078149