阿里云+DDNS-GO+宝塔反向代理内网穿透后使用域名无端口访问内网保姆级教程
linux老运维 2024-09-16 14:05:05 阅读 89
第1章 需求的简介和应用功能的概述
1.1 简介 由于公司没有允许员工使用云服务,同时又需要远程存储家中监控摄像头的数据,笔者决定购买一台NAS设备来解决生活和工作上的问题。在经过多方考虑后,笔者选择了绿联NAS,因为它非常适合初学者,而且自带docker,可扩展性非常高。
但是,想要玩转NAS,必须实现内网穿透。如果不进行内网穿透,那么即使购买了NAS,也无法实现远程访问。由于笔者家里的宽带没有公网IP,所以只能采用DDNS-TO进行内网穿透,但它还是存在一些局限性的,例如连接端口数量上限、带宽容量上限等。此外,如果安装应用程序,还需要在DDNS-TO上添加映射,操作较为繁琐。
然而,DDNS-TO也有其优点,例如支持HTTPS方式访问,安装配置简单等。为了替代DDNS-TO的缺陷并保留其优点,笔者通过学习,决定使用 DDNS-GO、阿里云、NginxWebUI、cloudflare组合来实现我的需求。
1.2 应用功能概述
为了替换DDNS-TO的缺点,笔者决定使用DDNS-GO、阿里云、NginxWebUI下面简单概述这些工具各自的功能和解决的问题。
1.2.1 阿里云
阿里云提供了域名服务,可以申请短期免费或长期付费的域名,并且没有连接端口数量上限和带宽容量上限的限制。此外,用户还可以进行个性化自定义,非常方便。同时,阿里云还提供了API密钥(Accesskey id和Accesskey Secret)以及家庭局域网动态公网IP地址与域名的绑定,在NAS上安装应用程序时,只需要记住应用映射的域名即可。
1.2.2 DDNS-GO
DDNS-GO是一款非常实用的内网穿透工具,仅限于无固定IPV4地址和IPV6地址,但有真实动态IPV4地址的内网环境。如果用户拥有固定IPV6或固定IPV4中的其中一种公网IP地址,则不必关注该工具,也无需安装。需要注意的是,获取公网IP需要将光猫改成桥接,而光猫如何改桥接及光猫开通IPV6因运营商而异,用户需要自行百度或咨询运营商的工作人员。使用DDNS-GO做内网穿透前,必须要确定公网IPV4地址是否真实有效,否则可能会出现问题。
1.2.3 NginxWebUI
NginxWebUI是一款管理Nginx服务器的Web界面,支持在Nginx中添加和删除域名、配置文件等操作。它可以通过docker安装在绿联NAS上,方便用户进行管理。
2.访问你的路由器,找到上网设置,查看你路由器上的公网IP 正常路由器地址:192.168.2.1 192.168.0.1 192.168.31.1
3.如果以上两个公网IP是一致的,这意味着公网动态IPV4地址是真实有效的。如果不一致,则说明当前没有公网IP地址。若出现后者,建议直接联系宽带运营商开通动态IPV4或提供固定IPV6地址。如果这些方式都无法满足需求,可以考虑更换宽带运营商或使用其他内网穿透方式(例如DDNS-TO)。
1.2.3 NginxWebUI
NginxWebUI是一款非常实用的工具,它可以实现反向代理,从而访问内网NAS上安装的应用程序,在访问内网应用之前,需要先经过Nginx进行代理。此外,NginxWebUI还支持根据域名生成免费的SSL证书,并将http请求转化为https请求。
1.2.4 cloudflare
cloudflare是一个全球性的CDN网络,提供了很多有用的功能,例如网站加速、防火墙等。通过将自己的域名指向cloudflare,用户可以隐藏NAS真实的IP地址,避免黑客攻击。同时,它还能够转发URL路径重定向,使用户只需使用域名访问而不用带上特定的端口号。
第2章 各应用的安装配置
2.1 阿里云的注册和域名申请
2.1.1 注册
为了使用阿里云提供的服务,首先需要注册一个账户。如果您已经拥有阿里云账户,则可以直接跳过这一步。在访问阿里云的官方网站后,点击“登录/注册”,按照指示填写信息并完成注册。
2.1.2 域名申请
在注册成功之后,可以开始申请域名。这里推荐申请一个.cn或.com的域名,因为这两种域名是最通用的。在阿里云的控制台中,选择“域名”选项卡,然后按照页面上的提示申请域名。当您完成付款后,就可以获得您自己的域名了。
2.2 DDNS-GO的配置
2.2.1 安装DDNS-GO
DDNS-GO可以通过绿联NAS上的docker进行安装,只需在终端中输入相应的命令即可。
2.2.2 DDNS-GO的配置
在安装完成后,需要进行一些配置工作。首先,在阿里云的控制台中创建一对API密钥,并将其保存起来。然后,在DDNS-GO的设置中输入相关信息,例如域名、密钥等。最后,启动DDNS-GO,测试与阿里云的连接是否正常。
阿里云访问地址:https://www.aliyun.com,支持多种注册方式,自行注册。
2.1.2 申请阿里云 API 的密钥
A.注册并登录阿里云后,双击网站首页右上角的“控制台“并进入。
B.设置权限模式
C.在”AccessKey管理”界面创建AccessKey
D.AccessKey ID和AccessKey Secret申请成功后复制到本地保存,后面安装完DDNS-GO后做动态域名绑定时要用到
2.1.3 注册域名 (有域名的可略过,没域名的买个最便宜的后缀即可)
A.在阿里云首页双击搜索图标,选择域名搜索
使用域名需要进行实名认证,具体操作请根据网站提示完成。注册时选择个人使用即可,不需要进行备案。
2.1.4 添加二级域名
在申请一级域名之后,我们需要再添加一个前缀来变成二级域名。例如,如果一级域名是“huixx.com”,那么可以加上前缀“www”来变成二级域名“www.huixx.cc”。理论上,只要前缀不同,我们就可以拥有无数个二级域名。
A. 申请一级域名后,需要在阿里云的控制台中添加相应的记录来创建二级域名。
2.2 DDNS-GO的安装和配置
2.2.1 安装配置
1.wget https://github.com/jeessy2/ddns-go/releases/download/v6.6.2/ddns-go_6.6.2_linux_x86_64.tar.gz
2.tar-zxvf ddns-go_6.6.2_linux_x86_64.tar.gz
3.cd ddns-go_6.6.2_linux_x86_64
4.sudo ./ddns-go -s install
启动ddns-go
systemctl start ddns-go
设置开机自启
systemctl enable ddns-go
查看运行状态
systemctl status ddns-go.service
9.通过宿主机访问浏览器页面进行配置(如果是gui的安装可以直接浏览器访问127.0.0.1:9876)
2.2.1 配置DDNS-go (安装机器:192.168.2.x:9876)
2.2.3 验证内网穿透
A.登录阿里云上查看二级域名的记录值(绑定的动态公网IP)是否正确,是否正常
B.将pve的8006端口在路由器里做端口映射
C.在公网上用浏览器中域名+端口(例如http://www.huixx.cc:8006)的方式访问pve。如果能正常访问则说明内网穿透鼓捣成功了。为了验证的严谨性,测试终端连接的公网和pve接入的公网的不要不要在同一个局域网内
通过以上步骤的设置基本解决了pve的内网穿透需求。通过在路由器中映射不同的端口,来开通NAS上安装应用的公网访问限制。但仍然有些小瑕疵,例如:
1.使用的是http协议明文访问,未加密。终极目标是使用https协议加密访问。
2.访问时需要带端口,不像正规的网站,并且不同的应用要映射不同的端口,不便于记忆。目标是只使用域名访问,例如:“https://www.huixx.com”。
3.做端口映射还要登录路由器。目标是使用软件程序代替路由器来做映射。
要解决以上问题,需要继续执行后面的工作。
原文链接:DDNS域名内网穿透建站 家里云秒变服务器教程 - 主机测评|Linux运维
上一篇: C语言中typedef的四种用法(附带详细解析!!)
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。