我們幾個(gè)興趣相投的小伙伴工作之余正在運(yùn)行一個(gè)小型的創(chuàng)業(yè)公司蜈项,沒有充裕的資金芹关,沒有固定的Office,為了選擇一個(gè)合適的企業(yè)數(shù)據(jù)共享方案紧卒,我選擇了西數(shù)的My Cloud存儲設(shè)備侥衬,其雙盤位可組RAID的特性,讓存儲更加安全;
然而轴总,買回來后發(fā)現(xiàn)直颅,My Cloud跟其更面向消費(fèi)級的MyCloud Home比起來,在電腦端幾乎沒有現(xiàn)成的可用軟件怀樟,只有一個(gè)可遠(yuǎn)程網(wǎng)頁訪問的方案功偿,而且那個(gè)網(wǎng)頁的打開速度還奇慢無比,完全沒法用往堡。
由于這個(gè)NAS硬盤支持在局域網(wǎng)內(nèi)Samba方式進(jìn)行掛載械荷,所以想到了通過ddns(Dynamic Domain Name Server,動態(tài)域名服務(wù))的方式來實(shí)現(xiàn)遠(yuǎn)程訪問虑灰。
要進(jìn)行以下步驟吨瞎,假設(shè)你已經(jīng)有一些Linux或
1)首先,你的MyCloud得插在直接連了公網(wǎng)的路由器上穆咐,如果你家是光纖上網(wǎng)颤诀,可能得直接插在光貓上面,對了对湃,你家的光貓得支持端口轉(zhuǎn)發(fā)才行崖叫。另外最重要的一點(diǎn),由于IPv4的地址資源早已耗盡拍柒,導(dǎo)致有很多運(yùn)營商給分配的都是運(yùn)營商分配的私網(wǎng)地址心傀,如果你家對外的IP不是公網(wǎng)地址,可以嘗試跟你的運(yùn)營商打電話溝通斤儿。通常聯(lián)通寬帶給的都是公網(wǎng)地址剧包。
2)設(shè)置阿里云DDNS,有很多流行的DDNS可供選擇往果,比如花生殼疆液,但是據(jù)說免費(fèi)版本的會有限速,而且也不太穩(wěn)定陕贮,所以我使用了阿里云的DDNS服務(wù)堕油,只需要在阿里云上花很少的錢買一個(gè)域名,并拿到AccessKey和AccessScrect肮之,關(guān)于這一點(diǎn)掉缺,請移步:https://help.aliyun.com/knowledge_detail/48699.html
域名購買完后,需要手動建一條A解析記錄戈擒,例如將nas指向0.0.0.0眶明,后面會通過python腳本來調(diào)用接口修改這個(gè)IP地址
3)在這一步,使用我從網(wǎng)上找的python腳本筐高,調(diào)用阿里云的接口來自動的設(shè)置ddns搜囱,這一步可以先在Mac或Linux里進(jìn)行丑瞧;請移步至這里,獲取python調(diào)用的方法:https://my.oschina.net/yysue/blog/1922953
4)找到第3步python腳本及其依賴的python庫蜀肘,進(jìn)行打包绊汹,在Mac上,一般的python2.7庫的安裝目錄為:
? ? /usr/local/lib/python2.7/site-packages/
將該目錄下的aliyun前綴的所有文件和文件夾扮宠,以及一個(gè)jmespath前綴的文件和文件夾西乖,全部打包。例如打包指令為
? ? tar zcvf aliyun-python-lib.tgz aliyun* jmespath*
5)使用SSH登陸MyCloud坛增,默認(rèn)ssh的用戶名為sshd获雕,假設(shè)其IP地址為192.168.1.3,在Linux/Mac的命令行下或Windows的Powershell中輸入
? ? ssh sshd@192.168.1.3
6)ssh登陸進(jìn)MyCloud后收捣,cd進(jìn)入/usr/local/config/目錄典鸡,這個(gè)目錄下有讀寫權(quán)限,所有跟MyCloud的用戶設(shè)置項(xiàng)都會存在這個(gè)目錄下面坏晦,在該目錄下面新建一個(gè)目錄,例如名稱為:ddns
? ? mkdir ddns
7)將第3步和第4步的文件復(fù)制到上一步的目錄中嫁乘,例如使用scp命令:
? ? scp aliyun_ddns.py aliyun-python-lib.tgz sshd@192.168.1.3:/usr/local/config/ddns/
8)登入MyCloud昆婿,解壓上述的aliyun-python-lib.tgz
? ? tar zxvf?aliyun-python-lib.tgz
9)由于上述python的庫沒有在python默認(rèn)的目錄下面,所以我們需要手動設(shè)置一下環(huán)境變量蜓斧,才能運(yùn)行python腳本仓蛆,關(guān)于這一步,我們通過在/usr/local/config/ddns/目錄寫一個(gè)簡單的shell腳本來實(shí)現(xiàn):
touch ddns_update.sh
vi ddns_update.sh
#!/bin/sh
export PYTHONPATH=/usr/local/config/ddns/pylib/
python /usr/local/config/ddns/aliyun_ddns.py
10)在MyCloud的配置文件中添加一條定時(shí)記錄挎春,讓系統(tǒng)每定時(shí)1分鐘看疙,自動調(diào)用一次ddns_update.sh腳本
? ? vi /usr/local/config/config.xml
找到<crond>節(jié)點(diǎn) ,在<list>下面添加一條記錄直奋,例如添加一條ddns_update記錄
然后能庆,找到其緊鄰的power_off節(jié)點(diǎn),進(jìn)行一個(gè)類似的cron設(shè)置脚线,如下:關(guān)于cron的知識搁胆,可以參考這里:https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html
11)完成以上步驟后,重啟MyCloud邮绿,等待一分鐘后檢查阿里云的域名解析記錄的IP地址是否已經(jīng)被自動修改渠旁,如果成功,請繼續(xù)以下步驟船逮;
12)設(shè)置路由器端口轉(zhuǎn)發(fā)顾腊,我使用的是極路由,安裝超級端口轉(zhuǎn)發(fā)插件后配置項(xiàng)如下:
MyCloud需要對外提供的端口為?
80——網(wǎng)頁配置管理 挖胃,由于一般運(yùn)營商會封禁該端口杂靶,我們將路由器對外的8112端口與之綁定
22——MyCloud的SSH登陸默認(rèn)端口
445——MyCloud的Samba服務(wù)端口梆惯,由于一般運(yùn)營商會封禁該端口,我們將路由器對外的8445端口與之綁定(將samba端口改為8445端口后伪煤,windows上需要通過nginx進(jìn)行端口轉(zhuǎn)發(fā)才能訪問加袋,linux和mac無此問題)
分別給出Linux和Mac的掛載方法:
Linux 平臺
1.創(chuàng)建一個(gè)用于掛載的目錄,例如~/mnt
2.使用命令掛載sudo mount -t cifs -o user=username,password=password,port=8445 //nas.****.com/Public/ /mnt -o rw
username和password為系統(tǒng)管理員分配的用戶名和密碼
MacOS平臺
1.打開訪達(dá)>>前往>>前往服務(wù)器抱既,輸入如下:
smb://nas.*****.com:8445/
至此职烧,MyCloud設(shè)置完畢,速度只取決于你家的寬帶速度防泵,不需要通過西數(shù)的服務(wù)器進(jìn)行中轉(zhuǎn)蚀之,兼職不能再爽!