刚买了一个入门级的群晖NAS个人云网盘,一直在想既然NAS上自带操作系统,而且又可以通过外部互联网读写网盘上的文件,那么可不可以在个人的NAS网盘上搭建一个SVN服务器呢?

群晖设置

群晖到手以后通过说明书上的设置向导初始化成功之后,通过电脑端访问群晖,在套件中心有丰富的第三方套件可以安装,一直往下拉,果然找到了熟悉的SVN Server
安装好SVN以后开始创建代码仓库以及用户名和密码,参见链接: https://www.doc88.com/p-5857836376020.html,SVN服务器部分只需要关注创建代码仓库及设置用户名密码的部分即可,其他地方我在我的NAS上没找到相应的设置部分,也没有设置成功。

经过一番设置之后点击打开刚刚创建的代码仓库,会发现在最下方出现了访问网址这一栏信息,不过在我刚刚设置完以后访问网址里并不是像上面教程里出现的IPV4地址,而是类似于群晖的Quick Connect ID一样的东西,下图是我现在已经设置好的状态,访问网址为一个IPV4地址:
这个时候直接通过SVN客户端连接,果然连接不上,经过查询得知:此时的SVN服务器是处于一个内部局域网的位置,内部局域网中的所有设备的IPV4地址都是经过一个唯一的公网IPV4地址通过一个服务器虚拟化出来并分配给局域网中挂载的所有设备。也就是说在个人电脑或者群晖NAS中所看到的IPV4地址其实都只是一个局域网内的IP地址,该地址在一个局域网内唯一且可以互相访问,但不能被外部网络直接访问,此时的SVN Server如果想要被外部网络所访问到,只有两种办法:
1.内网穿刺
2.打电话给网络服务商申请一个公网IP

我选择的是后者,因为我的宽带网络是电信的,听说比较好申请,所以我直接打10000找电信客服要了一个公网IP,过程非常顺利,几分钟就搞定了。

服务器连接到外网

公网的IP和非公网的IP日常使用起来并没有什么区别,唯一的区别就是公网的IP可以搭建服务器,但这个时候我并不知道我的公网IP有没有申请成功,然后百度:

“百度搜索IP会直接显示设备所在的公网IP,进入路由器设置查看路由器IP,如果两个IP地址相同则公网IP成功。”

路由器IP地址:

百度到IP地址:

上面两张图只是演示公网IP的判断方法,截至写文章时查询结果已经发生改变。

当时我查询到的结果是两个IP地址不一样,于是又百度了另外一种查询方法:具体操作方式是在cmd中敲:tracert <百度到的IP>如果跳数为1,则为公网IP。链接: 如何判断自己家的宽带是否有公网IP

我tracert的结果为公网IP,但是为什么百度到的IP地址和路由器上的IP地址不一样呢?我怀疑是我家光猫上自带的路由功能已经把IP地址分配好了,所以从光猫出来的信号到了路由器就已经是一个局域网的IP地址了。

登陆光猫查看:果然光猫端显示的IP地址和百度到的IP地址是相同的。

红色圈出来的部分在当时显示的IP为公网IP,由于光猫自带路由功能所以从LAN口出去的IP就已经是经过光猫路由分配好的局域网IP了,接下来去光猫的另一个设置界面关闭光猫路由,设置为桥接模式:手机连入光猫WIFI,或者使用连入光猫网络的电脑,在浏览器中访问192.168.0.1:8080。

具体做法参见链接: 电信光纤天翼网关将默认的路由模式修改为桥接模式

光猫改为桥接模式以后再次登陆路由器的设置页面,将上网方式由“自动获得IP地址”改为“宽带拨号上网”,并输入宽带账号和密码即可重新联网:

DDNS和端口映射

搞定了公网IP之后还需要搞定路由器的DDNS设置和SVN服务器的端口映射,DDNS服务的功能是将不固定的公网IP地址绑定到一个具体的域名上,因为电信给的公网IP属于个人IP,这个IP地址每隔几天或者重新拨号上网就会改变,此时如果在通过以前的公网IP访问服务器,将找不到原来的服务器。通过DDNS服务,可以自动匹配到改变后的IP地址,即每次输入相同的域名,都能访问到原来的服务器。

端口映射的意思是:通过外部设备访问到路由器上的公网IP以后,再将路由和具体群晖设备所在的局域网IP地址以及SVN服务器所占用的端口号连接起来。

DDNS和端口映射的详细解释参见:
链接: svn是什么?如何从外网访问svn服务器?

TP-LINK的DDNS和端口映射设置教程参见:
链接: [云路由器] TP-LINK DDNS动态域名的使用方法
链接: [云路由器] 如何映射服务器到外网

另外SVN服务器也需要在群晖NAS上面分配一个端口号,这个端口号在路由器设置端口映射的时候需要用到,具体设置方法参见:
链接: 群晖SVN Server远程访问

感觉上面“群晖SVN Server远程访问”的链接写的很没有逻辑,博主自己其实也不知道是怎么搞通的,具体只用参考第三条“设置群晖外部访问的路由器配置”就可以了,其他的操作个人觉得没有必要。

结束

至此群晖NAS上的SVN服务器搭建就算完成了,不出意外的话这个时候已经可以通过外网访问自己私有的SVN服务器了。需要注意的是当时在我关闭光猫路由功能并重新设置路由器路由功能以后,我突然通过网络访问不到我的群晖NAS了,这个时候我把NAS重新启动了一下即可继续访问,具体原因我也不知道。

