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.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 #查看启动失败的服务列表
*二、端口命令 配置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, 那说明就已经添加到了防火墙开放列表中了
版权归原作者 里晓山 所有, 如有侵权,请联系我们删除。