有朋自远方来,不亦乐乎。
CentOS7开启iptables防火墙
原创 橘子书  17 Oct/23 1.9K 14 A+

前阶段(国庆期间),龙砚庭正式部署了SSL,算是跟在潮流的后面,顺利地带上了小绿锁的装逼神器。

其实呀,从http到https的转换过程,并不难(该学的都在折腾自留地部署SSL的时候学了,如今嘛只是搬运罢了),甚至神速一点,5分钟之内可以写好conif配置。

然而,我却卡在了CDN的部署上面。

因为原本我是打算用360取代百度云加速(谁让百度云加速,对https不免费呢),偏偏360的节点ip一定要扔进服务器的防火墙之内,要不然访问网站永远只有502错误。

于是国庆期间,我一有空就跟防火墙杠上了,好在万幸的是——10月4号晚上,我没抱希望地联系了一下云盾客服,哦呵呵,结果,审核部门居然在岗。

然后的然后,就是抛弃了360,果断投向云盾的怀抱(主要是我将360节点ip扔进防火墙并保存规则,却不生效。所以不抱希望于360)

OK,言归正传。

嗯……里的本身是有自带防火墙的,比如centos6.5带的是iptables,而centos7以后带的则是firewalle。

所以,如果服务器是centos7以上的,想要使用firewalle的话,就必须先关闭它。

禁用/停止自带的firewalld服务

方法如下(本文教程的前提,都要使用类似xshell软件,进入控制台)

#停止firewalld服务
systemctl stop firewalld
#禁用firewalld服务
systemctl mask firewalld

安装iptable iptable-service

输入命令(注:带#表示注释,该行文字只做解释说明作用,不用输入)

#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables
yum update iptables 
#安装iptables-services
yum install iptables-services

设置现有规则

#查看iptables现有规则
iptables -L -n
#先允许所有,不然有可能会杯具
iptables -P INPUT ACCEPT
#清空所有默认规则
iptables -F
#清空所有自定义规则
iptables -X
#所有计数器归0
iptables -Z
#允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT
#开放22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开放21端口(FTP)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#开放80端口(HTTP)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#开放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
#允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
#其他入站一律丢弃
iptables -P INPUT DROP
#所有出站一律绿灯
iptables -P OUTPUT ACCEPT
#所有转发一律丢弃
iptables -P FORWARD DROP

其他规则设定

#如果要添加内网ip信任(接受其所有TCP请求)
iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
#过滤所有非以上规则的请求
iptables -P INPUT DROP
#要封停一个IP,使用下面这条命令:
iptables -I INPUT -s ***.***.***.*** -j DROP
#要解封一个IP,使用下面这条命令:
iptables -D INPUT -s ***.***.***.*** -j DROP

保存规则设定

#保存上述规则
service iptables save

开启iptables服务

#注册iptables服务
#相当于以前的chkconfig iptables on
systemctl enable iptables.service
#开启服务
systemctl start iptables.service
#查看状态
systemctl status iptables.service

——以上代码来自LINUX公社

以上就是centos7安装iptables的教程,如果不懂原理,直接照着命令一条条操作就是了。

哪怕出错了,只要删掉规则文件/etc/sysconfig/iptables,便又可以开始重新愉快地玩耍啦!

要是还觉得不保险,那么就备份站点文件及数据!!!

阅读全文

目前评论:14   其中:访客  8   博主  6

发表评论

莫慌,小狮子正在努力加载评论...
  1. 明月学习笔记Blog
    明月学习笔记Blog2 ( 2017.11.05 20:40:38 )  8楼

    今天研究了一下Fail2ban,结合iptables的话简直是个神器!

  2. 东不正
    东不正2 ( 2017.10.27 23:01:02 )  7楼

    我有一个VPS,可是一直在闲置,是不是浪费资源啊。。。

  3. 晓庄
    晓庄2 ( 2017.10.27 12:07:57 )  6楼

    玩服务器的 都是大牛