欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS 7.0 防火墙开启/关闭

程序员文章站 2024-03-09 09:29:53
...

CentOS 7.0默认使用的是firewall作为防火墙, 使用systemctl来管理服务和程序,包括了service和chkconfig

1、查看默认防火墙状态(关闭后显示not running,开启后显示running)

[[email protected] ~]# firewall-cmd --state
not running
  •  

2、检查防火墙的状态

[[email protected] ~]# systemctl list-unit-files|grep firewalld.service
firewalld.service                             disabled
或者:
[[email protected] ~]# systemctl status firewalld.service
● 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)

3、开启防火墙

[[email protected] ~]#systemctl start firewalld.service       --启动firewall
[[email protected] ~]# systemctl enable firewalld.service     --开机时启动firewall
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service. 

4、关闭防火墙:

[[email protected] ~]#systemctl stop firewalld.service            --停止firewall
[[email protected] ~]# systemctl disable firewalld.service        --禁止firewall开机启动
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

5、重启防火墙

[[email protected] ~]# systemctl restart firewalld.service

6、查看防火墙是否开机自启

[[email protected] ~]# systemctl is-enabled firewalld.service;echo $?
enabled             --自启
0
或者:
[[email protected] ~]# systemctl is-enabled firewalld.service;echo $?
disabled                --不自启
1

7、查看已启动的服务列表

[[email protected] ~]# systemctl list-unit-files|grep enabled
auditd.service                                      enabled 
[email protected]                                     enabled 
avahi-daemon.service                                enabled 
crond.service                                       enabled 

8、开启端口

[[email protected] ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

9、查看已经开放的端口

[[email protected] ~]# firewall-cmd --list-port
80/tcp

10、屏蔽FirewallD服务

[[email protected] ~]#systemctl mask firewalld
还可以通过创建一个firewall.service到/dev/null的符号连接来屏蔽防火墙服务。

11、反屏蔽FirewallD服务

[[email protected] ~]#systemctl unmask firewalld
这是反屏蔽FirewallD服务,它会移除屏蔽FirewallD服务时创建的符号链接,故能重新启用服务。

12、检查是否已安装防火墙

[[email protected] ~]#yum install firewalld firewall-config

13、下面说下CentOS7和6的默认防火墙的区别

CentOS 7默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

1、直接关闭防火墙

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

2、设置 iptables service

yum -y install iptables-services

3、如果要修改防火墙配置,如增加防火墙端口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 #设置防火墙开机启动

4、最后重启系统使设置生效即可

systemctl start iptables.service #打开防火墙
systemctl stop iptables.service #关闭防火墙

5.永久移除端口

#永久移除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#检查端口是否开启

#centos7以下使用netstat -ant,7使用ss;80替换为想要检查的端口
ss -ant | grep 80