V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
通过以下 Referral 链接购买 DigitalOcean 主机,你将可以帮助 V2EX 持续发展
DigitalOcean - SSD Cloud Servers
p1nk
V2EX  ›  VPS

外网能否访问 vps 中的 127.0.0.1

  •  
  •   p1nk · 2022-02-05 08:48:28 +08:00 · 3989 次点击
    这是一个创建于 811 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是这样,我倒腾了一个甲骨文的 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

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

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

    第 1 条附言  ·  2022-02-06 18:54:52 +08:00

    放弃了

    1. 端口转发转不了,提示我密钥不对,我添加了密钥也没辙;我又重新改成了密码方式连接,还是不行,报什么错忘了

    2. nginx 也不行,按照着步骤一步步做,结果打不开服务器,然后还自动跳转到了 http://notification.netvigator.com/ ?????? 之后查报错,执行 /etc/sysconfig/iptables save 又提示了一堆未找到命令 还出现了明明安装了ggc,结果 ggc -v 提示未找到 ggc 命令

    精疲力尽了,明天就要上班了,没时间浪费在这上面了,有缘再从头折腾吧

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

    ssh -L 1343:127.0.0.1:1343 [email protected]

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

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

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

    你能够在本机通过 127.0.0.7 访问某个端口,就表示这个端口也能通过 138.*访问,如果没办法,那可能是因为防火墙之类的,你检查下就行。
    Tumblr
        9
    Tumblr  
       2022-02-05 12:08:50 +08:00   ❤️ 1
    不能,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 上去,同样可以正常使用。
    harwck
        11
    harwck  
       2022-02-05 18:28:06 +08:00
    你需要 nginx reverse proxy
    qfdk
        12
    qfdk  
       2022-02-05 22:39:56 +08:00 via iPhone
    可以使用 我的 项目
    p1nk
        13
    p1nk  
    OP
       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
        14
    harwck  
       2022-02-06 05:40:55 +08:00   ❤️ 1
    @p1nk 既然你改了 ssh 端口那么建立隧道的时候应该用你自定义的端口,你再去连 22 肯定不通啊

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

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

    端口转发效率最高,由系统原生程序在三层上直接处理,由 eth*转发到 lo 上。nginx 使用 upstream 也可以完成三层反代,但如果上 server 七层反代遇到 https 还需要配置证书,且卸包封包效率下降。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3172 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:53 · PVG 18:53 · LAX 03:53 · JFK 06:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.