S小魚仔S 網誌搜尋

2017年5月26日 星期五

S小魚仔S FreeNAS 9.10.2 安裝 與 Volumes 配置 (一)

簡易「配置」圖

選擇「Install/Upgrade

點選「Yes

選擇「安裝」硬碟

點選「Yes
PS
警告」將會格式化「硬碟

輸入「密碼

選擇「Boot via BIOS

進行「安裝中」..

安裝「完畢」,選擇「OK」並「Reboot System


安裝完以後,會有「IP」地址 接著 前往「登入

登入「輸入」帳號、密碼,選擇「Log In」,接著選擇「Exit」不要使用「設定精靈

點選「System」=>「General
Language」(Traditional Chinese)
Timezone」(Asia/Taipei)

接下來就進入「愉快」繁體中文 GUI,然後「分割」( Volumes - 空間 )

點選「Volume Manager

1. 設定「名稱
2. 切割「硬碟」( Stripe ) 模式
PS
RAIDZ」是 在「ZFS」文件系統,採用的軟件「RAID」 解決方案,常見模式如下
Stripe: 模式需要「一顆」硬碟  ( Raid 0 )
Mirror: 模式需要「二顆」硬碟  ( Raid 1 )
RAIDZ1: 模式需要「」硬碟 ( Raid 5 )
RAIDZ2: 模式需要「」硬碟 ( Raid 6 )
Cache Device: 選擇「Cache Device」(快取模式) 建議使用「SSD」(硬碟),可以達到「緩存」加速「效果」。

切割完成「Volumes - 空間」,格式化 ( Volumes ) 



點選「儲存」=>「檢視磁區

完成「Volumes」設定

參考資料
官方網站」-「FreeNas
FreeNAS User Guide」-「Storage
FreeNas Forums」-「Chinese - 中文社區

2017年5月23日 星期二

S小魚仔S Tesseract OCR 使用 jTessBoxEditor 應用篇 (二)

講述「jTessBoxEditor」這套「工具」, 延續「上一篇」(Tesseract OCR) 文章過來,「jTessBoxEditor」其實就是「調整」字庫工具,使用者 提供 來源「圖片」,「jTessBoxEditor」就會產生「對應」座標,達到「字串」解析,首先「瞭解」基礎功能。

jTessBoxEditor」可以直接進行「圖文解析」,主要是依賴「tesseract-ocr\tessdata」內「xxx.traineddata」字元庫。

進行「簡單」測試,使用「tesseract-ocr」內「tesseract」,解析「圖片」內容。

設定「來源」與「目的」位置
 tesseract "D:\Download\OCR\1.gif" "D:\Download\OCR\1.txt"

成功解析

接下來我們打開「jTessBoxEditor」介面

Tools」=>「Merge TIFF」可以進行「多張」TIFF 圖片檔,進行「合併」,如果您有許多「」檔,需要進行「字庫」識別,非常好用。

當我們將「多張」.TIFF 圖檔進行「合併」以後,就可以後續「配置」,使用「tesseract」產生對應「.box」文件

tesseract "D:\Download\OCR\3.tif"D:\Download\OCR\3" batch.nochop makebox

注意「*.tif」與「*.box」檔案名稱需「一致


開啟「jTessBoxEditor」=>「Box Editor」=>「Open」=>「*.tif

這邊就會看到「兩張」圖形,就可以進行「字庫」修改。

產生「*.tr」文件

tesseract "D:\Download\OCR\3.tif" "D:\Download\OCR\3" nobatch box.train


產生「3.tr

後續就是「字元庫 封存」及「合併 字元庫」產生「x.traineddata」並將「檔案」上傳 服務器 到相對應「位置請參考「S魚仔仔S - Centos 7 搭建 Tesseract OCR 圖文辨識系統 (一)

S小魚仔S Centos 7 搭建 Tesseract OCR 圖文辨識系統 (一)

光學字符識別(OCR,Optical Character Recognition)是指對圖片進行掃描,然後對圖像文件進行分析處理,獲取文字及版面信息的過程,Tesseract 的 OCR 引擎最先由 HP 實驗室於1985年開始研發,至1995年時已經成為OCR業內最準確的三款識別引擎之一。然而,HP不久便決定放棄OCR業務,Tesseract 也從此塵封,數年以後,Tesseract 由美國內華達州信息技術研究所獲得,並求諸於 Google 對 Tesseract 進行改進、消除 Bug、優化工作。

當進行「圖文」辨識,不夠精準,必須使用「jTessBoxEditor」工具 ( 需要安裝 JAVA 環境 ),進行「圖文」庫增加 並 放到「字庫」路徑。

~~ 開始進行實作 ~~

;使用「weget」下載「epel-release」資源庫。
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

;安裝「epel-release-latest-7*.rpm」資源庫。
sudo rpm -Uvh epel-release-latest-7*.rpm

#修改「電腦」名稱
hostnamectl set-hostname OCR

#搜尋「tesseract」套件
yum search tesseract

#安裝「tesseract.x86_64
yum install tesseract.x86_64

