CentOS 7 开放防火墙端口systemctl 命令完全指南参考

http://blog.csdn.net/gong_xucheng/article/details/50945917 (CentOS 7.0 服务管理  systemctl 命令)

http://www.linuxidc.com/Linux/2015-07/120833.htm (systemctl 命令完全指南)

http://www.cnblogs.com/xxoome/p/7115614.html (Centos7.3防火墙配置)

CentOS 7 的系统已经将默认的防火墙修改了,所以如下操作才行;

查看已经开放的端口:

[root@localhost ~]# firewall-cmd --list-ports

开启端口81

[root@localhost ~]# firewall-cmd --zone=public --add-port=81/tcp --permanent

命令含义:

       –zone                     #作用域

       –add-port=80/tcp   #添加端口,格式为:端口/通讯协议

       –permanent           #永久生效,没有此参数重启后失效

       firwall-cmd             #是Linux提供的操作firewall的一个工具;

重启防火墙

[root@localhost ~]# firewall-cmd --reload

CentOS 7.0默认使用的是firewall作为防火墙,可以将其改为iptables防火墙步骤

1、关闭firewall:

systemctl stop firewalld.service       #停止firewall

systemctl start firewalld.service       #启动firewall

systemctl disable firewalld.service  #禁止firewall开机启动

firewall-cmd --state          #查看默认防火墙状态(关闭后显示not running,开启后显示running)

2、iptables防火墙(这里必须要求iptables已经安装,下面进行配置)

如果没安装,则用如下命令安装:

#yum -y install iptables-services

# vim /etc/sysconfig/iptables #编辑防火墙配置文件

# sampleconfiguration for iptables service

# you can edit thismanually or use system-config-firewall

# please do not askus to add additional ports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT[0:0]

:OUTPUT ACCEPT[0:0]

-A INPUT -m state--state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -jACCEPT

-A INPUT -i lo -jACCEPT

-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -jACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT

-A INPUT -j REJECT--reject-with icmp-host-prohibited

-A FORWARD -jREJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

备注:这里使用80和8080端口为例。***部分一般添加到“-A INPUT -p tcp -m state --state NEW -m tcp--dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效。

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

 ==========================================================================

1、systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

systemctl start firewalld.service                 #启动防火墙服务

systemctl stop 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                                       #查看启动失败的服务列表

2、firewalld的基本使用

启动:

systemctl start firewalld  或 systemctl start firewalld.service

查看状态:

systemctl status firewalld 

禁止:

systemctl disable firewalld  或 systemctl disable firewalld.service

停止:

systemctl stop firewalld 或 systemctl stop firewalld.service

3、配置firewalld-cmd

firewall-cmd --version                                      #查看版本

firewall-cmd --help                                           #查看帮助

firewall-cmd --state                                          #显示状态

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

firewall-cmd --reload                                        #更新防火墙规则,重载

firewall-cmd --get-active-zones                        #查看区域信息:

firewall-cmd --get-zone-of-interface=eth0        #查看指定接口所属区域 

firewall-cmd --panic-on                          #拒绝所有包

firewall-cmd --panic-off                          #取消拒绝状态

firewall-cmd --query-panic                     #查看是否拒绝

firewall-cmd --list-all                               #查看防火墙规则

firewall-cmd --get-zones                          ##列出支持的zone
firewall-cmd --get-services                      ##列出支持的服务,在列表中的服务是放行的
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服务

那怎么开启一个端口呢

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent 

添加一组连续端口

firewall-cmd --zone=public --add-port=82-85/tcp --permanent 

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone= public --query-port=80/tcp

删除

firewall-cmd --zone= public --remove-port=80/tcp --permanent

相关推荐