Quantcast
Channel: 古之技術必有師。
Viewing all 214 articles
Browse latest View live

S小魚仔S CentOS 7 Install Zabbix 3.2 網路監控、系統監控 簡易安裝

$
0
0
建置「Zabbix Server」需要知道幾樣關鍵,由於「Zabbix」 是基於「PHP」及「MySQL」 進行開發,需要搭建「LAMP」環境。

一. 關閉「selinux

vi /etc/sysconfig/selinux


selinux=disabled

reboot

二. 開放「Firewall

sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port=10051/tcp --permanent
sudo firewall-cmd --add-port=10051/udp --permanent
sudo firewall-cmd --reload

三. 「LAMP」( Apache+PHP+MySQL )

YUM」安裝 「Apache

yum install httpd

設定「啟動」httpd
systemctl start httpd

設定 開機自動啟動」httpd
systemctl enable httpd

YUM」安裝 「MySQL (MariaDB)

yum install mariadb-server mariadb

設定「啟動mariadb
systemctl start mariadb

設定 開機自動啟動mariadb
systemctl enable mariadb

YUM」安裝「PHP

yum install php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

重新啟動「httpd.service
systemctl restart httpd.service


四. 安裝「Zabbix 3.2」 Server

RPM」安裝「Zabbix 3.2」Repository (版本庫)

rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

YUM」安裝「Zabbix」套件
PS.
安裝「Zabbix」相關套件: 「zabbix-server-mysql」、「zabbix-web-mysql」、「zabbix-agent」、「zabbix-java-gateway

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway

設定「啟動zabbix-server
sudo systemctl start zabbix-server

設定 開機自動啟動zabbix-server
sudo systemctl enable zabbix-server

五. 編輯「Zabbix」 的 「Apache」 設定檔「/etc/httpd/conf.d/zabbix.conf

vi /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Taipei

重新啟動「httpd.service
service httpd restart

六. 編輯「zabbix_server.conf」修改「資料庫」、「帳號」、「密碼
PS. 
提前 編輯 「zabbix_server.conf」後續建立「MySQL」

vi /etc/zabbix/zabbix_server.conf

DBName=zabbix (預設)
DBUser=zabbix (預設)
DBPassword=123456 (修改)

重新「啟動zabbix-server
sudo systemctl restart zabbix-server

七. 建立 MySQL建立 「Zabbix」帳號

mysql -u root -p
PS
root」沒「密碼」直接「Enter」。

create database zabbix character set utf8 collate utf8_bin;

GRANT ALL PRIVILEGES on zabbix.* to 'zabbix'@'localhost' IDENTIFIED BY '123456';

FLUSH PRIVILEGES;

quit;



八. 初始資料表匯入資料庫「Zabbix

zcat /usr/share/doc/zabbix-server-mysql-3.2.*/create.sql.gz | mysql -u zabbix -p zabbix



九. 重啟「Zabbix」相關「服務

systemctl restart mariadb

systemctl restart httpd.service 

sudo systemctl restart zabbix-server 

sudo systemctl restart zabbix-agent

十. 登入「Web UIhttp://localhost/zabbix

進行「導引安裝


輸入「MySQL」建立「Zabbix」密碼
 


帳號「Admin」、密碼「zabbix」(注意大小寫)



參考資料
www.zabbix.com」-「Zabbix Download

S小魚仔S Windows 安裝 Zabbix 3.2 Agents (二)

$
0
0
如何透過 Windows安裝「Zabbix 3.2 Agents」進行「監控」,官方網站有提供「Zabbix Pre-Compiled Agents」。

1. 開放「Windows-Firewall」TCP-10050 和 UDP-10050

netsh advfirewall firewall add rule name="Zabbix_Agent_TCP(10050) Port" protocol=TCP dir=in localport=10050 action=allow

netsh advfirewall firewall add rule name="Zabbix_Agent_UDP(10050) Port" protocol=UDP dir=in localport=10050 action=allow


2. 修改「zabbix_agent_3.2.5_win.zip」附件 =>「conf/zabbix_agentd.win.conf

