文章参考于:
Centos7安装防火墙firewall
https://www.cnblogs.com/anxminise/p/9650104.html
防火墙(firewalld与iptables)
https://blog.csdn.net/weixin_40658000/article/details/78708375
CentOS7 防火墙(firewall)的操作命令
https://www.cnblogs.com/leoxuan/p/8275343.html
https://blog.csdn.net/wangleiqqaaaaa/article/details/103408656
特此感谢!
环境
系统:centos7.2
[root@VM-0-11-centos logs]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)
防火墙策略
3.1 firewall与iptables
在centos7之前的系统使用的防火墙策略为iptables,从centos7之后的系统使用的是firewall命令动态管理iptables,底层也是用的iptables。而firewall和iptables的命令也是有很大区别的。当然centos7也可以使用iptables作为防火墙。
3.2 防火墙开启、关闭、状态查看
首先,输入命令确认自己的系统版本
$ cat /etc/redhat-release
可以查看到系统版本为Centos7.5版本,一般centos7都是默认安装firewall防火墙的,如需写在安装请使用yum命令安装与卸载,本文不做单独讲解。
查看防火墙状态(此命令与文章之后的命令为centos7系统的firewall命令,并不适用与centos7以下的系统)
$ systemctl status firewalld.service
或者使用firewall命令查看
$ firewall-cmd --state
running表示防火墙开启,not running标识防火墙关闭
启动防火墙命令
$ systemctl start firewalld.service
关闭防火墙命令
$ systemctl stop firewalld.service
重启防火墙命令
$ systemctl restart firewalld.service
设置开机启动命令
$ systemctl enable firewalld.service
禁止开机启动命令
$ systemctl disable firewalld.service
查看是否开机启动命令
$ systemctl is-enabled firewalld.service
3.3 防火墙添加策略
再添加防火墙策略前先确保防火墙为开启状态,然后执行命令。目前只介绍几种常见防火墙策略命令,如有特殊需求的请自行百度,此文章会在以后工作中遇到新需求后持续更新。
1.允许指定ip访问指定端口号
$ firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=”" port protocol="" port="" accept"
例子:
$ firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=“10.92.183.44” port protocol=“tcp” port=“22” accept” #允许10.92.183.44 访问22端口
2.允许指定ip段访问指定端口号
$ firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=“10.92.183.0/24” port protocol=“tcp” port=“22” accept” #允许10.92.183.0网段 访问22端口
3.允许指定ip段访问指定端口段
$ firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=“10.92.183.0/24” port protocol=“tcp” port=“7000-9100” accept” #允许10.92.183.0网段 访问7000-9100端口
参数解读 –permanent
在执行命令时,如果没有带 --permanent 参数表示配置立即生效,但是不会对该配置进行存储,相当于重启服务器就会丢失。如果带上则会将配置存储到配置文件,,但是这种仅仅是将配置存储到文件,却并不会实时生效,需要执行 firewall-cmd --reload 命令重载配置才会生效。
使用–permanent 参数后需重启防火墙策略才会生效
$ firewall-cmd --reload
查看防火墙策略
$ firewall-cmd --list-all