上一篇 下一篇 分享链接 返回 返回顶部

CentOS7系统的VPS云服务器安装iptables防火墙(禁用/停止自带的firewalld服务)

发布人:欢子 发布时间:2026-01-21 15:10 阅读量:9
centos7系统的VPS云服务器如何安装iptables防火墙?本篇文章主要介绍了centos7安装iptables防火墙的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。不仅有安装iptables防火墙的命令和说明,还有如何禁用/停止自带的firewalld服务,起跟随小编过来看看吧

使用背景:

1,CentOS7默认的防火墙不是iptables,而是firewalle.

2,一些软件的端口号要放开来提供服务,如:22,80等常用端口

3,提供web服务的需要

使用步骤:

一、安装centos7,自行购买一诺网络科技VPS/云服务器,选择centos7即可!

二、centos7基本配置

三、CentOS7安装iptables防火墙:

0,CentOS7默认的防火墙不是iptables,而是firewalle.

查看:打开/etc/sysconfig/目录后,并未发现iptables文档(可能会有iptables-config文档等,别混淆了)

[root@localhost~]#cd/etc/sysconfig/

1,安装iptable与iptable-service

#先检查是否安装了iptables

[root@localhost~]#serviceiptablesstatus

#安装iptables

[root@localhost~]#yuminstall-yiptables#通常情况下是安装好了的

yuminstall-yiptables*(网友推荐,看下面的评论,在这里,谢谢他/她)

#升级iptables

[root@localhost~]#yumupdateiptables

#安装iptables-services

[root@localhost~]#yuminstalliptables-services#通常情况下没有安装

2,禁用/停止自带的firewalld服务

#停止firewalld服务

[root@localhost~]#systemctlstopfirewalld

#禁用firewalld服务

[root@localhost~]#systemctlmaskfirewalld

#查看iptables现有规则

[root@localhost~]#iptables-L-n

#先允许所有,不然有可能会杯具

[root@localhost~]#iptables-PINPUTACCEPT

[root@localhost~]#systemctlenableiptables.service#设置防火墙开机启动

―――――――启动/关闭/重启iptables――――――――――――

[root@localhost~]#systemctlstopiptables

[root@localhost~]#systemctlstartiptables

[root@localhost~]#systemctlrestartiptables

――――――――――――――――――――――――――――――C

#@1,手动添加端口号(方法一)

[root@localhost~]#vi/etc/sysconfig/iptables#配置防火墙端口

-AINPUT-mstateCstateNEW-mtcp-ptcpCdport3306-jACCEPT-AINPUT-mstateCstateNEW-mtcp-ptcpCdport8080-jACCEPT-AINPUT-mstateCstateNEW-mtcp-ptcpCdport6379-jACCEPT

[root@localhost~]#serviceiptablessave#保存防火墙配置

Cend

###################################具体配置说明######################################

@2,命令添加端口号(方法二):

参考:https://www.linuxidc.com/Linux/2017-10/147238.htm

一、安装iptableiptable-service

1,先检查是否安装了iptables

[root@localhost~]#serviceiptablesstatus

2,安装iptables

[root@localhost~]#yuminstall-yiptables

3,升级iptables

[root@localhost~]#yumupdateiptables

4,安装iptables-services

[root@localhost~]#yuminstalliptables-services

二、禁用/停止自带的firewalld服务

1,停止firewalld服务

[root@localhost~]#systemctlstopfirewalld

2,禁用firewalld服务

[root@localhost~]#systemctlmaskfirewalld

三、设置现有规则

