admin管理员组

文章数量:1532440

原文网址:http://www.nasyun/forum.php?mod=viewthread&tid=62598&fromuid=106494
(出处: NAS云论坛)

前言


本文是根据NASYUN论坛的DIY NAS安装万由 U-NAS 版本反馈使用感受活动所做的初体验,系统版本及手册均来自NASYUN论坛。
U-NAS 3.07 版本下载地址及教程手册:
百度云地址:
https://pan.baidu/s/1QDzY2Rs5bWERO9Id-eF3KQ
腾讯微云地址:https://pan.baidu/s/1sC79psz4Zi4O-Eob6DSr0g
本文只是作者本人的一点体会,不妥之处敬请批评指正。
 

第一讲
万由U-NAS能在VMware上安装吗?


对于NAS的玩家来说,要体验一个新的名不见经传的NAS系统,如果需要购买该系统专用硬件,就会感觉有些不方便。如果能先暂时在虚拟机上安装体验一下该系统,那是再好不过的。但万由U-NAS系统能否安装在虚拟机呢?总是要有第一个吃番茄的人啊!那我就为广大坛友们尝试一下吧。

首先我根据NASYUN论坛过的地址,下载了万由U-NAS系统的系统安装教程[3]和U-NAS_3.0.7_X86-64_ZH_DVD_Build_1807121.iso文件。这里讲到要用这个ISO文件生成一个USB盘启动盘。由于我想试着在VMware虚拟机上安装,直接使用ISO文件比用USB盘启动盘更为方便,我为什么要“脱了裤子放屁”呢?所以我决定不做USB盘启动盘,直接用ISO文件来安装。

具体的安装步骤如下:
1. 从File菜单选择创建一个新的虚机
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
2. 选择创建用户自定义的虚机
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
3. 选择默认,按Next
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
4. 选择Installer disc image file (iso) 按 Browse键加载U-NAS_3.0.7_X86-64_ZH_DVD_Build_1807121.iso 文件。这时你可以看到,VMWare检测到了这个系统是一个Debian 8.x 64-bit的Linux系统。继续按Next
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
5. 输入虚机的名字,和所在的位置。我选的名字是“U-NAS”,位置是 “C:\VMs\万由”。继续按Next。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
6. 下一步是选择Processors,我的选择是两个处理器,每个有两个核。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
7. 接下来是虚拟机的内存大小,我选择2G内存。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
8. 接下来是网络,我测试时选的是(NAT),如果你想要自己的子网内都能访问到NAS,建议选择Bridge模式。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
9. 接下来选择I/O控制器类型,就用默认值,继续按Next
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
10. 接下来选择磁盘类型,请用SATA类型,继续按Next
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
11. 接下来要创建虚拟盘,继续按Next
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
12. 在这里我要创建一个2G的虚拟盘作为启动盘用。整个盘为一个单独文件。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
13. 我的启动盘名字是U-NAS-BOOT.vmdk
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
14. 到此虚拟机就基本创建完成了,但仅仅创建启动盘是不够的。我们还需要创建数据盘,才能安装和体验万由U-NAS系统。所以接下来先选择Finish开始安装启动盘,然后我们再关机,添加数据盘。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
15. 按Finish按钮后,就开始进入安装画面了。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
16. 按回车键就开始安装了。安装会持续一段时间,请耐心等等。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;">
17. 直到出现如下画面,安装创建启动盘就完成了。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;">
18. 万由U-NAS系统启动后,现在就可以从控制台登录了。系统默认的用户名是admin,密码是password。但因为没有创建数据盘,我现在会关机,去创建数据盘。有两种办法shutdown虚机,比较粗鲁的是直接从虚机菜单选择“Power Off”。对于Linux系统而言,这样的操作有可能会损毁文件系统。由于我们仅仅只是启动了万由U-NAS系统,虽然有危险,但可以快速关机。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
另一种比较正确的方法是,通过万由U-NAS系统提供的web服务界面去关机。系统启动后,它在控制台上已经显示了该系统的IP地址,通过这个地址,我们就可进入web服务界面。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
用系统默认的用户名和密码就可以登录它的web服务界面。进去以后,你可以看到万由U-NAS系统的主页面了。但此时因为还没有创建数据盘,这个系统还不能做任何体验。所以我们要先关机创建数据盘。在这个web服务界面中选择“Control Panel”-> “Power Options”-> “Shutdown”-> “Apply”就可以完成正确的关机了。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;">
19. 关闭虚机后,选择“Edit Virtual Machine Settings”,然后按“Add”按钮,选择“Hard Disk”,继续按Next。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
20. 仍然要选择SATA类型的盘。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 
21. 接着选择虚拟盘的大小,你可以选择任何自己认为合适的尺寸。然后启动万由U-NAS系统,并使用web服务界面进行安装和系统设定。为了简单起见,我使用“一键设定”的方法。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;">
22. 安装完成后,用“U-File Explorer”打开共享目录,请看如下截图:
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;">

