一、防火墙简介
防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。防火墙的存在,使得计算机网络变得更加安全可靠,它可以及时发现计算机可能存在的安全风险、及时规避。

它是互联网数据包进入服务器主机的一道关卡。位于服务器内外网之间的安全系统。防火墙有其独有的规则,允许或者限制相关的主机之间传输。
主要通过Netfilter与TCPwrappers两个机制来管理的。

二、防火墙说明
在Centos7中,默认将原来的防火墙iptables升级为了firewalld,firewalld跟iptables比起来至少有两大好处:
1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
2、firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。

三、防火墙的常见操作指令
在Linux系统中,防火墙一般是关闭状态的,但是在实际生活中,为了确保服务器稳定可靠,一般都是要进行开启,做安全防护。
CentOS 7.0默认使用的是firewall作为防火墙,以下都是Firewall的命令,好像还有一个iptables什么的
1、查看防火墙状态

firewall-cmd --state

2、关闭防火墙(开启start,restart)

systemctl stop firewalld.service

3、禁止防火墙开机自启(开机自启enable)

systemctl disable firewalld.service

防火墙端口设置
1.查看已开放的端口(默认不开放任何端口)

firewall-cmd --list-ports

2.开启80端口

firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型)
–permanent(永久生效)

3.重启防火墙

firewall-cmd --reload

4.停止防火墙

systemctl stop firewalld.service

5.禁止防火墙开机启动

systemctl disable firewalld.service

6.删除

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

四、Firewalld的管理防火墙

可以通过三种方式来管理firewalld
使用命令行工具firewall-cmd
使用图形工具firewall-config
firewall防火墙对应的配置文件:/etc/firewalld/

启用firewalld

systemctl start firewalld     开启火墙
systemctl stop firewalld      关闭火墙
systemctl enable firewalld   设置火墙开机自启动
systemctl disable firewalld   设置火墙开机禁用
systemctl status firewalld    查看状态

firewall-cmd常用命令

--get-default-zone  查询当前默认区域。
--set-default-zone= 设置默认区域。此命令会同时更改运行时配置和永久配置。
--get-zones         列出所有可用区域。
--get-services    列出所有预定义服务。
--get-active-zones  列出当前正在使用的所有区域(具有关联的接口或源)及接口和源信息。
--add-source=       将来自IP地址或网络/掩码的所有流量路由到指定区域。
--remove-source=    从指定区域中删除用于路由来自IP地址或网络/掩码的所有流量规则。
--add-interface=    将来自该接口的所有流量到指定区域。
--change-interface= 将接口已有绑定区域而与其他区域关联。
--list-all      列出默认区域的所有配置(接口、源、服务和端口)。
--list-all-zones    列出所有区域的所有配置(接口、源、服务和端口)。
--add-service=      允许区域某服务的流量。
--add-port=         允许区域某端口的流量。
--remove-service=   从区域删除某服务规则。
--remove-port=      从区域删除某端口规则。
--reload            丢弃Runtime配置并应用Permanet配置。