centos 7 开放端口(centos查看端口占用)
Centos 7防火墙开放端口方法
对于使用CentOS7版本的服务器,特别是搭建网站环境的用户,防火墙的配置成为一项重要且常见的需求。在本文中,我们主要探讨了如何在CentOS7系统上配置防火墙以开放或限制端口。
若使用可视化面板如宝塔面板进行建站,防火墙的设置相对简便。用户直接通过面板添加放行或限制的端口即可。然而,服务器端的安全组设置也需注意,某些服务商会强制使用安全组。
对于直接在服务器端进行SHELL命令操作的情况,本文提供了一个基于firewalld的端口配置方法。通过执行特定的命令,可以查看和管理已开放的端口。操作包括但不限于安装firewalld、开启或关闭常见端口、添加区间端口、开启和重启防火墙、查看端口列表以及禁用防火墙等。
对于仍使用iptables的用户,同样提供了相应的操作步骤。包括查看防火墙状态、暂时或永久关闭防火墙、重启防火墙以及开放指定端口的方法。这些步骤涵盖了通过编辑文件添加规则,保存配置,最后重启防火墙以使规则生效的过程。
综上所述,本文涵盖了CentOS7防火墙配置的基本方法,包括使用firewalld和iptables。无论选择哪种方式,都应根据具体需求灵活运用,确保服务器安全的同时满足业务需求。
centos7查看端口是否开放
对于服务器操作系统来说,对外暴露一些不必要的端口都是非常危险的。因此,在管理服务器的时候,知道开放了哪些服务器端口对于运维人员来说算是一项基本技能。下面我们来看看,怎么知道服务器开放了哪些端口。
一、在本机上查看
在CentOS主机上查看当前主机在监听哪些端口的命令是netstat,常用的命令是: netstat-tlunp这个命令会显示出当前主机打开的所有端口,显示结果如下所示,从图中可以看到目前主机上开放的端口tcp端口的22和25,upd的68号端口
而端口名称后面关联了对应的进程名称,如下面图中所示。这里需要注意的是,如果你的服务器是公网服务器,你在公网上开放了22号端口,那么你的主机就会被公网上很多扫描器扫描,然后尝试爆破你的账号密码,来黑掉你的服务器。解决方法一般是通过修改特定服务监听的端口,如下面第二张图中所示,修改后的sshd进程监听的端口有22和63213端口,那么我把这个端口暴露出去,被扫描的纪律就小很多了。
上面这个命令查看的是服务器上的进程对外监听的端口,但是在CentOS7中,默认会打开firewalld防火墙,如果防火墙打开后,默认情况下只会监听在22号端口,也就是说主机对外暴露的端口只有22。如下面图中所示,查看防火墙开放端口的命令是 iptables-save结果如下面第二张图中所示:
如果想增加对外开放的端口,就需要通过防火墙的管理命令firewalld-cmd,例如我想开放80端口,那么命令就是: firewall-cmd--zone=public--add-port=80/tcp--permanent firewall-cmd--reload第一条命令是添加端口,第二条命令是重载防火墙。
看到sucess字样后,再使用iptables-save命令查看端口,可以看到,对外放开的端口增加了80.
如果你的服务器是内网服务器,那么是基本上你的服务器端口只会向内网放开,而不会向公网开放,如果想对公网开放,那么必须通过端口映射来实现,如下面图中所示,在服务器前端再加了一层防火墙。
以我使用的一款防火墙为例,登录以后,进入到管理页面,点击高级选项。然后点击里面的端口映射,就可以看到第二张图中所示的内容,会显示外部端口,内部服务器IP,内部端口。如果将防火墙上的8000端口映射到内部某台服务器的8000端口,那么对外开放的就是8000端口。但是如果把防火墙上的8000端口映射到内部服务器的22端口,那么实际暴露的就是22号端口。以上就是在CentOS 7主机上查看开放端口的所有内容。
二、在其他主机上通过软件侦测
在CentOS 7上有一个比较好用的端口侦测工具叫做nmap,首先看你的主机上是否安装了这个工具,命令是:rpm-qa| grep nmap如果安装了,那么就会显示对应的安装包。
安装完成了以后,就可以使用这个命令来扫描了,扫描的命令格式是: nmap ip_address ip_address就是你要扫描的主机IP地址。如下面图中所示:很快就会显示出这台CentOS7虚拟机对外暴露的端口了,而且注意,这是实际对外暴露的端口。
如何开放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#永久生效,没有此参数重启后失效