#安裝「tesseract-devel.x86_64」和「tesseract-osd.x86_64
yum install tesseract-devel.x86_64 tesseract-osd.x86_64

#安裝「tesseract-langpack-chi_sim.noarch」簡體字庫語言包
#安裝「tesseract-langpack-chi_tra.noarch」繁體字庫語言包
yum install tesseract-langpack-chi_sim.noarch tesseract-langpack-chi_tra.noarch

#檢查「tesseract」支持的语言
tesseract --list-langs

將「圖文」上傳「Tesseract」服務器,開始進行「圖文辨識


#  辨識「chin-tra.png圖片
#「chin-ocr-tra」當前目錄「輸出」.txt
#「chi_tra」(繁體) 為「字庫」位置
tesseract chin-tra.png chin-ocr-tra -l chi_tra

# 辨識「chin-sim.png圖片
#「chin-ocr-sim」當前目錄「輸出」.txt
#「chi_sim」(簡體) 為「字庫」位置
tesseract chin-sim.png chin-ocr-sim -l chi_sim

#辨識「english.png」圖片
#「eng-ocr」當前目錄「輸出」.txt
#「eng」(英文) 為「字庫」位置
tesseract english.png eng-ocr -l eng

#檢查「結果
cat eng-ocr.txt


發現「辨識率」不佳,這時候需要使用「jTessBoxEditor」進行「字源庫」增加,首先「瞭解」資料夾結構。

jTessBoxEditor」目錄有「jTessBoxEditor.jar」和「train.bat」都是「執行檔

 目錄「tesseract-ocr」=>「tesseract.exe」這是負責「進行」圖片解析專用,需配合「Windows Command」帶參數。

將源「圖片」使用「小畫家」另存「tif」格式 並 修改圖片「名稱」。
PS
tif」命名格式 [lang].[fontname].exp[num].tif
lang = 語言 
fontname = 字體
比如我們要訓練自定義字庫「mjorcen」字體名「normal」,那麼我們把圖片來源重命名「mjorcen.normal.exp0.jpg」在轉「.tif」。

使用「Windows Command」配合「tesseract.exe」帶參數,產生「*.box
tesseract mjorcen.normal.exp0.gif mjorcen.normal.exp0 -l eng batch.nochop makebox
PS
「*.box」和「*.tif」一定要在相同的目錄,否則打不开。

開啟「jTessBoxEditor」工具,進行「字庫」編輯


開啟「*.tif

打開「*.tif」來源 辨識 字元

修改「*.tif」完成 辨識 字元 並「儲存」( Ctrl+S)

進行「字元庫」封存
tesseract mjorcen.normal.exp0.gif mjorcen.normal.exp0 nobatch box.train

unicharset_extractor mjorcen.normal.exp0.box


封存完會產生「mjorcen.normal.exp0.tr」、「unicharset

建立「Font_Properties.txt」文字檔,去掉「附檔名

Font_Properties」內容寫入「normal 0 0 0 0 0」 表示預設「普通字體

輸入「Windows Command」指令

shapeclustering -F font_properties -U unicharset mjorcen.normal.exp0.tr

mftraining -F font_properties -U unicharset -O unicharset mjorcen.normal.exp0.tr

cntraining mjorcen.normal.exp0.tr

最後會生成五個文件,把目錄下的「unicharset」、「inttemp」、「pffmtable」、「shapetable」、「normproto」這五個文件前面都加上 「normal.

輸入「Windows Command」合併「normal.*」五個文件
combine_tessdata normal.

normal.traineddata」就是我們「完成」字庫來源,上傳到「Tesseract」服務器「/usr/share/tesseract/tessdata」位置
PS
/usr/share/tesseract/tessdata」字元庫

登入「Tesseract」服務器,使用「訓練好的」字庫進行「圖文」辨識,「normal 就是配對「normal.traineddata」字元庫


參考資料

2017年5月17日 星期三

S小魚仔S Grafana 設定 Alert E-mail (二)

編輯「vi /usr/share/grafana/conf/defaults.ini



############### SMTP / Emailing ############
PS「user」與「from_address」要一相同「E-mail」。

[smtp]
enabled = true
host = smtp.163.com:25
user = 123@163.com
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
password = abc114
;cert_file =
;key_file =
;skip_verify = false
from_address = 123@163.com
from_name = Grafana

