CentOS 7.X默认firewall防火墙改为iptables防火墙

前端之家收集整理的这篇文章主要介绍了CentOS 7.X默认firewall防火墙改为iptables防火墙前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

1、关闭firewall@H_403_7@

systemctlstopfirewalld.service#停止firewall@H_403_7@

systemctldisablefirewalld.service#禁止firewall开机启动@H_403_7@

2、安装iptables防火墙@H_403_7@

yuminstalliptables-services#安装@H_403_7@

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

**********************************************************************************************@H_403_7@

#Firewallconfigurationwrittenbysystem-config-firewall@H_403_7@

#Manualcustomizationofthisfileisnotrecommended.@H_403_7@

*filter@H_403_7@

:INPUTACCEPT[0:0]@H_403_7@

:FORWARDACCEPT[0:0]@H_403_7@

:OUTPUTACCEPT[0:0]@H_403_7@

-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT@H_403_7@

-AINPUT-picmp-jACCEPT@H_403_7@

-AINPUT-ilo-jACCEPT@H_403_7@

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

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

-AINPUT-jREJECT--reject-withicmp-host-prohibited@H_403_7@

-AFORWARD-jREJECT--reject-withicmp-host-prohibited@H_403_7@

COMMIT@H_403_7@

**********************************************************************************************
@H_403_7@


@H_403_7@

:wq!#保存退出@H_403_7@

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

systemctlenableiptables.service#设置防火墙开机启动@H_403_7@


@H_403_7@

20条IPTables防火墙规则用法
@H_403_7@


@H_403_7@


@H_403_7@

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

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

    INPUT:处理流入本地的数据包@H_403_7@
  • FORWARD:处理通过系统路由的数据包@H_403_7@

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

    NAT实现网络地址转换的表,内建的链有:@H_403_7@
    PREROUTING:处理即将接收的数据包@H_403_7@
  • OUTPUT:处理本地产生的数据包@H_403_7@

  • POSTROUTING:处理即将传出的数据包@H_403_7@

    MANGLE此表用于改变数据包,共5条链:@H_403_7@
    PREROUTING:处理传入连接@H_403_7@
  • OUTPUT:处理本地生成的数据包@H_403_7@

  • INPUT:处理报文@H_403_7@

  • POSTROUTING:处理即将传出数据包@H_403_7@

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


@H_403_7@

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


@H_403_7@

1、启动、停止和重启IPTables@H_403_7@

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

基于SystemD的系统@H_403_7@

systemctlstartiptablessystemctlstopiptablessystemctlrestartiptables@H_403_7@

基于SysVinit的系统@H_403_7@

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

2、查看IPtables防火墙策略@H_403_7@

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

iptables-L-n-v@H_403_7@

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

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

iptables-tnat-L-v–n@H_403_7@

3、屏蔽某个IP地址@H_403_7@

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

iptables-AINPUT-sxxx.xxx.xxx.xxx-jDROP@H_403_7@

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

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

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

4、解封某个IP地址@H_403_7@

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

iptables-DINPUT-sxxx.xxx.xxx.xxx-jDROP@H_403_7@

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

5、使用IPtables关闭特定端口@H_403_7@

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

阻止特定的传出连接:@H_403_7@

iptables-AOUTPUT-ptcp--dportxxx-jDROP@H_403_7@

阻止特定的传入连接:@H_403_7@

iptables-AINPUT-ptcp--dportxxx-jACCEPT@H_403_7@

6、使用Multiport控制多端口@H_403_7@

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

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

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

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

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

8、配置端口转发@H_403_7@

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

iptables-tnat-APREROUTING-ieth0-ptcp--dport25-jREDIRECT--to-port2525@H_403_7@

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

9、屏蔽HTTP服务Flood攻击@H_403_7@

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

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

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

10、禁止PING@H_403_7@

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

iptables-AINPUT-picmp-ieth0-jDROP@H_403_7@

11、允许访问回环网卡@H_403_7@

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

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

12、屏蔽指定MAC地址@H_403_7@

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

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

13、限制并发连接数@H_403_7@

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

iptables-AINPUT-ptcp--syn--dport22-mconnlimit--connlimit-above3-jREJECT@H_403_7@

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

14、清空IPtables规则@H_403_7@

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

iptables-F@H_403_7@

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

iptables-tnat–F@H_403_7@

15、保存IPtables规则@H_403_7@

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

iptables-save>~/iptables.rules@H_403_7@

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

16、还原IPtables规则@H_403_7@

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

iptables-restore<~/iptables.rules@H_403_7@

17、允许建立相关连接@H_403_7@

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

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

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

iptables-AOUTPUT-mconntrack--ctstateESTABLISHED-jACCEPT@H_403_7@

18、丢弃无效数据包@H_403_7@

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

iptables-AINPUT-mconntrack--ctstateINVALID-jDROP@H_403_7@

19、IPtables屏蔽邮件发送规则@H_403_7@

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

iptables-AOUTPUT-ptcp--dports25,465,587-jREJECT@H_403_7@

20、阻止连接到某块网卡@H_403_7@

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

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

源地址可以是IP或CIDR。@H_403_7@

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

serviceiptablessave@H_403_7@

iptables–F@H_403_7@

#删除已经存在的规则@H_403_7@

iptables-PINPUTDROP@H_403_7@

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

iptables-AINPUT-ptcp--dport80-jACCEPT@H_403_7@

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

iptables-AINPUT-ptcp--dport110-jACCEPT@H_403_7@

#打开POP3服务端口的tcp协议@H_403_7@

iptables-AINPUT-ptcp--dport25-jACCEPT@H_403_7@

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

iptables-AINPUT-ptcp--dport21-jACCEPT@H_403_7@

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

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

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

iptables-AINPUT-ptcp--dport53-jACCEPT@H_403_7@

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

iptables-AINPUT-pudp--dport53-jACCEPT@H_403_7@

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

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

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

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

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

iptables-tnat-APOSTROUTING-oeth1-s192.168.0.226-jMASQUERADE@H_403_7@

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

iptables-tnat-APOSTROUTING-oeth0-s192.168.0.4-ptcp--dport25-jMASQUERADE@H_403_7@

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


@H_403_7@

转载来自来源:http://www.jb51.cc/article/p-pdufshez-bpd.html@H_403_7@

猜你在找的CentOS相关文章