• 欢迎访问水熊虫网站,这里是我个人的工作博客,内容大多是遇到问题完善后,会在这里进行总结归纳内容! QQ群
  • 网站导航中的友情链接专栏上线,更新的都是自己这三年整理的一些东西,感兴趣可以看看!
  • 你所浪费的今天,是昨天死去的人奢望的明天。你所厌恶的现在,是未来的你回不去的曾经!

Centos 7.x 防火墙相关命令

云主机问题 WaterBear 7年前 (2017-06-28) 779次浏览 已收录 扫描二维码

centos7常用防火墙设置命令

systemctl start firewalld.service  //开启服务

systemctl enable firewalld.service //开机自动启动

systemctl stop firewalld.service  //关闭服务

systemctl disable firewalld.service //禁止开机自启


注意:firewall-cmd后面参数接的是 连续两个减号(短横线) --   后面红色加粗的短横线请注意

iptables -L -n    #查看规则,这个命令是和iptables的相同的

firewall-cmd --state #查看防火墙状态

firewall-cmd --reload  #重新载入防火墙配置,比如添加规则之后,需要执行此命令


firewall-cmd --add-port=80/tcp --permanent  #永久添加80端口例外

firewall-cmd --remove-port=80/tcp --permanent  #永久删除80端口例外

firewall-cmd --add-port=65001-65010/tcp --permanent  #永久增加65001-65010例外


firewall-cmd --query-service ftp               #查看ftp服务是否支持,返回yes或者no

firewall-cmd --add-service=ftp                 #临时开放ftp服务

firewall-cmd --add-service=ftp --permanent     #永久开放ftp服务

firewall-cmd --remove-service=ftp --permanent  #永久移除ftp服务


Firewalld命令:

iptables -L -n    #查看规则,这个命令是和iptables的相同的  

#进程与状态相关
systemctl start firewalld.service            #启动防火墙  
systemctl stop firewalld.service             #停止防火墙  
firewall-cmd --state                         #查看防火墙状态  
firewall-cmd --reload                        #更新防火墙规则  添加规则之后,需要执行此命令       
firewall-cmd --list-ports                    #查看所有打开的端口  
firewall-cmd --list-services                 #查看所有允许的服务  
firewall-cmd --get-services                  #获取所有支持的服务  

#区域相关
firewall-cmd --list-all-zones                    #查看所有区域信息  
firewall-cmd --get-active-zones                  #查看活动区域信息  
firewall-cmd --set-default-zone=public           #设置public为默认区域  
firewall-cmd --get-default-zone                  #查看默认区域信息  
firewall-cmd --zone=public --add-interface=eth0  #将接口eth0加入区域public

#接口相关
firewall-cmd --zone=public --remove-interface=eth0       #从区域public中删除接口eth0  
firewall-cmd --zone=default --change-interface=eth0      #修改接口eth0所属区域为default  
firewall-cmd --get-zone-of-interface=eth0                #查看接口eth0所属区域  

#端口控制
firewall-cmd --add-port=80/tcp --permanent               #永久添加80端口例外(全局)
firewall-cmd 
--remove-port=80/tcp --permanent            #永久删除80端口例外(全局)
firewall-cmd 
--add-port=65001-65010/tcp --permanent      #永久增加65001-65010例外(全局) 
 
firewall-cmd  --zone=public --add-port=80/tcp --permanent            #永久添加80端口例外(区域public)
firewall-cmd  --zone=public --remove-port=80/tcp --permanent         #永久删除80端口例外(区域public)
firewall-cmd  --zone=public --add-port=65001-65010/tcp --permanent   #永久增加65001-65010例外(区域public)


#服务控制

firewall-cmd --list-services   查看当前哪些服务开启

firewall-cmd --get-services   查看当前哪些服务未开启

firewall-cmd --zone=public --list-ports     查看所有打开的端口

firewall-cmd --add-service=http   临时添加一个http服务到firewalld。http换成想要开放的service

firewall-cmd --permanent --add-service=http    永久添加一个http服务到firewalld。http换成想要开放的service

如果要添加的端口并没有服务对应

就要新建一个服务,在/usr/lib/firewalld/services,随便拷贝一个xml文件到一个新名字,比如myservice.xml,把里面的,如下

<?xml version="1.0" encoding="utf-8"?>

 

<service>

<short>服务名称</short>

<description>服务描述</description>

<port protocol="协议" port="端口号"/>

</service>

Centos 7.x 防火墙相关命令


注:如果某个接口不属于任何Zone,那么这个接口的所有数据包使用默认的Zone的规则。

  • 命令含义:
    --zone #作用域
    --add-port=80/tcp  #添加端口,格式为:端口/通讯协议
    --permanent   #永久生效,没有此参数重启后失效

Systemctl命令:

systemctl start firewalld.service               #启动服务
systemctl stop firewalld.service                #关闭服务

systemctl reloadt firewalld.service             #重载配置
systemctl restart firewalld.service             #重启服务
systemctl status firewalld.service              #显示服务的状态
systemctl enable firewalld.service              #在开机时启用服务
systemctl disable firewalld.service             #在开机时禁用服务

systemctl is-enabled firewalld.service          #查看服务是否开机启动
systemctl list-unit-files|grep enabled          #查看已启动的服务列表
systemctl --failed                              #查看启动失败的服务列表

关闭CentOS7自带Firewall启用iptables:

yum install iptables-services           #安装iptables  
systemctl stop firewalld.service        #停止firewalld  
systemctl mask firewalld.service        #禁止自动和手动启动firewalld  
systemctl start iptables.service        #启动iptables
systemctl start ip6tables.service       #启动ip6tables  
systemctl enable iptables.service       #设置iptables自启动  
systemctl enable ip6tables.service      #设置ip6tables自启动  
注:静态防火墙规则配置文件是 /etc/sysconfig/iptables 以及 /etc/sysconfig/ip6tables

CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
1、直接关闭防火墙
systemctl stop firewalld.service           #停止firewall
systemctl disable firewalld.service     #禁止firewall开机启动

2、设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables 
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
最后重启系统使设置生效即可。


更多内容请访问:http://www.cnblogs.com/phpshen/p/5842118.html


WaterBear , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Centos 7.x 防火墙相关命令
喜欢 (0)
[[email protected]]
分享 (0)