至此,在虚拟机VMWare上安装万由U-NAS系统就全部完成了。

接下来,你就可以对万由U-NAS系统进行各种功能性的体验了。U-NAS-3.0 使用教程[1]对它的基本功能都有详细的说明。我在这里就不赘述了。有兴趣的坛友们可以参阅它,进行各种功能体验。

我在这里想说的是:虽然万由U-NAS系统是个名不见经传的NAS系统,但它的基础Linux系统,与“群晖”,“威联通”等等并无差异。

由于NASYUN的篇幅限制,请看楼下的 【第二讲】万由U-NAS系统的Linux内核简析。

第二讲
万由U-NAS系统的Linux内核简析


我以前为坛友们破解提供过目前比较流行的“群晖”[5]和“威联通”[6]的系统。也对它们的启动盘结构进行过分析。其目的主要是嵌入式Linux的逆向工程教学。万由U-NAS系统现在这个当前版本并没有加密,也不需要破解,可以很方便地安装到各种x86系统的硬件,及虚拟机上。我擅长的领域是在匿名隐私研究,嵌入式linux 逆向工程,因此我在这里暂不对万由U-NAS系统的应用功能部分不做深入细致的分析,只是从它的基础Linux的部分给大家做点简单的分析。也只是作者本人的一点体会,不妥之处敬请批评指正。

当前版本万由U-NAS系统的Linux内核为:Linux U-NAS 3.16.0-6-amd64 #1 SMP Debian 3.16.56-1+deb8u1 (2018-05-08) x86_64 GNU/Linux 这个内核是属于Debian GNU/Linux 8 “Jessie”版本。Debian项目的Salvatore Bonaccorso于2018年5月8日星期二宣布为Debian GNU/Linux 9 “Stretch”和Debian GNU/Linux 8 “Jessie”操作系统系列提供一个新的内核补丁,以修补两个安全漏洞并解决一些回归问题。如果您在Debian GNU/Linux 9 “Stretch”版本上将内核更新到版本4.9.88-1+deb9u1所有这些问题,以及Debian GNU/Linux 8 “Jessie”版本中的3.16.56-1 + deb8u1。敦促所有Debian Stretch和Jessie用户都尽快更新其内核,并在安装新内核版本后重新启动计算机。现在这个万由U-NAS系统的Linux内核,正是属于存在安全漏洞,需要尽快更新补丁的。好在万由U-NAS系统不加密,坛友们可以自行安装更新内核补丁。具体补丁请参考如下:

安全Lutomirski在Linux内核的KVM(基于内核的虚拟机)实现中发现了此新内核更新修复的安全漏洞之一,这可能会允许非特权KVM来宾用户升级其权限或使来宾操作系统崩溃。具体修复补丁的方法,请点击链接查看(CVE-2018-1087)。

此内核更新解决的第二个安全漏洞由Everdox Tech LLC的Nick Peterson以Linux内核处理Mov SS或Pop SS指令提供的异常的方式发现,允许非特权用户导致拒绝服务并导致内核崩溃具。体修复补丁的方法,请点击链接查看(CVE -2018-8897)。

万由U-NAS系统的启动盘大约需要1.2G左右,从如下截图可以看出,它是基于GNU GRUG 2.02操作系统启动管理器的。
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 

在X86架构的机器中,Linux、BSD 或其它Unix类的操作系统中GRUB、LILO 是大家最为常用,应该说是主流。

引导过程简介:
由硬盘启动时,BIOS通常是转向第一块硬盘的第一个扇区,即主引导记录(MBR)。
装载GRUB和操作系统的过程,包括以下几个操作步骤: 
装载记录
基本引导装载程序所做的唯一的事情就是装载第二引导装载程序。
装载Grub
这第二引导装载程序实际上是引出更高级的功能,以允许用户装载一个特定的操作系统。
装载系统。关于Grub启动盘接结构,我在【老骥伏枥-鸡年大礼包】[5] http://www.nasyun/thread-28751-1-1.html那篇文章有非常详细的介绍。有兴趣的坛友们可以参阅它。
引导linux内核后。GRUB把机器的控制权移交给操作系统。
文件系统
一些用户常困惑于GRUB中根文件系统(root file system)这一术语的用法。GRUB的根文件系统与Linux的根文件系统是没有关系的!

万由U-NAS系统的启动盘的结构非常简单清晰,请看如下截图:
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 