访问NAS上的SVN服务器测试:

群晖NAS搭建SVN服务器过程记录相关推荐

  1. 群晖NAS搭建web服务器,并发布公网可访问 2/4

     系列文章 群晖NAS搭建web服务器,并发布公网可访问 1/4 群晖NAS搭建web服务器,并发布公网可访问 2/4 群晖NAS搭建web服务器,并发布公网可访问 3/4 群晖NAS搭建web服务器 ...

  2. 群晖NAS搭建web服务器并公网可访问 2-4

     系列文章 群晖NAS搭建web服务器并公网可访问 1-4 群晖NAS搭建web服务器并公网可访问 2-4 群晖NAS搭建web服务器并公网可访问 3-4 群晖NAS搭建web服务器并公网可访问 4- ...

  3. 群晖NAS搭建web服务器,并发布公网可访问 1/4

    系列文章 群晖NAS搭建web服务器,并发布公网可访问 1/4 群晖NAS搭建web服务器,并发布公网可访问 2/4 群晖NAS搭建web服务器,并发布公网可访问 3/4 群晖NAS搭建web服务器, ...

  4. 群晖NAS搭建web服务器并公网可访问 1-4

    系列文章 群晖NAS搭建web服务器并公网可访问 1-4 群晖NAS搭建web服务器并公网可访问 2-4 群晖NAS搭建web服务器并公网可访问 3-4 群晖NAS搭建web服务器并公网可访问 4-4 ...

  5. 群晖NAS搭建web服务器,并发布公网可访问 3/4

    系列文章 群晖NAS搭建web服务器,并发布公网可访问 1/4 群晖NAS搭建web服务器,并发布公网可访问 2/4 群晖NAS搭建web服务器,并发布公网可访问 3/4 群晖NAS搭建web服务器, ...

  6. 群晖nas和文件服务器的区别,nas云服务器的区别(群晖nas搭建云服务器)

    其实云存储和普通的网盘或者邮箱是不同的概念 把网盘就说成云存储的,显得云存储. 邮箱就是另一个概念了哈 还有就是你的第一个问题, NAS 是一种采用直接与网络介. NAS存储与私有云有什么区别? 一个 ...

  7. 群晖NAS搭建Docker私服

    公服:dockerhub等(优点:什么都有.缺点:慢,不私有.) 私服:解决公服的缺点. 本文以群晖NAS搭建为例(熟悉Docker的,看了本文,不是群晖也一样操作) 准备说明 1.私服镜像地址(ht ...

  8. 将群晖NAS搭建的网站发布上线【内网穿透】——上(7.X版)

     系列文章 如何在群晖NAS上安装cpolar内网穿透(群晖7.X版) 内网穿透远程群晖NAS--上篇(7.X版) 内网穿透远程群晖NAS--下篇(7.X版) 将群晖NAS搭建的网站发布上线[内网穿透 ...

  9. 群晖NAS搭建WebDV服务手机ES文件浏览器远程访问

    文章目录 1. 安装启用WebDAV 2. 安装cpolar 3. 配置公网访问地址 4. 公网测试连接 5. 固定连接公网地址 转载自cpolar极点云文章:群晖NAS搭建WebDAV服务手机ES文 ...

最新文章

  1. SAP变式配置的完整指南(中英文双语版)
  2. CMMI之需求管理和股票池管理
  3. 第1次作业:谈谈我的看法与感想
  4. 后台获取前台runat=server的select的值
  5. Oracle jdk 历史版本官方下载地址及下载方法
  6. 空间插值方法对比整理
  7. 前端系统学习篇之HTML
  8. unity 3d换装之 SkinMeshRenderer
  9. 100道精选面试题,教你怎样轻松晋级!
  10. 商场超市数据备份方案
  11. 为什么用MongoDB而不用Redis
  12. 关于STM32 IAP升级之为什么APP执行要0x2FFE0000这个数值的原因(基于STM32F446RET6)
  13. mysql 统计男女生人数_数据库查询男女的人数分别是多少?
  14. 算法入门刷题笔记 Day2 K - Coat of Anticubism L - Five-In-a-Row M - Island Puzzl......
  15. 关于 simulink 的 1/z 模块是什么的问题
  16. 测试前如何进行配置项测试?
  17. 【VS2019编辑器第一行默认添加:#define _CRT_SECURE_NO_WARNINGS 1\使用scanf函数报错 解决方案\创建源文件第一行不出现#define _CRT_SECURE】
  18. classicpython是啥_下列被称为classic python 的是
  19. 教育论文中的论证方式
  20. 线性空间一些基本性质的证明

热门文章

  1. Java版AVG游戏开发入门示例[3]——脚本引擎的制作及应用
  2. FFmpeg开发笔记(七):ffmpeg解码音频保存为PCM并使用软件播放
  3. ros1 和 ros2的区别
  4. JavaScript 是什么?
  5. 爱犯错的智能体 – 视觉篇(五):火星人脸的阴影
  6. 打开串口类软件出现安装datasocket.msi,解决方案
  7. 浏览器缓存问题、浏览器数据刷新无效
  8. 不懂物理的前端不是好的游戏开发者(二)—— 物理引擎的学习之路
  9. 数据结构专题-学习笔记:李超线段树
  10. Android Tips - 专业填坑手册