CentOS   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了CentOS 7.X默认firewall防火墙改为iptables防火墙大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

CentOS 7 默认使用的是firewall作为防火墙,这里改为iptables防火墙。 1、关闭firewall systemctl stop firewalld.@R_616_9260@ce #停止firewall systemctl disable firewalld.@R_616_9260@ce #禁止firewall开机启动 2、安装iptables防火墙 yum install iptables-@R_616_9260@ce

CentOS7认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall

systemctlstopfirewalld.@R_616_9260@ce#停止firewall

systemctldisablefirewalld.@R_616_9260@ce#禁止firewall开机启动

2、安装iptables防火墙

yuminstalliptables-@R_616_9260@ces#安装

vi/etc/sysconfig/iptables#编辑防火墙配置文件

**********************************************************************************************

#Firewallconfigurationwrittenbysystem-config-firewall

#Manualcustomizationofthisfileisnotrecommended.

*filter

:INPUTACCEPT[0:0]

:FORWARDACCEPT[0:0]

:OUTPUTACCEPT[0:0]

-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT

-AINPUT-picmp-jACCEPT

-AINPUT-ilo-jACCEPT

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT

-AINPUT-jREjeCT--reject-withicmp-host-prohibited

-AFORWARD-jREjeCT--reject-withicmp-host-prohibited

COMMIT

**********************************************************************************************


:wq!#保存退出

systemctlrestartiptables.@R_616_9260@ce#最后重启防火墙使配置生效

systemctlenableiptables.@R_616_9260@ce#设置防火墙开机启动

@H_675_138@

20条IPTables防火墙规则用法



IPTables包括一组内置和由用户定义规则的「链」,@L_618_17@可以在「链」上附加各种数据包处理规则。

  • FILTER认过滤表,内建的链有:

    INPUT:处理流入本地的数据包

  • FORWARD:处理通过系统路由的数据包

  • OUTPUT:处理本地流出的数据包

    NAT实现网络地址转换的表,内建的链有:

    PRERoutING:处理即将接收的数据包

  • OUTPUT:处理本地产生的数据包

  • POSTRoutING:处理即将传出的数据包

    @H_905_24@mANGLE此表用于改变数据包,共5条链:

    PRERoutING:处理传入连接

  • OUTPUT:处理本地生成的数据包

  • INPUT:处理报文

  • POSTRoutING:处理即将传出数据包

  • FORWARD:处理通过本机转发的数据包


接下来我们将由简入难介绍25条Linux@L_618_17@最常会用到的IPTables规则。


1、启动、停止和重启IPTables

然IPTables并不是一项服务,但在Linux中还是可以像服务一样对其状态进行管理。

基于SystemD的系统

systemctlstartiptablessystemctlstopiptablessystemctlrestartiptables

基于SysVinit的系统

/etc/init.d/iptablesstart/etc/init.d/iptablesstop/etc/init.d/iptablesrestart

2、查看IPtables防火墙策略

你可以使用如下命令来查看IPtables防火墙策略:

iptables-L-n-v

以上命令应该返回数据下图的输出

以上命令是查看认的FILTER表,如果你只希望查看特定的表,可以在-t参数后跟上要单独查看的表名。例如只查看NAT表中的规则,可以使用如下命令:

iptables-tnat-L-v–n

3、屏蔽某个IP地址

如果你发布有某个IP向服务器导入攻击或非正常流量,可以使用如下规则屏蔽其IP地址:

iptables-AINPUT-sxxx.xxx.xxx.xxx-jDROP

注意需要将上述的XXX改成要屏蔽的实际IP地址,其中的-A参数表示在INPUT链的最后追加本条规则。(IPTables中的规则是从上到下匹配的,一旦匹配成功就不再继续往下匹配)

如果你只想屏蔽TCP流量,可以使用-p参数的指定协议,例如:

iptables-AINPUT-ptcp-sxxx.xxx.xxx.xxx-jDROP

4、解封某个IP地址

要解封对IP地址的屏蔽,可以使用如下命令进行删除

iptables-DINPUT-sxxx.xxx.xxx.xxx-jDROP

其中-D参数表示从链中删除一条或多条规则。

5、使用IPtables关闭特定端口

很多时候,我们需要阻止某个特定端口的网络连接,可以使用IPtables关闭特定端口。

阻止特定的传出连接:

iptables-AOUTPUT-ptcp--dportxxx-jDROP

阻止特定的传入连接:

iptables-AINPUT-ptcp--dportxxx-jACCEPT

6、使用Multiport控制多端口

使用multiport我们可以一次性在单条规则中写入多个端口,例如:

iptables-AINPUT-ptcp-mmultiport--dports22,80,443-jACCEPTiptables-AOUTPUT-ptcp-mmultiport--sports22,443-jACCEPT

7、在规则中使用IP地址范围

在IPtables中IP地址范围是可以直接使用CIDR进行表示的,例如:

iptables-AOUTPUT-ptcp-d192.168.100.0/24--dport22-jACCEPT

8、配置端口转发

有时我们需要将Linux服务器的某个服务流量转发到另一端口,此时可以使用如下命令:

