外网能否访问 vps 中的 127.0.0.1

2022-02-05 08:48:28 +08:00
 p1nk

是这样,我倒腾了一个甲骨文的 VPS ,centos7 ,IP 是 138.x.x.x

我现在能通过宽带或移动数据访问我的 VPS 然后在上面装了一个 Steam 的 ASF 。这个工具在运行了之后,可以在本地通过浏览器打开 127.0.0.1:1343 进行快捷访问、操作

我想请问下能不能做到,让我在外面,用流量或者其他宽带的时候,访问 138.x.x.x:1343 的时候,跳转到 VPS 内部的本地 127.0.0.1:1343

我这两天尝试搜索了端口转发,试了整整两天也没成功。求助下各位大佬

我对这方面纯粹不通,大佬们赐教的时候也麻烦稍微简单易懂些

4315 次点击
所在节点    VPS
15 条回复
tulongtou
2022-02-05 08:50:04 +08:00
nginx 反向代理就完事了
qaqLjj
2022-02-05 08:50:10 +08:00
把甲骨文的相应端口开放应该就可以了把
muzuiget
2022-02-05 08:53:02 +08:00
ssh 隧道就是解决这个问题,除非你只会用 web 面板管理系统。

ssh -L 1343:127.0.0.1:1343 yourname@138.x.x.x

然后你本地电脑访问 127.0.0.1:1343
levinit
2022-02-05 08:58:32 +08:00
整这么麻烦,你看看 asf 这动作的设置,铁定可以设置监听到 0.0.0.0 啊
cpstar
2022-02-05 10:05:19 +08:00
首先端口转发,实验方案是本机 telnet 138.x.x.x 1343
其次端口开放,实验方案是他机 telnet 138.x.x.x 1343

另外,搜了一下,asf 应该不支持绑定 0.0.0.0 ,而且端口不是 1242 么?

如果上 nginx 反代,建议上三层反代
512357301
2022-02-05 11:30:15 +08:00
甲骨文管理后台需要开启相应端口。
防火墙需要放行入站端口
这样基本上就可以了
Maskeney
2022-02-05 11:53:28 +08:00
监听地址改成 0.0.0.0 就能从任何 IP 访问了,如果这个 ASF 不支持更换绑定 IP 的话那就上反代,caddy 最简单,还能全自动 https
gleams
2022-02-05 12:00:55 +08:00
127.0.0.1 表示的是“本机”,只允许本地访问“本机”时使用,其他计算机访问你的 VPS 的时候,无法通过 127.0.0.1 ,而是要用 138.*,127.0.0.1 实际上并不存在。

你能够在本机通过 127.0.0.7 访问某个端口,就表示这个端口也能通过 138.*访问,如果没办法,那可能是因为防火墙之类的,你检查下就行。
Tumblr
2022-02-05 12:08:50 +08:00
不能,127.0.0.1 只能用于本地回环。

你的 VPS 除了 127.0.0.1 之外,应该还有一个内部地址,一般是 10.x.x.x ,你先看看你的 10.x.x.x:1343 是否可用,如果可以,则把 138.x.x.x:1343 转发到 10.x.x.x:1343 即可。当然,防火墙(本机防火墙+web 防火墙)要注意检查。
P.S. 外网的端口不一定和内网一样,比如你可以把 138.x.x.x:1234 转到 10.x.x.x:1343 上去,同样可以正常使用。
azhuge233
2022-02-05 17:14:33 +08:00
harwck
2022-02-05 18:28:06 +08:00
你需要 nginx reverse proxy
qfdk
2022-02-05 22:39:56 +08:00
可以使用 我的 项目
p1nk
2022-02-06 00:40:03 +08:00
早上发了提问之后突然有事出门了一天,晚上才回到家....抱歉这么晚回复


@muzuiget #3
试过了,不行的。提示 ssh: connect to host 138.*.*.* port 22: Connection refused 。搜了几个解决方法也没成功...
这个 22 端口我一直开着呢啊,为啥会拒绝呢?难道是因为我改了 ssh 的默认端口?

@cpstar #5
@Maskeney #7
@harwck #11
请问下 telnet 和 nginx 、caddy ,用哪种更好啊?反正都是折腾,一步到位了更好


还有些大佬的回复就不一一说明了。开了甲骨文端口、改防火墙也还是不能直接连接的,我试过了不行
如果没有其他办法的话,只能明天早上起床试一下 telnet 和 nginx 、caddy 了
harwck
2022-02-06 05:40:55 +08:00
@p1nk 既然你改了 ssh 端口那么建立隧道的时候应该用你自定义的端口,你再去连 22 肯定不通啊

如果用反代就直接 nginx 吧,性能好配置比较简单
cpstar
2022-02-06 10:06:43 +08:00
我再次强调两件事请:
首先你得确定能否做到端口转发(就算反代也得确定反代通不通),判断方法是本机 telnet 端口,看能否打开 tcp 链接;
再次端口可以转发了,端口开放指的是各层面的防火墙,判断方法是外部机器 telnet 端口。
端口无非就两件事情,一是端口有没有绑定,二是端口有没有开放。

telnet 是一个 tcp 连接程序,不是端口转发或者反代程序。另外进行 telnet 连接时候,还可以开 tcpdump 抓包看哪个位置出问题了。

端口转发效率最高,由系统原生程序在三层上直接处理,由 eth*转发到 lo 上。nginx 使用 upstream 也可以完成三层反代,但如果上 server 七层反代遇到 https 还需要配置证书,且卸包封包效率下降。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/831935

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX