centos从7开始默认用的是firewalld,iptables的服务是没安装的。若是存在firewalld的基础上又安装了iptables。那么须要两个防火墙都放通端口或者关闭掉,里面的服务才能访问。shell
firewalld的启停命令是:centos
systemctl stop firewalld.service && systemctl disable firewalld.service systemctl start firewalld.service && systemctl enable firewalld.service 复制代码
若是想要改用iptables的话,则须要安装bash
yum install iptables-services systemctl stop iptables && systemctl disable iptables systemctl start iptables && systemctl enable iptables 复制代码
也能够用以下命令进行启停:tcp
service iptables start service iptables stop 复制代码
[root@test1 ~]# firewall-cmd --state
not running
复制代码
从centos7开始使用systemctl来管理服务和程序,包括了service和chkconfig。这些命令均可以查看状态,只是显示的信息不太同样而已centos7
[root@test1 ~]# systemctl list-unit-files|grep firewalld.service
firewalld.service enabled
[root@test1 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-07-11 09:49:26 CST; 12h ago
复制代码
firewall-cmd --version
复制代码
firewall-cmd --help
复制代码
firewall-cmd --zone=public --list-ports
复制代码
重启防火墙:firewall-cmd --reload
启动一个服务: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;echo $?
查看已启动的服务列表:systemctl list-unit-files|grep enabled
复制代码
#添加端口
[root@test1 ~]# firewall-cmd --zone=public --add-port=8081/tcp --permanent
#关闭端口
[root@test1 ~]# firewall-cmd --zone=public --remove-port=80/tcp --permanent
[root@test1 ~]# firewall-cmd --reload #重启防火墙
success
[root@test1 ~]# firewall-cmd --list-ports
8080/tcp 50000/tcp
[root@test1 ~]#
复制代码
命令含义:spa
–zone #做用域rest
–add-port=80/tcp #添加端口,格式为:端口/通信协议code
–permanent #永久生效,没有此参数重启后失效ip