Server=192.168.1.X


ServerActive=192.168.1.X

3. 執行「zabbix_agentd.exe」帶參數,呼叫「zabbix_agentd.win.conf」設定檔,加入「服務

zabbix_agentd.exe --config C:\zabbix_agents_3.2.0.win\conf\zabbix_agentd.win.conf --install

4. 執行「zabbix_agentd.exe」帶參數,呼叫「zabbix_agentd.win.conf」開啟「服務」 
PS. 
千萬不要修改「啟動」路徑,否則會「啟動失敗 

zabbix_agentd.exe --config C:\zabbix_agents_3.2.0.win\conf\zabbix_agentd.win.conf --start




5. 登入「Zabbix Server」 Web UI 監控「Windows


1. 點選「Configuration」
2. 點選「Hosts
3. 點選「Create Host

1. 點選「Host
2.輸入「Host name
3. 選擇「Groups」 (必要)
4. 輸入「Client」監控 IP 和  TCP Port

1. 點選「Templates」,選擇「監控」模組
2. 點選「Select

選擇「Template OS Windows

點選「Add

回到「Host」選項 => 點選「Add

完成「Windows」安裝「Agent」並「監控

參考資料

S小魚仔S Zabbix 3.2 網路監控 安裝 SNMP 套件 (三)

$
0
0
為什麼需要使用「Zabbix」 進行「SNMP」監控,因為許多「網路設備 (防火牆、路由器..)」、「印表機設備」 、「儲存設備 ( NAS....)」並無法安裝「Zabbix Agent」但是都支持「SNMP」監控方式。

SNMP 可以監控那些?  處理器、硬碟、記憶體、端口流量..等

1. Zabbix Server 安裝「SNMP」Package
yum install net-snmp* -y

2. 編輯「snmp」配置「檔案

vi /etc/snmp/snmpd.conf


# First, map the community name "public" into a "security name" ( 預設 廣播字串 public)
#       sec.name              source       community
com2sec notConfigUser  default       public


# Make at least  snmpwalk -v 1 localhost -c public system fast again.

#       name           incl/excl     subtree         mask(optional)

view    systemview    included   .1.3.6.1.2.1.1

view    systemview    included   .1.3.6.1.2.1.25.1.1

view   systemview   included  .1           (加入此行)


#  Make sure mountd is running
proc mountd

#  Make sure there are no more than 4 ntalkds running, but 0 is ok too.
proc ntalkd 4

#  Make sure at least one sendmail, but less than or equal to 10 are running.
proc sendmail 10 1

# Check the / partition and make sure it contains at least 10 megs.
disk / 10000

# Check for loads:
load 12 14 14

3. 啟動「snmpd」並 設定「snmpd」 開機自動執行
service snmpd start 
systemctl enable snmpd

4. 瀏覽「SNMP」服務,是否「開啟」 

netstat -auntp | grep snmp


5. 測試「SNMP」指令,能否獲取「SNMP」Client端 「Hostname」 
 snmpwalk -c public -v 2c 192.168.1.14 sysName


參考資料
維運生存時間」-「snmp安装配置 zabbix snmp监控准备(52)
51cto」-「Zabbix 之 SNMP方式监控

S小魚仔S Zabbix 3.2 監控 Linux Log 檔案 或 文字檔 (四)

$
0
0
首先我們需要知道兩個關鍵,「Zabbix」被控端(Client)需安裝「Zabbix Agent」,透過「Zabbix Agent」進行「監控」,監控分為「主動式」與「被動式」。
監控 Log 檔案 或 文字檔 內文,需使用「主動式」並搭配「正規表達法」(Regular Expression)。

整個流程為 => 建立「模板」=> 建立「應用集」=> 建立「項目

1. 選擇「Linux」監控「文件」賦予「權限
PS. Zabbix Agent 隸屬 群組

chmod o+r yum.log

2. 建立「模板」並套用「主機

1. 點選「組態
2. 點選「模版
3.點選「創建模板

1. 輸入「模版」名稱
2. 加入「Templates」模版群組
3. 加入「監控主機


