:::

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
echo "set ssl:verify-certificate no" >> ./.lftp/settings
  • 查看 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


Google網站翻譯工具列

站內搜尋