iptables-tnat-APRERoutING-ieth0-ptcp--dport25-jREDIRECT--to-port2525

上述命令会将所有到达eth0网卡25端口的流量重定向转发到2525端口。

9、屏蔽http服务Flood攻击

有时会有用户在某个服务,例如http80上发起大量连接请求,此时我们可以启用如下规则:

iptables-AINPUT-ptcp--dport80-mlimit--limit100/minute--limit-burst200-jACCEPT

上述命令会将连接限制到每分钟100个,上限设定为200。

10、禁止PING

对Linux禁PING可以使用如下规则屏蔽ICMP传入连接:

iptables-AINPUT-picmp-ieth0-jDROP

11、允许访问回环网卡

环回访问(127.0.0.1)是比较重要的,建议大家都开放:

iptables-AINPUT-ilo-jACCEPTiptables-AOUTPUT-olo-jACCEPT

12、屏蔽指定MAC地址

使用如下规则可以屏蔽指定的MAC地址:

iptables-AINPUT-mmac--mac-source00:00:00:00:00:00-jDROP

13、限制并发连接数

如果你不希望来自特定端口的过多并发连接,可以使用如下规则:

iptables-AINPUT-ptcp--syn--dport22-mcoNNLimit--coNNLimit-above3-jREjeCT

以上规则限制每客户端不超过3个连接。

14、清空IPtables规则

要清空IPtables链可以使用如下命令:

iptables-F

要清空特定的表可以使用-t参数进行指定,例如:

iptables-tnat–F

15、保存IPtables规则

认情况下,@L_618_17@对IPtables规则的操作会立即生效。但由于规则都是保存在内存当中的,所以重启系统会造成配置丢失,要永久保存IPtables规则可以使用iptables-save命令:

iptables-save>~/iptables.rules

保存的名称大家可以自己改。

16、还原IPtables规则

有保存自然就对应有还原,大家可以使用iptables-restore命令还原已保存的规则:

iptables-restore<~/iptables.rules

17、允许建立相关连接

随着网络流量的进出分离,要允许建立传入相关连接,可以使用如下规则:

iptables-AINPUT-mconntrack--ctstateESTABLISHED,RELATED-jACCEPT

允许建立传出相关连接的规则:

iptables-AOUTPUT-mconntrack--ctstateESTABLISHED-jACCEPT

18、丢弃无效数据包

很多网络攻击都会尝试用黑客自定义的非法数据包进行尝试,我们可以使用如下命令来丢弃无效数据包:

iptables-AINPUT-mconntrack--ctstateINVALID-jDROP

19、IPtables屏蔽邮件发送规则

如果你的系统不会用于邮件发送,我们可以在规则中屏蔽SMTP传出端口:

iptables-AOUTPUT-ptcp--dports25,465,587-jREjeCT

20、阻止连接到某块网卡

如果你的系统有多块网卡,我们可以限制IP范围访问某块网卡:

iptables-AINPUT-ieth0-sxxx.xxx.xxx.xxx-jDROP

源地址可以是IP或CIDR。

保存设置的规则到配置文件

@R_616_9260@ceiptablessave

iptables–F

#删除已经存在的规则

iptables-PINPUTDROP

#配置认的拒绝规则。基本规则是:先拒绝所有的服务,然后根据需要再添加新的规则。

iptables-AINPUT-ptcp--dport80-jACCEPT

#打开WEB服务端口的tcp协议

iptables-AINPUT-ptcp--dport110-jACCEPT

#打开pOP3服务端口的tcp协议

iptables-AINPUT-ptcp--dport25-jACCEPT

#打开SMTP服务端口的tcp协议

iptables-AINPUT-ptcp--dport21-jACCEPT

#打开FTP服务端口的tcp协议

iptables-AINPUT-ptcp-s202.106.12.130--dport22-jACCEPT

#允许IP地址为202.106.12.130这台主机连接本地的SSH服务端口

iptables-AINPUT-ptcp--dport53-jACCEPT

#允许DNS服务端口的tcp数据包流入

iptables-AINPUT-pudp--dport53-jACCEPT

#允许DNS服务端口的udp数据包流入

iptables-AINPUT-picmp-icmp-typeecho-request-ieth1-jDROP

#防止死亡之ping,从接口eth1进入的icmp协议的请求全部丢弃。

iptables-AFORWARD-ptcp--syn-mlimit--limit1/s-jACCEPT

#防止SYNFlood(拒绝服务攻击)

iptables-tnat-APOSTRoutING-oeth1-s192.168.0.226-jMASQUERADE

#允许192.168.0.226通过eth1IP伪装出外网

iptables-tnat-APOSTRoutING-oeth0-s192.168.0.4-ptcp--dport25-jMASQUERADE

#允许192.168.0.4通过eth0伪装访问外网的25端口


转载来自来源:http://code.js-code.com/article/p-pdufshez-bpd.html

大佬总结

以上是大佬教程为你收集整理的CentOS 7.X默认firewall防火墙改为iptables防火墙全部内容,希望文章能够帮你解决CentOS 7.X默认firewall防火墙改为iptables防火墙所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。