3. 建立「應用集






4. 建立「項目」編寫「正規表達法



1. 輸入「名稱
2 選擇「Zabbix 端點代理程式 (主動式)

3. 輸入「log[/var/log/yum.log,Updated]
PS 採用「正規表達法」表達法,搜尋「yum.log」如果內文有「Updated」則「紀錄」。
4. 數據類型「日誌
5. 選擇該「應用集名稱
PS 數據更新間隔(秒) 表示「每幾秒」執行一次。




5. 瀏覽「最新數據」檢查「是/否」抓取
PS 如果抓取不到數據,請檢查「/var/log/zabbix/zabbix_server.log」紀錄說明。



參考資料

S小魚仔S Zabbix 3.2 善用 UserParameter 回傳值 搭配 監控與圖形應用 (五)

$
0
0
如果今天想要統計「TCP:80」連線數量,需使用「自定義」和「Zaabix 被動模式」監控實現,使用「UserParameter」進行「」的「傳遞」搭配「Shell Script」,發現「Zabbix Server」二次開發功能非常強大。

1. 建立「http_statistics.sh」編寫「Shell

cd /usr/lib/zabbix/alertscripts
PS.「zabbix」預設放置「script」位置,詳細請見「/etc/zabbix/zabbix_server.conf

vi http_statistics.sh

#!/bin/sh 
netstat -an | grep 192.168.1.13:80 | grep ESTABLISHED | wc -l

2. 賦予「執行權限

chmod a+x http_statistics.sh

3. 修改「zabbix_agentd」配置文件,加入「UserParameter」呼叫「檔案位置

vi /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1 
PS 啟用「功能

UserParameter=http_statistics,/usr/lib/zabbix/alertscripts/http_statistics.sh
PS. 「http_statistics」 就是 「item key」 需要回傳「」,不能重複,後面要使用。

4. 重新啟動「zabbix_agent

sudo systemctl restart zabbix-agent

5. Zabbix Server 測試 獲取 數據

/usr/bin/zabbix_get -s 192.168.1.13 -p 10050 -k "http_statistics"


6. 建立「Template http_statistics」加入「監控主機


1. 點選「組態
2. 點選「模板

 1. 輸入「Template http_statistics
2. 加入「Templates」模版
3. 加入「監控主機

7. 建立「應用項目」與「項目

找到「Template http_statistics」=>「應用集

建立「應用集

點選「項目

1. 輸入「名稱」(任意)
2. 選擇「Zabbix 端點代理程式(被動式)
3. 鍵值 輸入「http_statistics
PS. 對應「UserParameter」參數
4. 輸入「數據更新間隔
5. 加入當前「應用集


8. 建立「圖形」選擇「項目


1. 輸入「名稱
2.  選擇「Template」=>「項目

9. 瀏覽「最新數據




參考資料

S小魚仔S Zabbix 3.2 網路監控 發送 警報 E-mail (六)

$
0
0
設定「Zabbix」E-mail 寄信,需要注意幾個關鍵,Zabbix 預設不支援「SMTP - SSL、TLS」,只支援「SMTP - TCP 25」,若您需要使用「Google Mail」和「Hot Mail」和「Hinet Mail」和「Office 365」則需要安裝「mailx、SSMTP」兩樣套件 並且寫「腳本」,玩 Linux 就是不斷折騰,才能碰出火花。

設定「E-Mail」流程如下
設定「示警媒介類型」=> 設定「用戶」=>設定「動作」。


一. 設定「示警媒介類型」(SMTP)

1. 點選「管理
2. 點選「示警媒介類型
3. 點選「Email

設定「SMTP」相關訊息

二. 設定「用戶」輸入「Email」

1. 點選「管理
2.點選「用戶

加入寄信「Email」Address

三. 設定「動作

1. 點選「組態
2. 點選「動作
3. 點選「Report Problems To Zabbix Administrators」( Default )

1. 點選「組態
2. 點選「動作
3. 點選「操作
4. 點選「新的」 ( 加入 E-mail Action )

1. 選擇「用戶
2. 選擇「Email
3. 點選「新增

