一直想买群晖NAS,可是自己又没钱,怎么办?
自己搭建黑群晖啊(滑稽
正好家里有一堆闲置的东西,可以拿来组黑群晖
此教程不包括洗白
需要准备的东西:
- U盘,4G以上的都行,不需要太大,浪费
- 瘦客户机(某宝上有售)
- 硬盘,做黑群晖系统安装和储存文件
- 电脑,用来安装黑群晖系统
1. 下载安装需要的文件
这里提供的是32位CPU最高支持的版本
下载地址:https://pan.baidu.com/s/1EBK_bEiyQb0ROG41Dw4JTA 提取码:lgrr
下载完毕后,双击 SynologyAssistantSetup-5.0-4448.exe ,安装 SynologyAssistant
2. 写入引导镜像
将U盘插入到电脑上,双击 SynologyAssistant/Win32DiskImager.exe ,按下图操作
3. 安装黑群晖系统
安装之前,请将BIOS的硬盘模式设置为ACHI,详情可咨询卖家或自行百度
把U盘插上主机,开机,进入BIOS,将第一引导设置为你的U盘(部分机型开机时按F2选择U盘启动即可,比如华为Gi945),F10保存并重启,会自动进入U盘引导
出现选择项时选择第二项“Nanoboot DSM 5.0-4528 Install/Upgrade”,第二个菜单直接回车,等到出现“DiskStation login”字样时,打开 SynologyAssistant ,找到自己的主机
右键自己的瘦客户机,点安装
选择安装文件,点“下一步”
输入黑群晖账号信息,点“下一步”
然后就会开始安装
等几分钟就会安装好
出现“等待重启”时,留意下主机,如果关机了需要开机
安装成功后即可输入主机IP:5000登录
4. 最后的设置
首次登录会提示创建QuickConnect,没有洗白和没有账号的请跳过
进入 控制面板->更新和还原->更新设置 取消自动更新
进入 控制面板->共享文件夹->新增 添加储存目录
5. 可选选项
通过外网访问NAS
有时候想在外网访问自己家的NAS传输文件,由于黑群晖无法使用 QuickConnect ,所以我们需要端口映射
电信光猫需要超级管理员密码设置端口映射,打个电话给电信就可以问到了
由于群晖需要映射的端口很多(需要映射的端口列表),我就直接映射DMZ主机了
把域名解析到IP上就可以了
电信IP每过几天就会改一下,而且还不知道什么时候改,每过几天手动改一下太麻烦了,所以需要DDNS
群晖系统自带DDNS功能,但是不支持阿里云域名,所以我自己写了一个,放到自己服务器上就行(写的不好QAQ
<?php
//error_reporting(0);
function push($text){
//错误推送
}
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip = $_SERVER["HTTP_CLIENT_IP"];
}elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}elseif(!empty($_SERVER["REMOTE_ADDR"])){
$cip = $_SERVER["REMOTE_ADDR"];
}else{
push("NAS IP获取失败");
$put = file_put_contents('ip.txt',$cip);
exit();
}
if(file_get_contents('ip.txt') != $cip){
function percentEncode($str)
{
$res = urlencode($str);
$res = preg_replace('/\+/', '%20', $res);
$res = preg_replace('/\*/', '%2A', $res);
$res = preg_replace('/%7E/', '~', $res);
return $res;
}
function computeSignature($parameters, $accessKeySecret)
{
ksort($parameters);
$canonicalizedQueryString = '';
foreach($parameters as $key => $value)
{
$canonicalizedQueryString .= '&' . percentEncode($key)
. '=' . percentEncode($value);
}
$stringToSign = 'POST&%2F&' . percentencode(substr($canonicalizedQueryString, 1));
$signature = base64_encode(hash_hmac('sha1', $stringToSign, $accessKeySecret . '&', true));
return $signature;
}
date_default_timezone_set("GMT");
$accessKeyId = '<accessKeyId>';
$accessKeySecret = '<accessSecret>';
$data = array(
'Format' => 'JSON',
'Version' => '2015-01-09',
'AccessKeyId' => $accessKeyId,
'SignatureVersion' => '1.0',
'SignatureMethod' => 'HMAC-SHA1',
'SignatureNonce'=> time().date("is"),
'Timestamp' => date("Y-m-d\TH:i:s\Z"),
'Action' => 'UpdateDomainRecord',
'RecordId' => '', //解析ID,先到域名解析里解析一个IP,再进入 https://api.aliyun.com/#product=Alidns&search=DescribeDomainRecords&api=DescribeDomainRecords¶ms={}&tab=DEMO&lang=PHP 查询解析ID
'RR' => '', //解析前缀
'Type' => 'A',
'Value' => $cip
);
$data['Signature'] = computeSignature($data, $accessKeySecret);
$url = 'https://alidns.aliyuncs.com/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST,count($data));
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = curl_exec($ch);
if(!$result->RecordId){
push("NAS IP解析失败:".$result);
}
echo $result;
$put = file_put_contents('ip.txt',$cip);
}
?>
然后添加计划任务到NAS上就行
既然要从外网通过域名访问,那么SSL必不可少
群晖系统也自带了可免费签发并有小绿锁的SSL证书(我没试过),我就直接把自己的泛域名证书上传上去了
完成了以上的操作,就可以通过 https://nas.yuncaioo.com:5001 访问自己家的NAS了(已取消该域名通过外网访问NAS,那么喜欢D人么?)
已知的问题
无法设置“硬件和电源”选项
有可能是因为瘦客户机没有风扇,导致“风扇设置”没东西
导致我无法保存
↓↓↓ 提示设置成功后退出的提示
我看到这类文章之后,也准备着把旧电脑(旧服务器)改造成NAS,寻思着用来备份数据来着。结果,后来也没有开工、改装。
砰!砰!砰!开门,查水表的!
我在某些论坛上看到,有人在家开NAS被罚了。宽带运营商能侦测到NAS对外提供的网络服务。好像是NAS在某端口挂着一个远程管理的网页暴露了。运营商判他为私用宽带开服。先断他xx天网,然后限他在yy天停网整改,去zz办公室签认错保证书,还派人上门检查。
蜗牛某际好像也还行吧(๑•̀ㅁ•́ฅ)
也不错,但我这个成本是最低的φ( ̄∇ ̄o)
不错点赞
群晖真的特别好用,吹爆!看到博主给的链接是默认的端口,给一个小小的建议:如果要在公网访问,不建议用默认的端口。(毕竟黑群晖不方便更新系统╮(╯▽╰)╭ )
谢谢建议|´・ω・)ノ
|´・ω・)ノ家里的黑群已经跑了半年了
|´・ω・)ノ
穷人配置:
斐讯N1(并夕夕80)
移动硬盘/硬盘+SATA转USB/U盘
双公头Type-A
用起来海星qwq
qwq我有台1u服务器吃灰,本来想当nas,但是电表倒转,暴力扇就像飞机起飞,还是算了
我用我的2U服务器做了一个月的nas 电费泪崩
嘛…毕竟是服务器
群晖有什么优点么 我一直用的WinServer
群晖跨平台啊,自己喜欢哪个用哪个咯
服务跑的太多 积重难返…..有空试一试
woc 你们都有公网ip的吗…
上海有,其他地方不清楚