CentOS无法从外网访问,只能从本地localhost访问

本文介绍了解决SeLinux导致服务器远程访问受限的方法,包括快速关闭、系统默认设置更改及防火墙控制等步骤。

服务器启动后发现只能在本机访问,远程机器无法访问,可能是SeLinux的问题,可以先关一下试试:

如何关闭SeLinux
1、快速关闭SElinux,使用如下命令就可以:
/usr/sbin/setenforce 0 立刻关闭 SELINUX
/usr/sbin/setenforce 1 立刻启用 SELINUX
2、加到系统默认启动里面
echo "/usr/sbin/setenforce 0" >> /etc/rc.local
3、可以编辑配置文件达到同样的目的
vi /etc/selinux/conf
set SELINUX=disabled

不行再试试关闭防火墙,注意,CentOS7以上才能使用systemctl,以下可以通过iptables关闭。 

1.service命令
关闭防火墙:service iptables stop
开启防火墙:service iptables start
重启防火墙:service iptables restart
查看防火墙状态:service iptables status

2.通过:/etc/init.d/iptables 进行操作
关闭防火墙:/etc/init.d/iptables stop(这是临时关闭,关闭的是当前运行的防火墙,重启之后防火墙又会启动,因为它是开机自启动的,它相当于/etc/init.d/iptables start)
查看防火墙状态:/etc/init.d/iptables/status

3.需要改为开机不启动,使用chkconfig命令
永久关闭防火墙: chkconfig iptables off
永久开启防火墙: chkconfig iptables on
查看状态:chkconfig --list iptables

### 解决Node.js应用程序无法通过外部网络访问的问题 对于Node.js应用程序无法外网访问的情况,可以从以下几个方面着手解决问题: #### 防火墙设置检查 确保服务器上的防火墙允许来自外部的连接到达Node.js应用监听的端口。如果使用的是Linux系统,默认情况下可能会有iptables或其他防火墙软件阻止未授权的入站流量。可以通过命令`sudo ufw status`查看Ubuntu系统的防火墙状态,在CentOS上可以使用`firewall-cmd --list-all`来获取当前配置详情[^1]。 为了开放特定端口(假设Node.js服务运行于3000端口),可以在Ubuntu执行如下操作: ```bash sudo ufw allow 3000/tcp ``` 而在CentOS环境下,则应采用以下指令: ```bash sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent sudo systemctl restart firewalld.service ``` #### 端口转发配置调整 当Node.js程序部署在一个私有的内部网络环境中时,可能需要借助路由器或NAT设备来进行端口映射。这一步骤涉及到将公共互联网中的某个端口号指向内网机器的实际IP地址及其对应的本地服务端口。例如,若希望外界能够通过80端口访问位于LAN内的某台计算机所托管的应用实例,则需登录至宽带猫/无线路由管理界面完成相应设定[^2]。 另外一种方法是利用像Cpolar这样的第三方隧道解决方案快速建立安全稳定的内外网通信桥梁。按照官方文档指导安装并启动客户端之后,只需简单几条命令即可轻松创建一条通往目标主机指定进程的有效路径。 #### 绑定服务器公网IP 确认Node.js应用已经绑定了正确的接口地址而不是仅仅限于localhost(127.0.0.1)。通常来说,应该让其监听所有的可用网络适配器(`0.0.0.0`)以便接收到来自任何地方的数据包。修改代码片段如下所示: ```javascript const express = require('express'); const app = express(); // 设置app.listen()函数参数为0.0.0.0:port_number形式 app.listen(process.env.PORT || 3000, '0.0.0.0', () => { console.log(`Server running on port ${process.env.PORT || 3000}`); }); ``` 此外,还需保证该节点所在物理位置确实拥有合法有效的公有IPv4/v6资源可供分配给虚拟机或者容器环境下的子网成员共享使用。如果是云服务商提供的VPS产品一般默认即具备此特性;而对于家庭级ADSL线路而言则往往受限较多,建议联系ISP客服咨询具体情况后再做决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值