點選「更新

Recovery Operations ( 恢復操作 ) ..設定方式 以此類推







S小魚仔S Zabbix 3.2 觸發 Trigger 產生 Alert (七)

$
0
0
設定「Zabbix」Tigger,需要使用「Zabbix iregexp」(正規表式)、「Zabbix Trigger expression兩樣技能,會一樣即可。

以下觀念需要建立

1. Template (建立 模版)
2. Item (項目) => 寫「Script」收集數據。
3. Tigger (觸發器) => 設定「收集數據」條件值,產生「Alert
4. Action (動作) => 觸發「主機」與「Tigger」則發送「E-mail

本篇文章使用「Zabbix Trigger expression」進行配置,基礎配置就不再講,已經配置完成「模版」和「應用集」和「項目」直接重點「Tigger」(告警)配置,。


Zabbix iregexp」設定「位置

Zabbix Trigger expression」設定「位置

1. 輸入「名稱
2. 輸入「{Template Linux Log File Monitor:log[/var/log/yum.log,Updated].count(10)}>0
指定「範本名稱」讀取「Log File」檢查「Updated」字串數量,10秒以內 數量 大於 0產生警告。
PS. 參考範本如下
{<Server Name>:<Key>.<Function>(<Parameter>)}<Operator><Constant>
{<Template Name>:<Key>.<Function>(<Parameter>)}<Operator><Constant>



1. 點選「項目」就會看到「觸發器」清單。

1. 點選「監測中
2. 點選「觸發器
3.  過濾「應用集
4. 如果有 觸發資訊就會有 欄位出現了.

參考資料
Zabbix Document」-「Trigger Expression

S小魚仔S Royal TS 3.2.4 使用小技巧

$
0
0
每次使用「Royal TS」都有需要「調整」部分,「重新安裝」會忘記,趕快記錄下來。

如何保持「Royal TS」登入「最後設定


點選「Options


Application Start 選擇「Open Documents from last session


遠端」登入「Linux」(中文) 總是顯示「亂碼」 ,修改「Advanced」=>「 Encoding」=>「utf-8」編碼



如何「載入」SSH 遠端登入「Private Key」*.ppk



透過「Terminal Console」登入「網路設備」選擇「COM」Port



S小魚仔S Zabbix 3.2 網路監控 Windows Event Log (八)

$
0
0
1. 設定「Items
2. 輸入「Name」名稱 
3. 選擇「Zabbix Agent (Active)
4. 輸入「Key
eventlog[Security,,"Success Audit",,^4624$,,skip]


Key  詳細解說

參數一: Security :事件的日誌名稱 ( Log Name ) 

參數三: Success Audit :事件的 Severity (登入成功) (KeyWords)

參數五:^4624$ :使用正規表示法,匹配事件 ID 等於 4624 的Log。 

參數七:skip :不監控已產生的歷史紀錄,如果省略skip,會監控出符合以上條件的歷史紀錄。

5. Type Of Information「Log
6.Application「Windows Event Log Monitor

瀏覽最新數據



參考資料
启程的Linux博客」-「Zabbix 日志监控之监控 Windows 用户登录

S小魚仔S Zabbix 3.2 網路監控 Windows Services And Restart (九)

$
0
0
~~~~ Zabbix Agent Config配置 ( zabbix_agentd.win.conf ) ~~~~

;允許「執行」遠端「命令
 EnableRemoteCommands=1 

;允許「紀錄」遠端「命令」 
LogRemoteCommands=1

重新啟動「Zabbix Agent



~~~~ Zabbix Server 配置 ~~~~

設定「項目」( Item)

類型 (Type)「Zabbix 端點代理程式 (被動式)
鍵值 (Key)「service_state[wuauserv]」( Windows Update 服務)

瀏覽「最新數據

1. 點選「監測中」 
2. 點選「最新數據」 
3. 過濾「條件
PS. 
Windows Update」啟動為「0
Windows Update」未啟動為「6

設定「觸發器」 (Tigger)

