服务器上特定的端口通常用来提供一些特定的服务,比如 80端口用来提供web服务。服务器为了安全起见,只需要开放特定端口即可。比如如果是 web服务器,只用开放 80,443端口。这里总结一下服务器上,端口相关的一些操作。使用系统是linux centos7。其他的系统类似。
centos7 下对端口的管理可以使用防火墙命令 firewall-cmd 。
centos7 关闭防火墙
systemctl stop firewalld.service
centos7 打开防火墙
systemctl start firewalld.service
查看防火墙的状态
firewall-cmd --state # 输出的内容是 running 表示防火墙正在运行
# 如果出现 not runnting 表示防火墙处于关闭的状态
# 这个命令也可以
systemctl status firewalld.service
输出可能是
查看本台服务器上监听的端口
netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 17920/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1816/nginx: worker
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 697/sshd
tcp6 0 0 :::22 :::* LISTEN 697/sshd
可以看到运行的有 80(web), 443(https), 22(sshd) 这几端口。
查看防火墙可以通行的端口
firewall-cmd --zone=public --list-ports
80/tcp
可以看到了这里仅仅放行了80端口。意思是外网可以链接本台服务器的80端口。
放行443端口(放行/开发特定的端口)
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
关闭443端口(关闭特定的端口)
firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --reload