#查看iptables现有规则[root@localhost~]#iptables-L-n#先允许所有,不然有可能会杯具[root@localhost~]#iptables-PINPUTACCEPT#清空所有默认规则[root@localhost~]#iptables-F#清空所有自定义规则[root@localhost~]#iptables-X#所有计数器归0[root@localhost~]#iptables-Z#允许来自于lo接口的数据包(本地访问)[root@localhost~]#iptables-AINPUT-ilo-jACCEPT#开放22端口iptables-AINPUT-ptcpCdport22-jACCEPT#开放21端口(FTP)iptables-AINPUT-ptcpCdport21-jACCEPT#开放80端口(HTTP)iptables-AINPUT-ptcpCdport80-jACCEPT#开放443端口(HTTPS)iptables-AINPUT-ptcpCdport443-jACCEPT…====>按照实际要求:是否加下面的:――――――――――――――――――――――-#允许pingiptables-AINPUT-picmpCicmp-type8-jACCEPT#允许接受本机请求之后的返回数据RELATED,是为FTP设置的iptables-AINPUT-mstateCstateRELATED,ESTABLISHED-jACCEPT#其他入站一律丢弃iptables-PINPUTDROP#所有出站一律绿灯iptables-POUTPUTACCEPT#所有转发一律丢弃iptables-PFORWARDDROP――――――――――――――――――――――-

四、其他规则设定

#如果要添加内网ip信任(接受其所有TCP请求)iptables-AINPUT-ptcp-s45.96.174.68-jACCEPT#过滤所有非以上规则的请求iptables-PINPUTDROP#要封停一个IP,使用下面这条命令:iptables-IINPUT-s***.***.***.***-jDROP#要解封一个IP,使用下面这条命令:iptables-DINPUT-s***.***.***.***-jDROP

五、保存规则设定

#保存上述规则serviceiptablessave

六、开启iptables服务

#注册iptables服务#相当于以前的chkconfigiptablesonsystemctlenableiptables.service#开启服务systemctlstartiptables.service#查看状态systemctlstatusiptables.service

―――――――――――――――――――――――――――――――――-

问题

问题:解决vsftpd在iptables开启后,无法使用被动模式的问题

1.首先在/etc/sysconfig/iptables-config中修改或者添加以下内容

#添加以下内容,注意顺序不能调换IPTABLES_MODULES=”ip_conntrack_ftp”IPTABLES_MODULES=”ip_nat_ftp”

2.重新设置iptables设置

iptables-AINPUT-mstateCstateRELATED,ESTABLISHED-jACCEPT

以下为完整设置脚本

#!/bin/shiptables-PINPUTACCEPTiptables-Fiptables-Xiptables-Ziptables-AINPUT-ilo-jACCEPTiptables-AINPUT-ptcpCdport22-jACCEPTiptables-AINPUT-ptcpCdport21-jACCEPTiptables-AINPUT-ptcpCdport80-jACCEPTiptables-AINPUT-ptcpCdport443-jACCEPTiptables-AINPUT-picmpCicmp-type8-jACCEPTiptables-AINPUT-mstateCstateRELATED,ESTABLISHED-jACCEPTiptables-PINPUTDROPiptables-POUTPUTACCEPTiptables-PFORWARDDROPserviceiptablessavesystemctlrestartiptables.service

CentOS7

[root@localhost~]#cat/etc/redhat-release#查看centos版本

CentOSLinuxrelease7.2.1511(Core)

1.关闭firewall

[root@localhost~]#systemctlstopfirewalld.service#停止firewall

[root@localhost~]#systemctldisablefirewalld.service#禁止firewall开机启动

2.安装iptables

[root@localhost~]#yuminstalliptables-services#安装

[root@localhost~]#systemctlrestartiptables.service#重启防火墙使配置生效

[root@localhost~]#systemctlenableiptables.service#设置防火墙开机启动

[root@localhost~]#systemctldisableiptables.service#禁止防火墙开机启动

CentOS6

[root@localhost~]#serviceiptablestatusC查看防火墙状态

[root@localhost~]#servcieiptablesstopC临时关闭防火墙

[root@localhost~]#serviceiptablesstartC临时启动防火墙

[root@localhost~]#serviceiptablesrestartC重启防火墙

[root@localhost~]#chkconfigiptablesoffC永久关闭防火墙

[root@localhost~]#chkconfigiptablesonC永久开启防火墙

目录结构
全文