centos打开防火墙端口(centos7查看防火墙状态)
Centos 7防火墙开放端口方法
对于使用CentOS7版本的服务器,特别是搭建网站环境的用户,防火墙的配置成为一项重要且常见的需求。在本文中,我们主要探讨了如何在CentOS7系统上配置防火墙以开放或限制端口。
若使用可视化面板如宝塔面板进行建站,防火墙的设置相对简便。用户直接通过面板添加放行或限制的端口即可。然而,服务器端的安全组设置也需注意,某些服务商会强制使用安全组。
对于直接在服务器端进行SHELL命令操作的情况,本文提供了一个基于firewalld的端口配置方法。通过执行特定的命令,可以查看和管理已开放的端口。操作包括但不限于安装firewalld、开启或关闭常见端口、添加区间端口、开启和重启防火墙、查看端口列表以及禁用防火墙等。
对于仍使用iptables的用户,同样提供了相应的操作步骤。包括查看防火墙状态、暂时或永久关闭防火墙、重启防火墙以及开放指定端口的方法。这些步骤涵盖了通过编辑文件添加规则,保存配置,最后重启防火墙以使规则生效的过程。
综上所述,本文涵盖了CentOS7防火墙配置的基本方法,包括使用firewalld和iptables。无论选择哪种方式,都应根据具体需求灵活运用,确保服务器安全的同时满足业务需求。
如何开放CentOS的端口
Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld。所以,端口的开启还是要从两种情况来说明的,即iptables和firewalld。更多关于CentOs防火墙的最新内容,请参考Redhat官网。
一、iptables
1.打开/关闭/重启防火墙
开启防火墙(重启后永久生效):chkconfig iptables on
关闭防火墙(重启后永久生效):chkconfig iptables off
开启防火墙(即时生效,重启后失效):service iptables start
关闭防火墙(即时生效,重启后失效):service iptables stop
重启防火墙:service iptables restartd
2.查看打开的端口
/etc/init.d/iptables status
3.打开某个端口(以8080为例)
(1)开启端口
iptables-A INPUT-p tcp--dport 8080-j ACCEPT
(2)保存并重启防火墙
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
4.打开49152~65534之间的端口
iptables-A INPUT-p tcp--dport 49152:65534-j ACCEPT
同样,这里需要对设置进行保存,并重启防火墙。
5.其他打开方式
我们还可以通过修改/etc/sysconfig/iptables文件的方式开启端口,如下
vi/etc/sysconfig/iptables
然后在文件中增加一行
-A RH-Firewall-1-INPUT-m state–state NEW-m tcp-p tcp–dport 8080-j ACCEPT
参数说明:
–A参数就看成是添加一条规则
–p指定是什么协议,我们常用的tcp协议,当然也有udp,例如53端口的DNS
–dport就是目标端口,当数据从外部进入服务器为目标端口
–sport数据从服务器出去,则为数据源端口使用
–j就是指定是 ACCEPT-接收或者 DROP不接收
二、firewalld
Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。
1.启动防火墙
systemctl start firewalld
2.禁用防火墙
systemctl stop firewalld
3.设置开机启动
systemctl enable firewalld
4.停止并禁用开机启动
sytemctl disable firewalld
5.重启防火墙
firewall-cmd--reload
6.查看状态
systemctl status firewalld或者 firewall-cmd--state
7.查看版本
firewall-cmd--version
8.查看帮助
firewall-cmd--help
9.查看区域信息
firewall-cmd--get-active-zones
10.查看指定接口所属区域信息
firewall-cmd--get-zone-of-interface=eth0
11.拒绝所有包
firewall-cmd--panic-on
12.取消拒绝状态
firewall-cmd--panic-off
13.查看是否拒绝
firewall-cmd--query-panic
14.将接口添加到区域(默认接口都在public)
firewall-cmd--zone=public--add-interface=eth0(永久生效再加上--permanent然后reload防火墙)
15.设置默认接口区域
firewall-cmd--set-default-zone=public(立即生效,无需重启)
16.更新防火墙规则
firewall-cmd--reload或firewall-cmd--complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态
添加规则,第二个需要断开连接,类似重启服务)
17.查看指定区域所有打开的端口
firewall-cmd--zone=public--list-ports
18.在指定区域打开端口(记得重启防火墙)
firewall-cmd--zone=public--add-port=80/tcp(永久生效再加上--permanent)
说明:
–zone作用域
–add-port=8080/tcp添加端口,格式为:端口/通讯协议
–permanent#永久生效,没有此参数重启后失效
在CentOS的防火墙上开启通行端口的方法
如果希望在服务器上提供服务,诸如CentOS或RHEL的企业级Linux发行版包含内置的强大防火墙,它们默认的防火墙规则十分严格。因此,如果你安装了任何定制的服务(比如web服务器、NFS和Samba),那么它们的流量很有可能被防火墙规则阻塞。所以需要在防火墙上开启必要的端口以允许流量通过。
在CentOS/RHEL 6或更早的版本上,iptables服务允许用户与netfilter内核模块交互来在用户空间中配置防火墙规则。然而,从CentOS/RHEL 7开始,一个叫做firewalld新用户空间接口被引入以取代iptables服务。
使用这个命令察看当前的防火墙规则:
代码如下:
$ sudo iptables-L
现在,让我们看看如何在CentOS/RHEL上修改防火墙来开启一个端口。
在CentOS/RHEL 7上开启端口
启动CentOS/RHEL 7后,防火墙规则设置由firewalld服务进程默认管理。一个叫做firewall-cmd的命令行客户端支持和这个守护进程通信以永久修改防火墙规则。
使用这些命令来永久打开一个新端口(如TCP/80)。
代码如下:
$ sudo firewall-cmd--zone=public--add-port=80/tcp--permanent
$ sudo firewall-cmd--reload
如果不使用“--permanent”标记,把么防火墙规则在重启后会失效。
在CentOS/RHEL 6上开启端口
在CentOS/RHEL 6甚至更早版本系统上,iptables服务负责维护防火墙规则。
使用iptables的第一条命令可以通过防火墙开启一个新TCP/UDP端口。为了永久保存修改过的规则,还需要第二条命令。
代码如下:
$ sudo iptables-I INPUT-p tcp-m tcp--dport 80-j ACCEPT
$ sudo service iptables save
另一种方法是通过一个名为system-config-firewall-tui的命令行用户接口(TUI)的防火墙客户端。
代码如下:
$ sudo system-config-firewall-tui
选择位于中间的“Customize”按钮,按下ENTER键即可。
如果想要为任何已知的服务(如web服务器)修改防火墙,只需勾选该服务,然后关闭工具。如果想要开启任意一个TCP/UDP端口,选择“Forward”按钮,然后进入下一个界面。
选择“Add”按钮添加一条新规则。
指定一个端口(如80)或者端口范围(如3000-3030)和协议(如tcp或udp)。
最后,保存修改过的配置,关闭工具。这样,防火墙就永久保存了。