Linux:centos7防火墙开放端口操作

Posted 里晓山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux:centos7防火墙开放端口操作相关的知识,希望对你有一定的参考价值。

Centos升级到7之后,发现无法使用iptables控制Linux的端口,google之后发现Centos 7使用firewalld代替了原来的iptables。 但是在CentOS7中也可以iptables控制防火墙,只不过需要安装iptables模块,具体做法请参考:Linux:CentOS7下配置 iptables

一、系统命令firewalld的基本使用

systemctl start firewalld #启动 
systemctl stop firewalld #关闭 
systemctl status firewalld #查看运行状态 
systemctl disable firewalld #禁止开机启动 
systemctl enable firewalld #开机启用 
firewall-cmd --state #查看默认防火墙状态 
firewall-cmd --reload #重启防火墙
systemctl status firewalld #查看运行状态

防火墙开启

防火墙关闭

2.systemctlCentOS7的服务管理工具中主要的工具,它融合之前servicechkconfig的功能于一体。

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

二、端口命令 配置firewalld-cmd

firewall-cmd --zone=public --add-port=80/tcp --permanent #添加端口(--permanent表示永久生效,没有此参数重启后失效) 
firewall-cmd --zone=public --query-port=3306/tcp --permanent添加3306端口 
firewall-cmd --zone=public --query-port=80/tcp #查看防火墙80端口 
firewall-cmd --zone=public --list-ports #查看所有打开的端口: 
firewall -cmd --zone=public --remove-port=80/tcp --permanent #删除防火墙80端口

附录:语法 

--zone #作用域 

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

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

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 #查看是否拒绝:

查询防火墙状态

https://www.jb51.net/article/147012.htm#

# systemctl status firewalld

回车

[warnerwu@localhost ~]$ systemctl status firewalld

● firewalld.service - firewalld - dynamic firewall daemon

  Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)

  Active: inactive (dead)

   Docs: man:firewalld(1)

启动防火墙 注意:防火墙只有管理员或管理员用户组有权限进行管理操作, 普通用户则不可以

# systemctl start firewalld

再次查看防火墙状态

# systemctl status firewalld

systemctl就是系统服务管理工具, 是系统工具, 用来管理系统服务的

之前的CentOS版本都是使用的 service 进行系统服务管理的哦,

查看防火墙开放端口列表

防火墙的端口管理是通过 firewall-cmd 命令来进行管理的哦

# firewall-cmd --list-all

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

public

 target: default

 icmp-block-inversion: no

 interfaces:

 sources:

 services: ssh dhcpv6-client

 ports:

 protocols:

 masquerade: no

 forward-ports:

 source-ports:

 icmp-blocks:

 rich rules:

会发现它如此空旷, 没有任何开放端口,

添加开放端口到防火墙

80端口开放, 其它用户可以访问我的站点

// Step1: 加入开放端口到配置文件 # firewall-cmd --zone=public --add-port=80/tcp --permanent --zone=public 添加时区 --add-port=80/tcp 添加端口 --permanent 永久生效 // 加载防火墙新配置文件( 以 root 身份输入以下命令,重新加载防火墙,并不中断用户连接,即不丢失状态信息. )  firewall-cmd --reload

再次查看防火墙开放端口列表

# firewall-cmd --list-all

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

public

 target: default

 icmp-block-inversion: no

 interfaces:

 sources:

 services: ssh dhcpv6-client

 ports: 80/tcp

 protocols:

 masquerade: no

 forward-ports:

 source-ports:

 icmp-blocks:

 rich rules:

这次你会发现 ports 对应的多了一个 80/tcp, 那说明就已经添加到了防火墙开放列表中了

linux 开放防火墙端口命令(centos 6/7)

介绍一下常用的linux服务器上,开放防火墙端口该用什么命令。

centos(redhat) 6 版本中的 iptables

以开放mysql端口3306为例

# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# service iptables save
# service iptables restart

centos(redhat) 7 版本中防火墙默认是用的 firewall,当然也可以另行安装iptables

同样开启一个端口,80为例

# 添加 ( --permanent永久生效,没有此参数重启后失效)
# firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重新载入
# firewall-cmd --reload
# 查看
# firewall-cmd --zone= public --query-port=80/tcp
# 删除
# firewall-cmd --zone= public --remove-port=80/tcp --permanent

以上是关于Linux:centos7防火墙开放端口操作的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7 开放防火墙端口

linux centos7开放端口号的操作步骤

CentOS7 linux 开放端口设置

Centos7开放端口

linux centos7 防火墙及端口开放相关命令

Centos7防火墙快速开放端口配置方法