浅谈简单使用CentOS7防火墙及开放端口
概述(官方有更为详细的说明哦)
Firewalld提供动态管理的防火墙,支持网络/防火墙区域,用于定义网络连接或接口的信任级别。它支持IPv4,IPv6防火墙设置,以太网桥和IP集。运行时和永久配置选项分开。它还为服务或应用程序提供了直接添加防火墙规则的接口。
既然是简单使用,那必须教会你怎么查看防火墙状态,以及防火墙的关闭和开启之类的,我们都知道那既然防火墙都开启了,那么它必定是有一些端口的限制,不能说你想通过哪些端口就通过哪些端口,就能访问到我们的主机(也就是服务器了),换句说话,我开放了哪些端口,你才可以通过我开放的这些端口对我的主机进行访问,要不然我们还要防火墙干嘛,谁想进来就进来(还是通过任意端口),防火墙不就成了摆设不成,说到防火墙要还要多说一句,防火墙有软件层面的和物理设置层面的(网络内的一台专业物理设备),那我们这里是所说的是软件层面的防火墙也就是Firewalld,CentOS7以下版本普遍使用的软件防火墙是Firewalld,为什么说是CentOS7以下版本普遍使用的呢?这是因为之前的CentOS版本都是使用的iptables防火墙,那要往深处说,这就要追溯到CentOS7的发展历程及RedHad之间的关系啦,扯远了哈,我们使用防火墙的主要目的是对我们的主机进行安全管理,其中主要的一部分就是端口管理了!
查询防火墙状态
shell
#systemctlstatusfirewalld
execute
[warnerwu@localhost~]$systemctlstatusfirewalld ●firewalld.service-firewalld-dynamicfirewalldaemon Loaded:loaded(/usr/lib/systemd/system/firewalld.service;disabled;vendorpreset:enabled) Active:inactive(dead) Docs:man:firewalld(1)
启动防火墙
注意:防火墙只有管理员或管理员用户组有权限进行管理操作,普通用户则不可以
shell
#systemctlstartfirewalld
execute
[root@localhost~]#systemctlstartfirewalld [root@localhost~]#
你会发现什么也没有,玩linux或osx系统的小伙伴都知道,没有提示那就是最好的提示,说明已经成功啦,有提示时则一会有问题哦
再次查看防火墙状态
shell
#systemctlstatusfirewalld
execute
[root@localhost~]#sudosystemctlstatusfirewalld ●firewalld.service-firewalld-dynamicfirewalldaemon Loaded:loaded(/usr/lib/systemd/system/firewalld.service;disabled;vendorpreset:enabled) Active:active(running)since五2018-09-0700:04:55CST;5minago Docs:man:firewalld(1) MainPID:11339(firewalld) CGroup:/system.slice/firewalld.service └─11339/usr/bin/python-Es/usr/sbin/firewalld--nofork--nopid 9月0700:04:55izj6c3bcx7adgva5dda2e0zsystemd[1]:Startingfirewalld-dynamicfirewalldaemon... 9月0700:04:55izj6c3bcx7adgva5dda2e0zsystemd[1]:Startedfirewalld-dynamicfirewalldaemon. 9月0700:04:55izj6c3bcx7adgva5dda2e0zfirewalld[11339]:WARNING:ICMPtype'beyond-scope'isnotsupportedbythekernelforipv6. 9月0700:04:55izj6c3bcx7adgva5dda2e0zfirewalld[11339]:WARNING:beyond-scope:INVALID_ICMPTYPE:NosupportedICMPtype.,ignorin...-time. 9月0700:04:55izj6c3bcx7adgva5dda2e0zfirewalld[11339]:WARNING:ICMPtype'failed-policy'isnotsupportedbythekernelforipv6. 9月0700:04:55izj6c3bcx7adgva5dda2e0zfirewalld[11339]:WARNING:failed-policy:INVALID_ICMPTYPE:NosupportedICMPtype.,ignori...-time. 9月0700:04:55izj6c3bcx7adgva5dda2e0zfirewalld[11339]:WARNING:ICMPtype'reject-route'isnotsupportedbythekernelforipv6. 9月0700:04:55izj6c3bcx7adgva5dda2e0zfirewalld[11339]:WARNING:reject-route:INVALID_ICMPTYPE:NosupportedICMPtype.,ignorin...-time. Hint:Somelineswereellipsized,use-ltoshowinfull.
嗯嗯,你会发现在已经在运行啦,就是这样子哦,还要多说一句,那如果你对CentOS7或RedHat7足够了解的话,你会很熟悉systemctl是个什么东东,她呀,就是系统服务管理工具,是系统工具,用来管理系统服务的,就这么理解就可以不会错的!之前的CentOS版本都是使用的service进行系统服务管理的哦,关于更多systemctl或service的信息请动手百度或Google,我们简单的说完了,查看防火墙状态以及怎么启动防火墙,那我们的就来说说怎么来开放端口!
查看防火墙开放端口列表
防火墙的端口管理是通过firewall-cmd命令来进行管理的哦,这一点必须要明确,也是你管理系统端口的关键所在,嗯嗯,是她,是她,就是她,她就是这么的如此风骚,哈哈,你拿她一点办法都没有,不你可以把她玩的服服贴贴的,什么呀!你想多了,我什么也没有说哦,是你自己这样想的~
shell
#firewall-cmd--list-all
execute
[root@localhost~]#firewall-cmd--list-all public target:default icmp-block-inversion:no interfaces: sources: services:sshdhcpv6-client ports: protocols: masquerade:no forward-ports: source-ports: icmp-blocks: richrules:
你会发现它如此空旷,没有任何开放端口,嗯,这是一台新装linux系统,你的也许会跟我这个一样,也许会不一样,这个要注意一下
添加开放端口到防火墙
比如我们让80端口开放,其它用户可以访问我的站点
shell
//Step1:加入开放端口到配置文件 #firewall-cmd--zone=public--add-port=80/tcp--permanent --zone=public添加时区 --add-port=80/tcp添加端口 --permanent永久生效 //加载防火墙新配置文件(以root身份输入以下命令,重新加载防火墙,并不中断用户连接,即不丢失状态信息.) firewall-cmd--reload
再次查看防火墙开放端口列表
shell
#firewall-cmd--list-all
execute
[root@localhost~]#firewall-cmd--list-all public target:default icmp-block-inversion:no interfaces: sources: services:sshdhcpv6-client ports:80/tcp protocols: masquerade:no forward-ports: source-ports: icmp-blocks: richrules:
这次你会发现ports对应的多了一个80/tcp,那说明就已经添加到了防火墙开放列表中了
1、firewalld的基本使用
启动:systemctlstartfirewalld
关闭:systemctlstopfirewalld
查看状态:systemctlstatusfirewalld
开机禁用:systemctldisablefirewalld
开机启用:systemctlenablefirewalld
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctlstartfirewalld.service
关闭一个服务:systemctlstopfirewalld.service
重启一个服务:systemctlrestartfirewalld.service
显示一个服务的状态:systemctlstatusfirewalld.service
在开机时启用一个服务:systemctlenablefirewalld.service
在开机时禁用一个服务:systemctldisablefirewalld.service
查看服务是否开机启动:systemctlis-enabledfirewalld.service
查看已启动的服务列表:systemctllist-unit-files|grepenabled
查看启动失败的服务列表:systemctl--failed
3.配置firewalld-cmd
查看版本: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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。