防火墙和安全组
服务器有两种防火墙
- iptables
- firewalld
- 这两个防火墙==只能开一个==,也可以两个都不开,不开就是全部支持访问的意思,我使用的是iptables
iptables
先关闭firewall防火墙
由于CenterOS7.0以上版本并没有预装Iptables,我们需要自行装
# 先查看有没有安装 systemctl status iptables.service # 安装iptables: yum install iptables # 安装iptables-services: yum install iptables-services # 开启防火墙: systemctl start iptables.service # 关闭防火墙: systemctl stop iptables.service # 查看防火墙状态: systemctl status iptables.service # 设置开机启动: systemctl enable iptables.service # 禁用开机启动: systemctl disable iptables.service # 查看filter表的几条链规则(INPUT链可以看出开放了哪些端口): iptables -L -n # 清除防火墙所有规则: iptables -F iptables -X iptables -Z # 给INPUT链添加规则(开放8080端口): iptables -I INPUT -p tcp --dport 8080 -j ACCEPT # 查找规则所在行号: iptables -L INPUT --line-numbers -n # 根据行号删除过滤规则(关闭8080端口): iptables -D INPUT 1
firewall
先关闭iptables防火墙
# 查看防火墙状态: systemctl status firewalld # 开启防火墙: systemctl start firewalld # 关闭防火墙: systemctl stop firewalld # 设置开机启动: systemctl enable firewalld # 禁用开机启动: systemctl disable firewalld # 重启防火墙(每次修改都要重启): firewall-cmd --reload # 开放端口(修改后需要重启防火墙方可生效): firewall-cmd --add-port=80/tcp –permanent # 关闭端口: firewall-cmd --remove-port=8080/tcp --permanent # 查看开放的端口: firewall-cmd --list-ports
为了测试防火墙,我开启了node服务器3000端口,随便返回了一个123456,然后防火墙开启了3000端口后,在本地访问服务器ip地址:3000端口是没返回123456的,我又把两个放回墙都关了,还是不行,百度了之后才知道阿里有个安全组
安全组
可以看到自带有80,3389,22这都是必须开启的通信端口,因为没有3000端口所以才访问不到,加一下就访问得到了,但是3000端口是没意义的,因为访问域名是80端口,除了80端口,其他需要被访问的外部端口只有数据库
贴一下我的开放端口和安全组
打脸了,下图的3000端口和8080都是不需要打开的,只要反向代理出来就行