Centos7下启用端口

2017-09-16  本文已影响0人  走过路过_97c2

今天写了一下node
的小demo,于是想放到阿里云服务器上,但是访问时却发生了错误。考虑了下,觉得问题在于端口号上,我写的node
demo是监听的3000
端口,然而linux
下有防火墙默认只有80
端口开放,于是尝试了下将服务器的3000
端口打开,期间还是遇坑不少,下面就梳理下整个过程:
关闭防火墙
网上的大部分资料都是用iptables
防火墙的,但是阿里云的centos 7
默认防火墙是firewall
。最为简单的方法其实就是关闭我们的防火墙:
查看下防火墙的状态:

systemctl status firewalld
1

这里写图片描述

关闭防火墙:

systemctl stop firewalld
1

这样就解决了,在访问下ip地址:端口号
就可以看到所写的应用啦! 但是这样的问题是很不安全,其实可以将firewall
服务禁用,应用iptables
服务(网上大部分启用端口的资料都是基于iptables
服务)。
安装iptables
由于没有防火墙会造成不安全,所以给服务器安装一应用更广的防火墙iptables
,首先要禁用firewall
,通过yum
安装iptables

systemctil disable firewalldyum install -y iptables-services
1
2

启动iptables
systemctl start iptables
1

启动后可以通过systemctl status iptables
查看状态。
更改iptables规则
将iptables
文件备份下:

cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
1

设置 INPUT 方向所有的请求都拒绝

iptables -P INPUT DROP
1

放开所需端口

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPTiptables -I INPUT -p tcp --dport 3000 -m state --state NEW -j ACCEPT
1
2

保存规则

iptables-save > /etc/sysconfig/iptables
1

设置为开机启动并且重启

systemctl enable iptables.servicesystemctl reboot
1
2

这样就将所需的端口3000
启用,进入到目录下运行node app.js
,就可以来看node
demo啦! 安利下一个小的脚手架: https://github.com/zp1996/lsgo-cli

上一篇 下一篇

猜你喜欢

热点阅读