它只有一个ext4分区,在/boot/grub/grub.cfg文件中,清楚地描述了启动过程。
加载内核文件:linux   /boot/vmlinuz-3.16.0-6-amd64 root=UUID=1a7bdc6a-7a1d-49a1-a14d-ff09c80458f2 ro  quiet
加载ramdisk文件:initrd  /boot/initrd.img-3.16.0-6-amd64
引导linux内核后,然后挂载该启动盘的ext4分区为根文件系统。不需要解压rootfs,启动过程非常快。我破解过“群晖”[5]和“威联通”[6]的系统,这两个系统的rootfs都需要解压后才能挂载。万由U-NAS系统的启动盘的这种设计,我认为比较优越。启动快,不拖泥带水。当然啦,“群晖”和“威联通” 系统的启动盘有加密的考虑,所以才会那样做,这显然是加密要付出的代价。

万由U-NAS系统的数据盘结构也非常简单清晰,请看如下截图:
" lazyloaded="true" _load="1" style="word-wrap: break-word; margin: 0px; padding: 0px; text-decoration: none; font-style: normal; border: 0px; cursor: pointer;"> 

它也只有一个lvm分区。LVM[7]是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

万由U-NAS系统的启动盘和数据盘结都是本人喜欢的设计式样。非常简单清晰,这样对于NAS系统的数据备份,系统救援,数据恢复等等方面都有好处。

万由U-NAS系统的用户组管理采用的是LDAP集中式认证协议。“群晖”和“威联通” 系统都没有采用这种认证,而是沿用Linux系统的passwd, shadow来做系统的用户组管理的。这也是万由U-NAS系统在设计上的一个亮点。

LDAP[8]是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。那么什么是X.500,而为什么还要有LDAP出现呢? 

X.500是OSI标准体系中的目录服务模型,它包含了命名空间的定义以及查询与更新目录的协议,但是X.500在很多场景下被认为有些“用力过猛”。而LDAP,虽然像X.500一样也为目录提供了数据/命名空间的模型与协议,但它被设计为运行在TCP/IP网络协议栈上(译者注:TCP/IP协议栈是IETF标准化组织定义的,而之前讲的OSI标准体系是区别于IETF的另外一套标准化组织,其实OSI体系更古老,更资深也更复杂,我们现在的互联网是基于TCP/IP的通信协议栈的,而OSI里面是有对应于TCP/IP的通信协议栈的,但由于设备厂家支持较少,最终没有流行起来。IETF与OSI有矛盾但也有合作,互相借鉴很多有价值的东西),所以我们可以把LDAP当成是“减肥”了的X.500。

 

结束语


本文主要是从万由U-NAS系统的Linux内核构造的角度对该系统做了初步的探讨。至于应用功能方面,各种教程已经有很多了。但对于系统结构方面分析的文章基本没有。

对于NAS的玩家来说,目前流行的各种NAS系统基本上都是采用开源的Linux系统,再加上厂商开发的特定硬件,和提供的web服务界面来组成。各种应用功能部分,也以Linux系统提供的开源软件包为基础。因此我认为NAS系统基本上应考虑分为两类:“小而精”与“大而全”。各个厂商在开发自己的产品时,都有自己的定位。那么到底是“小而精”好呢?还是“大而全”好呢?这里面就有一个“性能价格比”的问题了。本人是个技术党,产品市场的分析研究不是本人的长项。但又一点我想强调的是,系统结构开放的NAS本人比较认可。因为我可以根据自己的需要,对系统进行裁剪或添加。这也是为什么我在体验万由U-NAS系统时,会对它的系统结构方面进行分析的原因。

万由U-NAS系统厂商提供的web服务界面,虽然比“群晖”的web服务界面略有逊色,但与“威联通”绝对有一拼。

我的文章中主要提及了万由U-NAS系统的优点部分,并没有提及该系统没有缺点部分。本人即不是“毒舌”,也非“黑客”。万由U-NAS的开发团队开发出这个产品也不容易啊。

版权信息:
VMware Workstation 是2018 VMware Inc的注册商标
万由U-NAS 属于宁波万由电子科技有限公司的开发团队

参考文献:
[1] U-NAS-3.0 使用教程.pdf
[2] U-NAS 快速安装指南.pdf
[3] U-NAS 3.0系统安装教程.pdf
[4] U-Finder 使用教程.pdf
[5] 【老骥伏枥-鸡年大礼包】黑群晖6.02-8451版硬盘自启动,USB启动盘,系统救援盘
[6] 【老骥伏枥-狗年大礼包】嵌入式linux逆向工程,手把手教你作黑威联通
[7] LVM_百度百科 
[8] LDAP_百度百科 

本文标签: 老骥伏枥初体验系统VMwareDIY