4-2 synology nas
安裝 snapshot Replication , 才能有快照功能。(檔案格式要設定 brtfs)
修改使用 port ,80,443 標準 port 。 DSM port 預設 5000,5001 (建議修改)。 File 展示 (控制台 -- 應用程式入口 -- file station) 可以指定port
使用 let's Encrypt 憑證,可免除瀏覽器警告訊息。(控制台 -- 安全性 --憑證)。可以自動每三個月更新。需要有對外網頁服務。
對外網頁及File Station
管理系統限制在校內使用
只有特定帳號可以使用 Samba (網路芳鄰)
備份 ftp 伺服器資料 (已不使用)
-
- 控制台 -- 任務排程表,新增--排程任務 --使用者定義指令碼
- 在任務設定--執行命令
- wget -m ftp://帳號:密碼/* -P /volume2/server_backup/
- 如使用南市 DCS 帳號,要有雙斜線如: syps\\user
- (wget 的方法在有中文檔名時會有問題)
-
- 使用 lftp
-
- 在admin 下建立文件 sh/ftp-syps
open ftp.dcs.tn.edu.tw
#指定使用 utf8 編碼
set file:charset utf8
user 帳號 密碼
#遠地目錄
cd /
lcd /volume2/server_backup/syps_stud_ftp
mirror --delete -n
exit
-
-
- 在排程任務中加指令
- /bin/lftp -f /var/services/homes/admin/sh/ftp-syps
-
-
- 如果 dcs.tn.edu.tw ssl 憑証出問題會造成 Fatal error: Certificate verification: unable to get local issuer certificate..
- 在執行的帳號中,建 .lftp/settings 檔,設定略去憑證檢查 set ssl:verify-certificate no
- 查看 synology 中的 /etc/lftp.conf ,它的設定是在 ~/.lftp/settings ,在網路上的資料大多指放在 ~/.lftp/rc
-
- 直接修改 /etc/lftp.conf 也行。
備份到 google 雲端 cloud sync (gmail@gm.syps.tn.edu.tw)
DHCPD
以動態分配 IP ,記錄保留 IP 每次分配到相同 IP。
以兩台 NAS 共用服務,動態 IP 保留區分別為:120.116.25.32~47 及 120.116.25.48~63
直接修改 NAS 中的 dhcp 記錄檔案方式:
sudo vi /etc/dhcpd/dhcpd-eth0-static.conf
格式如下:(配合網路設備登記模組)
dhcp-host=00:00:00:e7:14:00,O101,120.116.24.29,86400
rsync 備份
- 在 synology ,控制台 --檔案服務 --rsync ,啟動並設定一個專屬帳號
- 可以權限處加上 IP 限制。
- 在共用資料夾的設定部份,要提供這個專屬帳號寫入權限。
一般 linux 主機
- 在 /root/rsyncd.secrets 寫入該專屬帳號的密碼,權限設為 600
/usr/bin/rsync -rvlHpogDtS --delete --password-file=/root/rsyncd.secrets /root rsync帳號@nas.syps.tn.edu.tw::backup_path
兩台 nas 備份同步
控制台--檔案服務--進階設定
共用資料夾同步
配合網路印表機掃描功能
建立一個 scan 帳號、密碼,允許此帳號使用 ftp 功能。印表機中設定此帳號掃描存放。
配合 xoops info_whats 模組 ipscan
nas 要開啟網頁服務,供 xoops info_whats 模組讀取目前開機的 mac 資料。
在nas 中安裝 python3 pip 模組
sudo python3 -m ensurepip
sudo python3 -m pip install --upgrade pip
sudo python3 -m pip -V
sudo python3 -m pip install scapy
程式碼部份(放在 /homes/admin/sh 目錄中)



do_ip_scan.sh,要做為訂時任務排程表,檢查是否還在執行中,才不會造成過多的警告信。
#sudo ps aux | grep -i ip_scan.sh | awk '{print $2}' | xargs sudo kill -9 2> /dev/null
if [ -e "/var/services/web/tmp/scaning" ]; then
#不執行
echo "不執行"
# 移除
rm -f "/var/services/web/tmp/scaning"
sudo ps aux | grep -i ip_scan.sh | awk '{print $2}' | xargs sudo kill -9 2> /dev/null
else
#touch "/var/services/web/tmp/scaning"
/var/services/homes/admin/sh/ip_scan.sh
fi
ip_scan.sh (注意程式中的定時連線的代號要修改,和產生放在網頁上的 nmap.txt 檔案位置 配合xoops 模組 nmap掃描結果檔位置)
#!/bin/bash
if [ -e "/var/services/web/tmp/scaning" ]; then
#不執行
echo "不執行"
else
touch "/var/services/web/tmp/scaning"
sudo /bin/python3 /var/services/homes/admin/sh/ip_arp_mt.py > /var/services/web/ip_data/nmap.txt 2> /dev/null
#配合xoops info_whats 模組中的設定 定時連線的代號 如:whatsxxx
/bin/wget -O /dev/null http://www.syps.tn.edu.tw/modules/info_whats/comp.php?do=whatsxxx 2> /dev/null
# 移除
rm -f "/var/services/web/tmp/scaning"
fi
ip_arp_mt.py(注意修改程式中 ip 範圍)
#!/usr/bin/env python3
#使用 arp 方式取得 ip 和 mac
#採多核多緒模式執行
#sudo python3 ip_arp_mt.py
from scapy.all import *
import sys,getopt
from multiprocessing.dummy import Pool as ThreadPool
def get_it(ip):
#arp
arpPkt = Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip, hwdst="ff:ff:ff:ff:ff:ff")
res = srp1(arpPkt, timeout=1, verbose=0)
if res:
print ("IP= " + res.psrc + " , MAC= " + res.hwsrc )
if __name__ == '__main__':
ip_list=[]
for i in range(256):
ip_list.append("120.116.24.%s" % i)
for i in range(254):
ip_list.append("120.116.25.%s" % i)
pool = ThreadPool(4)
res=pool.map(get_it,ip_list)
pool.close()
pool.join()
使用定時機制執行 ip_scan.sh
常見情形,synology 系統更新後,會造成 python3 pip 模組不見了,就得重新再安裝過 pip 模組。
有時 ip _scan 程式可能會卡住,需要手動去刪除執行緒。 雖然在 do_ip_scan.sh 中已做檢查不重複執行,但還是有可能會出錯。造成之後的執行都無法正確,造成警告信反複寄送。需要手動去刪除執行緒 : sudo ps aux | grep -i ip_scan.sh | awk '{print $2}' | xargs sudo kill -9 2> /dev/null
4-1 集中式網站