CentOS 6 与 CentOS 7 两个系统看似只是一个版本的跨越,但是却是很多功能的改变。首先是默认命令行的改变,7改成了systemctl 的命令格式,6的是 service 程序 操作、7则是 systemctl 操作 程序,正好倒过来了。而7的数据库默认安装的是有着MySQL升级版的MariaDB,需要删除这一数据库后才能重新安装MySQL。今天我们要说的是关于防火墙之间的不同,6是iptables、7则是firewalld,这两者之间的命令以及其他的一些使用都有所不同,下面我们来说一下怎么开放端口。另外,我们也会介绍CentOS 7如果不愿意使用firewalld怎么改回iptables的方法。
CentOS 6 iptables 防火墙常用命令
service iptables start 启动
service iptables stop 停止
service iptables restart 重启
service iptables disable 禁止开机启动
service iptables enable 开机启动
service iptables status 查看防火墙状态
显示running/active为开启状态,而什么都没有只有报错就是没开。输入命令后如果没有报错就是开启和关闭成功。
CentOS 7 firewalld 防火墙常用命令
systemctl start firewalld 启动
systemctl stop firewalld 停止
systemctl restart firewalld 重启
systemctl disable firewalld 禁止开机启动
systemctl enable firewalld 开机启动
systemctl status firewalld 查看防火墙状态
显示running/active为开启状态,而什么都没有只有报错就是没开。输入命令后如果没有报错就是开启和关闭成功。
CentOS 7 iptables 防火墙常用命令
systemctl start iptables.services 启动
systemctl stop iptables.services 停止
systemctl restart iptables.services 重启
systemctl disable iptables.services 禁止开机启动
systemctl enable iptables.services 开机启动
systemctl status iptables.services 查看防火墙状态
显示running/active为开启状态,而什么都没有只有报错就是没开。输入命令后如果没有报错就是开启和关闭成功。
CentOS 7 端口教程:
开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent #永久添加80端口(没有permanent重启后失效)
查看80端口是否开放
firewall-cmd --query-port=80/tcp --zone=public #查看80端口是否开启
关闭80端口
firewall-cmd --zone=public --del-port=80/tcp --permanent #永久关闭80端口(没有permanent重启后失效)
所有端口适用,只要将数字改为需要开放的端口数字即可。
CentOS 7 更换为iptables教程以及CentOS 6 放行端口的教程:
首先关闭firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
安装iptables
yum install iptables -y
安装完成后即可使用
开启iptables防火墙
systemctl start iptables.service
systemctl enable iptables.service
查看新防火墙状态
systemctl status iptables.service
running/active为开启
编辑防火墙规则,CentOS 6除命令外均相同
vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
按下esc键输入命令 :wq! 回车保存退出
重启配置,重启防火墙
systemctl restart iptables.service
systemctl enable iptables.service
CentOS 6 的命令则是
service iptables.service restart
service iptables.service enable
接下来输入 netstat -ano 或者 netstat -anp 查看全部放行端口,有就表示成功,没有就表示不成功。
listen代表监听,表示放行成功,如果后面不是listen为不成功。
这就是关于防火墙的几个关键的要素,如果端口不开启的话会导致服务或者与服务相关联的服务全部无法正常工作造成瘫痪,因此如果出现什么问题应该先看一下是否是端口的问题,因为有很多问题都是因为没开端口所导致的。