网上的大部分资料都是用iptables
防火墙的,但是阿里云的centos 7
默认防火墙是firewall
。最为简单的方法其实就是关闭我们的防火墙:
- 查看下防火墙的状态:
systemctl status firewalld
- 关闭防火墙:
systemctl stop firewalld
这样就解决了,在访问下ip地址:端口号
就可以看到所写的应用啦! 但是这样的问题是很不安全,其实可以将firewall
服务禁用,应用iptables
服务(网上大部分启用端口的资料都是基于iptables
服务)。
安装iptables
由于没有防火墙会造成不安全,所以给服务器安装一应用更广的防火墙iptables
,首先要禁用firewall
,通过yum
安装iptables
:
systemctil disable firewalld
yum install -y iptables-services
启动iptables
systemctl start iptables
启动后可以通过systemctl status iptables
查看状态。
更改iptables规则
- 将
iptables
文件备份下:
cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
- 设置 INPUT 方向所有的请求都拒绝
iptables -P INPUT DROP
- 放开所需端口
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 3000 -m state --state NEW -j ACCEPT
- 保存规则
iptables-save > /etc/sysconfig/iptables
- 设置为开机启动并且重启
systemctl enable iptables.service
systemctl reboot