表示式「{Template Windows Update:service_state[wuauserv].min(#3)}<>0
PS.
獲取 最後「3」個數據「最小值」,如果 不等於「0」則 「觸發警告」。


 設定「動作」(Action)


動作部份是採用「A&B&C」(三個條件都要符合)

添加「主機」(Host)

添加「觸發器」(Tigger)


設定完成


 添加「操作

1. 操作類型「遠端命令
2. 目標清單 選擇「主機
3. 類型「自訂腳本
4. 執行在「Zabbix 端點代理程式(被動式)
5. 輸入「net start "wuauserv"」Windows Script

~~ 到此就設定完成 ~~

參考資料

S小魚仔S CentOS 7 Install Grafana 產生 Graphics Analytic (一)

$
0
0
安裝「Grafana」透過 兩種方法「Install via YUM Repository」或「Installing From Binary Tar File

本篇使用「Install via YUM Repository

;修改「Hostname」
hostnamectl set-hostname Grafana

;開啟「防火牆」TCP 3000
sudo firewall-cmd --add-port=3000/tcp --permanent 

重新啟動「防火牆」 
sudo firewall-cmd --reload

;關閉「Selinux
vi /etc/sysconfig/selinux     
SELINUX=disabled

;「重新開機
reboot

;建立 grafana「 repository」(版本庫)
vi /etc/yum.repos.d/grafana.repo

;內容如下
[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

;使用「yum」安裝「grafana
sudo yum install grafana -y

;啟動「grafana-server」
sudo service grafana-server start

;開機「自動」啟用「grafana-server」
sudo systemctl enable grafana-server.service

;安裝「Grafana」For「Zabbix」套件
sudo grafana-cli plugins install alexanderzobnin-zabbix-app

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

;檢查「grafana-server」狀態
systemctl status grafana-server

;檢查「grafana-server」Log
cat /var/log/grafana/grafana.log

;檢查「grafana-server」安裝「zabbix」套件
ls -ll /var/lib/grafana/plugins

登入網址: http://192.168.1.13:3000
User Name: admin (Default) 
User Password: admin (Default)

參考資料
Shunze 學園」-「酷炫的Grafana流量繪製套件

S小魚仔S Windows Powershell .ps1 檔案無法載入

S小魚仔S Zabbix 3.2 善用 UserParameter 回傳 Windows PowerShell 值 (十)

$
0
0
如何善用「Zabbix」UserParameter 回傳「Windows PowerShell」內容。

建立「Windows PowerShell」( C:\Tmp\Test.ps1 )

判斷「Windows Servers」=>「gpsvc」是/否 為「停止
停止顯示「0
未停止顯示「1

執行結果 如下圖所示
 

編輯「Zabbix Agent」Config 檔


EnableRemoteCommands=1
LogRemoteCommands=1
PS
允許「遠端」發送「命令

 Server = 192.168.1.13 (被動式) 
PS.
指向Zabbix Server IP

  Server Active = 192.168.1.13 (主動式)
PS.
指向 Zabbix Server IP

Hostname = Windows-10
PS.
指向 Windows Client Host Name

UnsafeUserParameters=1
UserParameter=test,powershell.exe -file C:\tmp\Test.ps1
PS.
UnsafeUserParameters=1 ;啟用「參數傳遞」功能
UserParameter=test,powershell.exe -file C:\tmp\Test.ps1 ;執行結果存入「test」參數

重新啟動「Zabbix Agent」Services

net stop "Zabbix Agent"
net start "Zabbix Agent"

測試「Zabbix Server」接收「Zabbix Agent」參數「

/usr/bin/zabbix_get -s 192.168.1.14 -p 10050 -k "test"

接下來就是 設定「模版」(Template) =>「應用」(Application) =>「項目」(Item) =>「告警」(Tigger) =>「動作」(Action)

即可完成「監控」並「告警」觸發「E-mail

參考資料

S小魚仔S Fortigate 5.4.3 設定 SNMP

$
0
0
登入「Fortigate」Web 介面

1. 點選「網路
2. 點選「介面
3. 進入「介面

允許「SNMP」進行「通訊

1. 點選「系統管理
2. 點選「SNMP
3. 勾選「SNMP 引擎」啟用
4.點選「建立新的

1. 輸入「public」廣播名稱
2. 輸入「允許」通訊「網段
3. 選擇「介面

啟用「SNMP」相關「Log

如何測試「SNMP」與 Linux「監控 主機」(Zabbix) 是/否 連線完成


Linux 安裝「tcpdump
yum install tcpdump -y

查詢「兩端」主機「通訊」,「ens3」是「tcpdump」主機「網卡名稱」介面
tcpdump -n -i ens3 host 10.10.20.254 and 10.10.20.250


S小魚仔S CentOS 7 Install Docker 簡易配置

$
0
0
因為一份巧遇,使用「Docker」,Linux Kvm 和 Linux Docker「中國企業」使用最多。

~~~ Install Docker ~~~

#安裝「Docker
sudo yum install docker -y

#啟用「Docker
sudo service docker start

#開機自動「啟動」Docker
sudo chkconfig docker on

#啟用「Docker」狀態
sudo service docker status

~~~ Install Docker Web UI ~~~

# 啟用 「Docker UI
# -d 讓「Docker」容器在背景運行。
# -p 「內部」容器 使用「外部端口」(Host) IP:9000 對應「內部端口」(Images) 。
docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker


#檢查「Docker UI」服務
docker ps

使用「Firefox」登入「Docker Web UI


~~~ 如何尋找「Docker」Images ~~~

輸入「docker search ntopng -s10
PS
搜尋「前10名」Ntopng 受歡迎「映像檔 (Images)」。
登入「https://hub.docker.com/」也行。

下載「sudo docker pull docker.io/lucaderi/ntpong-docker」映像檔 (Images)

透過「https://hub.docker.com/」找到「lucaderi/ntpong-docker」使用方法

輸入「docker run --net=host -t -p 3000:3000 lucaderi/ntopng-docker

安裝完成,透過「瀏覽器」就可以順利登入「ntopng


參考資料
dockone.io」-「Docker 管理工具 Web UI:DockerUI & Shipyard

S小魚仔S 探索 Docker Bridge 相關原理。

$
0
0
對於「Docker」網路 與「傳統」虛擬化「網路」非常不一樣,透過示意圖來看一下。

Docker」會創建名為「Docker0」的「虛擬網路橋接器」(Virtual Network Bridge),用來連接「宿主」(Host) 與「容器」(Container),或者連接不同的「容器(Container)。

Docker」利用「veth pair」技術,在「宿主」(Host) 創建兩個虛擬網絡接口「veth0」和「veth1」( veth pair 技術的特性可以保證無論哪一個「veth」 接收到網路訊息,都會無條件地傳輸給另一方)。

橋接模式(Bridge Mode) 將「veth0」附加到「docker0」保證「宿主」(Host) 的訊息有能力發往「veth0

容器」(Container)與「外部」溝通,必須使用「NAT」,正確說法是「NATP」 (網路位址端口轉換) ,NATP 包含兩種轉換方式,「SNAT」 和「DNAT」。

參考資料

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

$
0
0
因為「工作」業務需求,需要搭建「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

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

$
0
0
編輯「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」收件人

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

$
0
0
光學字符識別(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_64tesseract-osd.x86_64

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

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

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


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

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

#辨識「english.png」圖片
#「eng-ocr」當前目錄「輸出」.txt
#「eng」(英文) 為「字庫」位置
tesseract english.pngeng-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.gifmjorcen.normal.exp0 -l eng batch.nochop makebox
PS
「*.box」和「*.tif」一定要在相同的目錄,否則打不开。

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


開啟「*.tif

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

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

進行「字元庫」封存
tesseract mjorcen.normal.exp0.gifmjorcen.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 unicharsetmjorcen.normal.exp0.tr

mftraining -F font_properties -U unicharset -O unicharsetmjorcen.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」字元庫


參考資料

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

$
0
0
講述「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 圖文辨識系統 (一)
Viewing all 214 articles
Browse latest View live