更改

跳到导航 跳到搜索
添加4,316字节 、 2019年12月10日 (二) 22:38
创建页面,内容为“记录下qnap ts453bmini的装机流程。 # 购买 ## 京东买的ts453bmini ## 东芝TR200 480G ssd。机器不带硬盘,买了个ssd放第一个盘位,打算…”
记录下qnap ts453bmini的装机流程。

# 购买
## 京东买的ts453bmini
## 东芝TR200 480G ssd。机器不带硬盘,买了个ssd放第一个盘位,打算放常用数据,后面再加机械硬盘。
# 插上电之后,扫码打开网页,按提示一步一步操作就可以了。
# 安装完成后,在同一个路由器下访问机器的ip,就可以访问了。
## 这里遇到一个问题,区域设置成中国,应用商店打不开,然后改成全球就可以了。
# 外网访问
## 装完之后局域网可以访问了,但是想在不在家的时候访问qnap,就得搞定外网访问了。可以通过设置dmz主机搞定。
## 我是上海电信的宽带,光猫是悦me网关(F450G),机器上有管理员账号(useradmin)密码可以登录网关,但是里面没有dmz的设置选项。然后这里需要找到电信客服报修,跟负责维修的师傅说明情况,师傅会把超级管理员密码发给你,然后就可以用超级管理员账号(用户名:telecomadmin)登录了。应用-》高级NAT设置-》DMZ设置。[[文件:F450Gdmz设置.png|600px]]
## 这里有一个坑,设置完之后通过公网ip访问一直没反应,最后突然发现用手机4G网络访问却是正常访问的。不知道是个什么原理,但是原因确实是在自己的网络下访问自己的公网ip请求是到不了自己的网络上的。。。
## 然后是端口,电信应该是拦截了80和443端口的,所以必需改成其他的端口号才能访问。在qts(qnap的操作系统)系统的控制台-》常规设置-》系统管理-》系统端口 里改成自己想要的端口,我是改成5000。
## 所有操作完之后,外网应该就可以访问了,不在家也能操作自己的nas了~
# 家里的ip可能经常会变,然后可以在qts系统的控制台-》myQNAPcloud云服务-》My DDNS 里面,开启ddns服务
# 如果嫌他的域名不要记的话,可以自己注册一个域名,然后qts系统的控制台-》网络与虚拟交换机 -》 DDNS 里面,新增一个自己的DDNS,动态解析域名到家里的ip~
## 我用的是阿里云注册的域名
## 因为我有一台云服务器,所以采用的是nas-》我的服务器-》修改阿里云域名解析的方式。其实可以直接在nas上写个脚本调用阿里云的域名解析接口修改。
## pip install aliyun-python-sdk-alidns
## python脚本dns.py:
<nowiki>
#!/usr/bin/env python
#coding=utf-8

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import DescribeDomainRecordsRequest
from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest
import json;
import sys

client = AcsClient('阿里云accessId', '阿里云secret', 'cn-hangzhou')

if len(sys.argv) != 2:
print('参数错误')
exit()

def setVal(recordId, rr, strType, ip):
request = UpdateDomainRecordRequest()
request.set_accept_format('json')

request.set_RecordId(recordId)
request.set_RR(rr)
request.set_Type(strType)
request.set_Value(ip)

response = client.do_action_with_exception(request)
# python2: print(response)
print(str(response, encoding='utf-8'))

ip = sys.argv[1]

request = DescribeDomainRecordsRequest()
request.set_accept_format('json')

request.set_DomainName("yaosong.live")

response = client.do_action_with_exception(request)
# python2: print(response)
# print(str(response, encoding='utf-8'))
lists = json.loads(str(response, encoding='utf-8'))
for i in lists['DomainRecords']['Record']:
if i['DomainName'] == 'yaosong.live' and i['RR'] == 'nas' and i['Value'] != ip:
setVal(i['RecordId'], i['RR'], i['Type'], ip)
# setVal(i[''])
break;

</nowiki>
## 执行:python3 dns.py IP地址
## 脚本测试没有问题之后,部署一个http服务,能够接收nas发出的ddns请求,我的是<code>https://xxx.yaosong.live/nasdns?hostname=%HOST%&username=%USER%&password=%PASS%&IP=%IP%</code>,服务里面执行python脚本就可以了。
## 我的域名是nas.yaosong.live,然后我就可以通过http://nas.yaosong.live:5000访问我的nas了~

导航菜单