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>
注:如果某个接口不属于任何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