[emails]
;welcome_email_on_sign_up = false
templates_pattern = emails/*.html

##################

;重新啟動「Grafana」
sudo systemctl restart grafana-server

;檢查「LOG」E-mail 配置「訊息」
/var/log/grafana/grafana.log


接下來配置「Grafana Web UI


 點選「Alert List

點選「Configure Notifications

點選「New Channel

設定「E-mail」收件人

2017年4月25日 星期二

S小魚仔S Centos 6 搭建 L2TP/IPsec VPN

因為「工作」業務需求,需要搭建「L2TP/IPsec VPN」。
使用「strongswan」和「xl2tpd」兩組套件,透過「yum」進行「Install」,原本要使用「Centos 7」搭建,始終沒有成功...網路上「文章」太多「坑坑洞洞」學習不完全..汗。

==修改「電腦」名稱====

vi /etc/sysconfig/network 

NETWORKING=yes 
HOSTNAME=vpn

==關閉「selinux 」====

vi /etc/sysconfig/selinux

SELINUX=disabled 

==重新「啟動」設定值才會生效======

reboot 

===安裝「epel-release」資源庫===

yum install epel-release -y

==安裝「strongswan、xl2tpd」套件=

yum install strongswan xl2tpd -y

===設定「封包轉送」====

vi /etc/sysctl.conf 

net.ipv4.ip_forward = 1

#寫入「設定值
sysctl -p

===設定 「IPsec 連線」====

vi /etc/strongswan/ipsec.conf



#放到「最後面
config setup
  
conn %default
        ikelifetime=60m
        keylife=20m
        rekeymargin=3m
        keyingtries=1
  
conn l2tp
        keyexchange=ikev1 
        left=192.168.8.20  # 外網「IP」 或 內網「IP
        leftsubnet=0.0.0.0/0
        leftprotoport=17/1701
        authby=secret
        leftfirewall=no
        right=%any
        rightprotoport=17/%any
        type=transport
        auto=add

===設定「PSK 驗證」====

vi /etc/strongswan/ipsec.secrets



# PSK 共享密碼 為「vpn
: PSK "vpn"

===設定「L2TP Tunnel」通道====

#編輯「xl2tpd.conf」設定檔
vi /etc/xl2tpd/xl2tpd.conf



[global] 

listen-addr = 192.168.8.20 # 外網「IP」 或 內網「IP」

[lns default]
#設定「VPN」-「Tunnel
ip range = 172.30.10.1-172.30.10.200
local ip = 172.30.10.254
require chap = yes
unix authentication = yes      #使用pam驗證
name = LinuxVPNserver      #後面會用到
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes


#重新啟動「xl2tpd」服務,寫入「設定值
service xl2tpd restart

#檢查「xl2tpd」狀態
service xl2tpd status


===設定「pma 驗證」====

vi /etc/pam.d/ppp




     auth      required        pam_nologin.so
auth      required        pam_unix.so
account required        pam_unix.so
session required        pam_unix.so


===設定「PPP」獲取「DNS」====

vi /etc/ppp/options.xl2tpd



ipcp-accept-local
ipcp-accept-remote
ms-dns  8.8.8.8
ms-dns 168.95.1.1
noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
login   #透過PAP使用系統密碼驗證

===設定「CHAP」連線「帳號、密碼」====

vi /etc/ppp/chap-secrets




#帳號「vpn」、密碼「vpn」,允許「任何」位置
# client  server      secret  IP addresses
     vpn        LinuxVPNserver    "vpn"            *


===設定「PAP」連線「帳號、密碼」====

vi /etc/ppp/pap-secrets




# client server         secret                IP     addresses
       *                   LinuxVPNserver     ""         *

===設定「Server」相關啟動服務====

#啟動「strongswan」服務
service strongswan start

#啟動「xl2tpd」服務
service xl2tpd start



PS 
若經常會遇到「xl2tpd」服務啟動失敗,請檢查「/etc/xl2tpd/xl2tpd.conf」配置檔。

#開機啟動「strongswan」服務
chkconfig strongswan on

#開機啟動「xl2tpd」服務
chkconfig xl2tpd on


#檢查「strongswan」服務
service strongswan status

#啟動「xl2tpd」服務
service xl2tpd status

===設定「Server」防火牆規則====

#開啟「防火牆」規則

iptables -A INPUT -p esp -j ACCEPT # ESP

iptables -A INPUT -p ah -j ACCEPT # AH

iptables -A INPUT -p udp --dport 500 -j ACCEPT # IKE

iptables -A INPUT -p udp --dport 4500 -j ACCEPT # NAT-T

iptables -A INPUT -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT # 強制 l2tp 透過 ipsec 存取。

iptables -t nat -A POSTROUTING -s 172.30.10.0/24 -o eth1 -j MASQUERADE # 轉送「VPN」流量,送往「Interface」。

/etc/init.d/iptables save


#移除「防火牆」阻擋

iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited

/etc/init.d/iptables save

iptables -D FORWARD -j REJECT --reject-with icmp-host-prohibited

/etc/init.d/iptables save

==設定「Windows 10」撥號「L2TP/IPsec VPN」===

設定「網路設定

點選「VPN」=>「新增 VPN 連線

1. 選擇「Windows (內建)」
2. 輸入「L2TP-VPN
3. 輸入「192.168.8.20」IP 或 網域名稱
4. 選擇「L2TP /IPsec (使用預先共用金鑰)
5. 輸入「VPN
6. 選擇「使用者名稱與密碼」...以此類推

設定完以後,在「VPN」網卡介面,選擇「安全性
允許這些通訊協定 勾選「(CHAP)」、「(MS-CHAP V2)」。

撥號進行測試「OK!

參考資料
TU的雜七雜八筆記本」-「CentOS 架 L2TP/IPsec VPN