V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nightma7e
V2EX  ›  问与答

如何通过域名(已申请公网 IP)连接家里的 Ubuntu 服务器?

  •  
  •   nightma7e · 2017-12-09 22:47:47 +08:00 · 9273 次点击
    这是一个创建于 2574 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己在家折腾一个小 Ubuntu 服务器,搭建了 nextcloud 服务,通过电信申请了公网 IP,有华硕 AC68,刷了 koolshare 的梅林固件,安装了 aliddns 插件,申请了域名,已经将 access key 写入了梅林 aliddns 插件里。
    请问之后还需怎么做才能通过域名访问家里的 nextcloud ?
    49 条回复    2017-12-11 19:37:12 +08:00
    ionblue
        1
    ionblue  
       2017-12-09 22:54:23 +08:00 via Android   ❤️ 1
    我认为,以后但凡是问能够百度 /Google 出来答案的问题的账号一律永封。
    wellsc
        2
    wellsc  
       2017-12-09 22:58:03 +08:00
    @ionblue #1 永封应该不至于,善意提醒还是可以的
    zlfzy
        3
    zlfzy  
       2017-12-09 22:58:35 +08:00
    通过电信申请了公网 IP

    你这是有固定 IP 的意思?那还有难度?
    nightma7e
        4
    nightma7e  
    OP
       2017-12-09 22:59:28 +08:00
    @ionblue 我谷歌了很多了,但是可能是外行的原因,关键字总不是很对,得到的答案并不能解决我的问题,所以才来发帖求助一下,能提供一些关键字就好,为我指明一下方向,谢谢。
    whwq2012
        5
    whwq2012  
       2017-12-09 23:03:04 +08:00 via Android
    应该只要端口映射就够了,把内网的你的服务的端口映射到路由器的端口
    nightma7e
        6
    nightma7e  
    OP
       2017-12-09 23:05:54 +08:00
    @whwq2012 谢谢谢谢
    matolv
        7
    matolv  
       2017-12-09 23:06:33 +08:00 via Android
    @ionblue 我觉得 99%it 问题都能 google 搞定,剩下 1%在大公司的保密协议里
    donmen
        8
    donmen  
       2017-12-09 23:08:24 +08:00 via Android   ❤️ 1
    路由器开端口映射到你的 Ubuntu 上,服务器最好静态 IP。
    fetich
        9
    fetich  
       2017-12-09 23:10:57 +08:00
    端口映射。不过需要留意的是像移动等运营商的公网 IP,电信及联通有概率是无法访问的,国外及移动线路均可以。
    nightma7e
        10
    nightma7e  
    OP
       2017-12-09 23:11:31 +08:00
    @matolv 是的,只是我太外行了,找不到关键字,经楼上提醒已经找到方向了,谢谢大家
    nightma7e
        11
    nightma7e  
    OP
       2017-12-09 23:11:48 +08:00
    @donmen 谢谢
    ionblue
        12
    ionblue  
       2017-12-09 23:11:55 +08:00
    @nightma7e 新手直接用花生壳,这个需要路由器支持。动手能力强的,直接用 ngrok 搭建一个内网转发服务。

    @matolv 那些技术性很强的,或者要求经验的问题即使是 google 能搞定的,在 V2 里面问问也无妨。但是这类问题就显得提问者自己没有花功夫了。
    nightma7e
        13
    nightma7e  
    OP
       2017-12-09 23:11:59 +08:00
    @fetich 谢谢
    nightma7e
        14
    nightma7e  
    OP
       2017-12-09 23:15:00 +08:00
    @ionblue 我之前在谷歌搜索的关键字是“如何用通过梅林连接本地 Ubuntu ”。。。
    Junichi
        15
    Junichi  
       2017-12-09 23:18:34 +08:00 via iPhone
    为什么要这么搜索?搜索关键词不是应该写成 外网访问内网服务器??这样搜索出来的文章再按照内容相关程度继续提取关键词二次搜索
    ionblue
        16
    ionblue  
       2017-12-09 23:22:50 +08:00 via Android   ❤️ 1
    @donmen 他的公网 IP 估计是动态的,静态的直接端口转发,动态的估计得用花生壳或者 ngrok 内网穿透。
    donmen
        17
    donmen  
       2017-12-09 23:30:43 +08:00 via Android
    @ionblue 公网 ip 肯定是动态的,他用了阿里云插件同步更新路由器的公网 IP,相当于花生壳服务了。我的意思是 Ubuntu 需要设置内网静态 IP,不然转发到哪儿啊。
    wildplant
        18
    wildplant  
       2017-12-10 00:18:43 +08:00 via iPhone
    端口转发
    kenbody
        19
    kenbody  
       2017-12-10 01:02:19 +08:00 via Android   ❤️ 1
    动态 ip 的话就 ddns+端口转发就好了
    flynaj
        20
    flynaj  
       2017-12-10 02:21:04 +08:00 via Android
    首先你得有个域名,把你的 ip 设到域名 a 记录里面
    bugmenott
        21
    bugmenott  
       2017-12-10 02:30:21 +08:00
    在你发这个帖子之前,第一个搜索结果就是最佳答案
    CEBBCAT
        22
    CEBBCAT  
       2017-12-10 03:07:47 +08:00 via Android   ❤️ 1
    frp 比 ngrok 好用
    //楼上各位说着说着就歪楼了
    Level6
        23
    Level6  
       2017-12-10 07:12:36 +08:00 via iPhone
    建议先学会如何使用百度 特别是 关键字
    cljnnn
        24
    cljnnn  
       2017-12-10 11:34:29 +08:00 via Android
    @Level6 在 v2 用百度,不会被喷吗?
    metrxqin
        25
    metrxqin  
       2017-12-10 11:58:24 +08:00 via Android
    @cljnn 就我个人而言,技术问题主要谷歌搜索,任何跟国内地区、文化、风俗有关的问题使用百度搜索,令人憎恶的是百度公司而不是百度收录的结果,因为结果是意见的集合体。

    回到问题上,参考 https://fnzoo.com/article/info/84484.html 一文,alidns 插件已经实现了动态 IP 映射域名即花生壳的效果,也就是说域名解析没有问题,目前的问题是内网端口映射是否配置妥当。
    Level6
        26
    Level6  
       2017-12-10 12:00:07 +08:00 via iPhone
    @cljnnn #24 在 V2 怎么了 就不吃人饭了?
    Level6
        27
    Level6  
       2017-12-10 12:03:23 +08:00 via iPhone
    @cljnnn #24 难不成你还指望类似楼主这样的新手去翻 Q 用谷歌?到时候又得发一帖 关于怎么谷歌了
    chung
        28
    chung  
       2017-12-10 12:38:56 +08:00 via iPhone
    dmz 到 ubuntu 即可
    7zki
        29
    7zki  
       2017-12-10 12:50:54 +08:00 via Android
    有公网 ip ?有域名?那多简单啊。
    域名在梅林里做个 ddns,然后梅林里端口转发你 ubuntu 的 ssh 端口不就可以了。
    sola97
        30
    sola97  
       2017-12-10 13:42:06 +08:00
    为啥新人搜百度的关键词都这么不关键?还有人直接说百度出来看不懂的
    lxml
        31
    lxml  
       2017-12-10 14:00:22 +08:00 via Android
    @Level6 二楼人家就说了,谷歌了很多了……
    Immortal
        32
    Immortal  
       2017-12-10 14:28:45 +08:00   ❤️ 1
    从楼主发的帖子内容和回复来看
    我觉得人家已经有自己探索过了 只是没找到正确姿势 态度也很诚恳
    楼下一直酸他不自己先 google 的反而没啥意思

    你的问题楼上大佬们回答的差不多了 照着来就行
    Level6
        33
    Level6  
       2017-12-10 15:01:39 +08:00 via iPhone
    @lxml #31 我说的是类似楼主这样的 又没有特指楼主 而且是针对 '在这里用百度会被喷'这句话
    yingfengi
        34
    yingfengi  
       2017-12-10 15:12:23 +08:00 via Android
    路由做端口映射把 Ubuntu 的 ssh 端口映射出去
    然后在路由上做 ddns 动态域名解析
    自己另外的域名的话,可以做别名解析到 ddns 的域名
    jiangyang123
        35
    jiangyang123  
       2017-12-10 15:16:27 +08:00
    另外注意家用宽带是没有 80 端口的
    jiangyang123
        36
    jiangyang123  
       2017-12-10 15:17:49 +08:00
    ddns 有自己的域名的话 可以直接用 dnspod 来做动态域名

    百度一下 dnspod ddns
    congeec
        37
    congeec  
       2017-12-10 15:26:59 +08:00 via iPhone
    @CEBBCAT 周四给人弄内网穿透,frp 在自己的机器上挺好用,在朋友那儿就不行,直接被打脸。最后用 go-http-tunnel 搞定的
    nightma7e
        38
    nightma7e  
    OP
       2017-12-10 20:28:11 +08:00 via iPhone
    @jiangyang123 您好,再请问一下,我有公网 IP 了也没有 80 端口么?
    flyfishcn
        39
    flyfishcn  
       2017-12-10 20:38:04 +08:00
    @jiangyang123
    @nightma7e 又不是公众服务,不用 80 也无所谓啊。用了 80 也很快就会因为没有备案被关。
    azh7138m
        40
    azh7138m  
       2017-12-10 21:01:14 +08:00 via Android
    @nightma7e 我家宽,80 和 22 这种常见端口是不通的
    lengyihan
        41
    lengyihan  
       2017-12-10 21:01:48 +08:00 via Android
    @zlfzy 不是固定 ip,是随机的
    lengyihan
        42
    lengyihan  
       2017-12-10 21:02:04 +08:00 via Android
    用动态域名解析就行了
    nightma7e
        43
    nightma7e  
    OP
       2017-12-10 21:37:40 +08:00 via iPhone
    @azh7138m 谢谢,我今天折腾了一天,端口映射也搜索到教程了,但是还是连不上,我还以为是哪里做的不对,也没好意思再问了
    Bijiabo
        44
    Bijiabo  
       2017-12-10 22:57:58 +08:00   ❤️ 1
    先确定一下有没有公网 IP,没有的话要找运营商要。然后端口转发不要用 80 之类的,找一个不常用的测试一下。
    azh7138m
        45
    azh7138m  
       2017-12-10 23:11:10 +08:00 via Android   ❤️ 1
    @nightma7e 一般是 ISP 把常用端口封掉了而已,我这边 8080 都亡了
    8023
        46
    8023  
       2017-12-10 23:12:44 +08:00 via Android   ❤️ 1
    1. 建好服务器, 内网访问测试, 确保服务器端的软件 /防火墙没有问题.
    2. 买一个域名, 通过一家靠谱的 ddns(动态域名解析)服务解析到你家(可以试试 oray 花生壳). 然后百度搜索“ ip ”查看自家的公网 IP 地址, 然后再 ping 一下域名看看解析所得 ip 是否一致.
    3. 路由器设置端口映射, 将外网的非常用端口(可以试试 10000-65534)映射到内网服务器软件的指定端口(22, 80, 443, 8388...)上.
    4. 访问"ip:外网端口(10000-65534)"测试能否链接, 若能连接表示端口映射成功. 不能连接检查设置或者换个端口.
    5. 访问"域名:外网端口", 大概 就能用了吧...
    allen0125
        47
    allen0125  
       2017-12-10 23:24:52 +08:00 via Android   ❤️ 1
    知道有问题要自己 google 就很了不起似的,就不兴别人并不是伸手党的问个不难的问题讨论一下了,不愿意回答看到标题就走开啊。

    我之前是用在家里用树莓派跑一个 python 脚本,一分钟查询一下本地 ip,对比之前记录的是否有变化如果有变化就带着新的 ip 请求 vps 上用 Django 写的接口,vps 用 nginx 反向代理把相应域名映射到家里面的 ip+端口上,根据接口获得数据的情况,实时的修改 nginx 配置文件重启 nginx。这种方法仅仅是满足了我想折腾的想法,不说别的,vps 的带宽就小的可怜,所以我还是放弃了。准备用域名动态解析服务。
    taojing10
        48
    taojing10  
       2017-12-11 05:55:06 +08:00 via Android
    m 以前有个花生壳,动态 ip 解释
    azh7138m
        49
    azh7138m  
       2017-12-11 19:37:12 +08:00
    看到点赞再说一下吧,家用这种,80,443,8080 是不能用的,这个没得谈,郭嘉要求
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1024 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 20:32 · PVG 04:32 · LAX 12:32 · JFK 15:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.