2018/12/26

proxmox中如果guest的vm file是放在local disk
從web介面是沒有辦法online live migration的

會出現

2018-12-26 12:52:46 starting migration of VM 701 to node 'proxmox2'
2018-12-26 12:52:47 found local disk 'local-zfs:vm-701-disk-0' (in current VM config)
2018-12-26 12:52:47 can't migrate local disk 'local-zfs:vm-701-disk-0': can't live migrate attached local disks without with-local-disks option
2018-12-26 12:52:47 ERROR: Failed to sync data - can't migrate VM - check log
2018-12-26 12:52:47 aborting phase 1 - cleanup resources
2018-12-26 12:52:47 ERROR: migration aborted (duration 00:00:01): Failed to sync data - can't migrate VM - check log
TASK ERROR: migration aborted

要手動下指令

qm migrate vmid nodename --with-local-disks --online

例如
qm migrate 701 proxmox2 --with-local-disks --online

2018/12/08

前不久才寫過安裝bro ids 的文章
最近 2018/11/29 更新版 2.6

今天測試安裝完成
記錄一下過程

make 的時間比之上一版更久了

先修改

/usr/local/bro/etc/node.cfg
interface=eth1 (監聽的mirror port)


make install後先使用 broctl 進行 start 發現無法啟動

先安裝sendmail
yum -y install sendmail

再來有二個檔案要修改

/usr/local/bro/share/bro/broctl/standalone.bro

#@load standalone-layout


/usr/local/bro/share/bro/broctl/auto.bro

#@load local-networks
#@load broctl-config

改完後啟動就沒問題了

接下來在 /etc/rc.local加入

/sbin/ifconfig eth1 promisc
/usr/local/bro/bin/broctl start

然後log的預設路徑變了

/usr/local/bro/spool/bro

接下來就可以把所需的log吐出去了

vi /etc/rsyslog.d/bro.conf

input(type="imfile"
      File="/usr/local/bro/spool/bro/sip.log"
      Tag="bro_sip:"
      Severity="debug"
      Facility="user"
     )

user.debug @2.3.4.5:514


Sverity 使用 debug 才不會寫到 /var/log/messages

2018/12/04

之前反應過的proxmox lxc無法mount nfs的問題
在5.3版解決了



2018/12/02

這二天從m$官網下載了iso回來安裝測試

https://www.microsoft.com/zh-tw/software-download/windows10ISO

裝的時候選的是教育版
但沒有辦法使用KMS試証













google了一下
發現要先把key換成 GVLK

https://it.cornell.edu/software-licensing/updating-kms-mak-installation

https://it.cornell.edu/software-licensing/product-keys-updating-kms-mak-activation

win10的換key指令如下
slmgr.vbs /ipk NW6C2-QMPVW-D7KKK-3GKT6-VCFB2

換完後再次執行KMS認証就OK了



2018/11/26

這二天測試了一下zbackup
一個可以去重複的備份軟体
感覺還不錯
記錄一下
在ubuntu直接 sudo apt install zbackup就可以了
安裝後的第一件事就是建立所需使用的目錄

zbackup init --non-encrypted /my/backup/repo

再來就是備分還原

單檔時備分

cat file_to_backup | zbackup backup /tmp/zbackup/backups/file_to_backup -`date '+%Y-%m-%d'` --non-encrypted

單檔時還原

zbackup restore /my/backup/repo/backups/file_to_backup-`date '+%Y-%m-%d'` --non-encrypted > /my/precious/file_to_backup

備分目錄

tar c /my/precious/data | zbackup backup /my/backup/repo/backups/backup-`date '+%Y-%m-%d'` --non-encrypted

還原目錄

zbackup restore /my/backup/repo/backups/backup-`date '+%Y-%m-%d'` --non-encrypted > /my/precious/backup-restored.tar

測試時有個問題
要把tar解開時會出現

tar: .:無法 utime: 此項操作並不被允許
tar: .:無法變更模式為 rwxrwxr-t: 此項操作並不被允許
tar: 由於先前錯誤而以失敗狀態離開

所以要解開tar時要使用 sudo

zbackup會把備分的檔案切割成許多小檔放在 my/backup/repo/bundles這個目錄內
之後再備分的檔案一樣會再切割 然後跟已存在的小檔比對
如果有不同才會再另存別的小檔
以達到重複資料刪除的目的

2018/11/17

之前有寫到 security onion
裡面有個好用的 bro ids 可以獨立安裝
已經裝起來跑了一段時間了
效果不錯
做個記錄

首先安裝

我是裝在centos 7上 按照文件把該補的rpm補一下
make 時要花一點時間

裝好後修改
/usr/local/bro/etc/node.cfg
裡的監聽interface (使用port mirror)

然後在/etc/rc.local加上
/usr/local/bro/bin/broctl start 開几啟動

所有的相關記錄會放在
/usr/local/bro/logs/current 
歷史資料會按日期分開
分門別類 相當完整 可以依照個自的需求針對某個檔案進行解析

capture_loss.log  files.log        pe.log      software.log  stderr.log  weird.log
conn.log          http.log         radius.log  ssh.log       stdout.log  x509.log
dns.log           known_hosts.log  smtp.log    ssl.log       syslog.log
dpd.log           notice.log       snmp.log    stats.log     tunnel.log

我是利用rsyslog把需要的資料丟出來到graylog
建立/etc/rsyslog.d/bro.conf

範例如下

$InputFileName /usr/local/bro/logs/current/sip.log
$InputFileTag bro_sip:
$InputFileStateFile stat-bro_sip
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor

# check for new lines every second
$InputFilePollingInterval 1
# To the ELSA test server!:
local7.info @1.2.3.4:514


目前graylog的marketplace只有一個Content Pack 是解析從security onion丟來的log
所以如果要統計一下來源 ip要自己再寫一下extractor
而且因為每個log檔的格式不盡相同
所以要依需求產生不同的extractor

2018/11/13

fortiOS 5.2的REST有問題 不要用


最近有個朋友問我有沒有用過fortiget rest的功能 5.2之後提供
其實之前就有再找
只是後來程式都直接用 ssh或telnet去下指令
既然有人問了
就再來找找

一閞始找到的這二個資料
可以查 可以刪 但不能新增 也不能update
所以不要再浪費時間了


直到後來找到這個 完全沒問題啊 而且也不用自己去寫jason格式 而且反應速度相當快

https://github.com/DavidChayla/FortigateApi/blob/master/README.md

記錄一下用法

首先要下載回來後要先 import

import sys
sys.path.append('PATH TO FortigateApi.py')

再來依照文件說明

import FortigateApi

fg = FortigateApi.Fortigate('10.20.30.40', 'root', 'admin', 'mypasswd')

fg.AddFwAddress('srv-A','10.1.1.1/32')

200

fg.GetFwAddress('srv-A')

u'{\n "http_method":"GET",\n "results":[\n {\n "name":"srv-A",\n "q_origin_key":"srv-A",\n "uuid":"2103d064-d520-51e6-de84-16e9ab03b8ae",\n "subnet":"10.1.1.1 255.255.255.255",\n "type":"ipmask",\n "start-ip":"10.1.1.1",\n "end-ip":"255.255.255.255",\n "fqdn":"",\n "country":"",\n "url":"",\n "cache-ttl":0,\n "wildcard":"10.1.1.1 255.255.255.255",\n "comment":"",\n "visibility":"enable",\n "associated-interface":"",\n "color":0,\n "tags":[\n ]\n }\n ],\n "vdom":"dc2",\n "path":"firewall",\n "name":"address",\n "mkey":"srv-A",\n "status":"success",\n "http_status":200,\n "serial":"FWF90D3Z13003141",\n "version":"v5.2.9",\n "build":736\n}'

fg.SetFwAddress('srv-A','10.2.2.2/32')

200

fg.DelFwAddress('srv-A')

200


2018/11/07

SECURITY ONION

一套不錯的網路異常行為偵測系統
包含了很多的工具
直接下載iso就可以安裝完成
試裝了一下 滿方便好裝的
不過要注意硬碟空間及cpu ram
如果資源不夠
跑起來會很辛苦

2018/11/02

之前寫過一篇用obs + nginx 來進行串流
最近找到另一個srs 看來也方便的
記錄一下
以下是官方的安裝步驟

Step 1: get SRS
git clone https://github.com/ossrs/srs && cd srs/trunk

Step 2: build SRS, Requires Centos6.x/Ubuntu12 32/64bits, others see Build(CN,EN).

./configure && make

Step 3: start SRS
./objs/srs -c conf/srs.conf

srs.conf 可依需求進行修改

測試的結果在 linux mint 19 x64 上無法編譯成功
在ubuntu 16.04 x64 及 centos 7 x64 是ok的
ubuntu 18.04 沒試

如果要在centos 7上安裝要補一下 rpm

yum install -y gcc gcc-c++ make patch unzip sudo

再來依上述的步驟執行即可
不過要注意的是
執行後會在几器上開三個port 1935 1985 8080
記得用iptables 限制一下
尤其是8080 是web介面

執行完後利用obs把視訊串流上來
步驟參考之前的po文 要改的是串流的url如下圖
改一下server的ip及相關設定




再來使用vlc觀看

vlc rtmp://1.2.3.4/live/livestream

live及livestream對照上面進行修改

目前測試起來 server 上 srs 的 cpu 吃不到 1 %

但obs的串流相當吃cpu 尤其是解析度高的時候

2018/10/26

https://www.nedi.ch/

這個工具看起來不錯
不過操作有點小複雜
官網上的 https://www.nedi.ch/pub/nebuntu.sh 安裝程序沒用
不要浪費時間
建議直接捉ova回來用
測了一下
真的可以捉到很多資訊
不過有一點
她竟然不是用ip當做唯一值

NeDi requires unique device names, since this is the primary key in the database

目前一堆設備都是用相同的名字
如果為了跑這個 還要全部去改
算了

不過nedi真的是好東西
有需求的可以玩玩

2018/10/21

利用windows 本身的工具取得diskstatus 並傳回log server

wmic diskdrive get model, status > diskstatus.txt

type diskstatus.txt | nc -w 2 -u 1.2.3.4 514

也可以寫成

wmic diskdrive get model, status | nc -w 2 -u 1.2.3.4 514

不過傳到log server的值會分成二行

2018/10/17

記錄一下這二天測試 open-audit的測試結果

安裝在centos 7 x64 上基本上沒啥問題

從官網下載 OAE-Linux-x86_64-release_2.2.7.run
chmod 700 後直接執行
會自動把需要的rpm全部裝好
安裝完登入時 會一直出珼找不到nmap的訊息
因為程式的預設路徑是 /usr/local/bin
可是cenos 7 nmap的預設路徑是 /usr/bin
記得要做個link 解決問題

官方是說可以收網路設備的資料 不過我試了半天
就是收不進來
再來說pc
server裝好後直接下載vbs
有各種os可以用 這個比ocs好一點
下載回來 改一下server的ip 就可以直接用了 很方便
不過vbs的執行速度真的是有..........夠..........慢
撈的資料跟ocs比
好像也差不多
為什麼這麼慢呢?
而且要砍個device還要舞弄半天
看來還是繼續用ocs好了
目前沒有換的打算

https://www.open-audit.org/

2018/10/16

昨天測了一下proxmox的LXC
開關几速度超快
果然是container
不過在guset要mount nfs時出現了以下的錯誤

mount -t nfs 1.2.3.4:/volume1/abc /mnt/abc/
mount.nfs: access denied by server while mounting 1.2.3.4:/volume1/abc

明明網路都有通 權限也都有給
查了一下才知道proxmox因為安全的關係把這個功能關掉了
而管理這個功能的是
apparmor
這個daemon
再來就是找如何處理
有改config或是把apparmor直接關了
試過這二種都沒用
官方forum有提到這個地方會修改 但沒有提到時間表
最後成功的方法是先在host把要用的 nfs 先 mount 進來
之後再到這個LXC的resource add一個mount point
但因為add時無法選目錄
所以必須在加完後再直接到 /etc/pve/lxc 改config
例如是 222.conf
找到以下這行

mp0: local-zfs:subvol-222-disk-2,mp=/mnt/abc,size=8G

改成

mp0: /host/mount/point,mp=/mnt/abc

container再重開
就會直接看到所需的目錄已經mount在 /mnt/abc 了

不過改完之後 會在zfs殘留一個剛建立的檔
記得要去砍掉

zfs destroy rpool/data/subvol-222-disk-1

https://www.facebook.com/groups/pve.tw/permalink/827877674047462/


LXC目前的优缺點如下

佈建快
開關几快
占用資源少

無法live migration
無法放在nfs
無法直接clone (要clone之前要先建立snapshot)

2018/09/18

librenms 自動更新三不五時要debug好像已經變成日常了

今天打開頁面又是一片空白

先跑一下 /opt/librenms/validate.php

./validate.php
====================================
Component | Version
--------- | -------
LibreNMS  | 1.43-82-gcf31776
DB Schema | 267
PHP       | 7.0.31
MySQL     | 5.5.60-MariaDB
RRDTool   | 1.4.8
SNMP      | NET-SNMP 5.7.2
====================================

[OK]    Composer Version: 1.7.2
[OK]    Dependencies up-to-date.
[OK]    Database connection successful
[OK]    Database schema correct
[FAIL]  Missing PHP extension: mysqlnd
[FIX] Please install mysqlnd
[WARN]  Some devices have not been polled in the last 5 minutes. You may have performance issues.
[FIX] Check your poll log and see: http://docs.librenms.org/Support/Performance/
Devices:
192.168.0.1
192.168.0.2
 192.168.15.254
192.168.19.254
  and 22 more...
[WARN]  Your install is over 24 hours out of date, last update: Sun, 16 Sep 2018 17:23:12 +0000
[FIX] Make sure your daily.sh cron is running and run ./daily.sh by hand to see if there are any errors.

說我沒有安裝mysqlnd 補一下吧

但發現因為我已經安裝 php70w-mysql 所以不能再裝

Processing Conflict: php70w-mysql-7.0.31-1.w7.x86_64 conflicts php70w-mysqlnd
--> Finished Dependency Resolution
Error: php70w-mysql conflicts with php70w-mysqlnd-7.0.31-1.w7.x86_64

google到以下的文章

https://community.librenms.org/t/fail-missing-php-extension-mysqlnd-fix-please-install-mysqlnd/5130/5


yum swap php70w-mysql php70w-mysqlnd

裝好後再跑一次

./validate.php
====================================
Component | Version
--------- | -------
LibreNMS  | 1.43-82-gcf31776
DB Schema | ?
PHP       | 7.0.31
MySQL     | ?
RRDTool   | 1.4.8
SNMP      | NET-SNMP 5.7.2
====================================

[FAIL]  Missing dependencies! [FIX] ./scripts/composer_wrapper.php install --no-dev
fideloper/proxy
[FAIL]  Outdated dependencies [FIX] ./scripts/composer_wrapper.php install --no-dev
psy/psysh
[OK]    Composer Version: 1.7.2
[FAIL]  Missing dependencies!
[FIX] composer install --no-dev
Dependencies:
fideloper/proxy

照他說的再執行

./scripts/composer_wrapper.php install --no-dev

再跑一次

./daily.sh
Updating to latest codebase                        OK
Updating Composer packages                         OK
Updated from cf31776 to 8f89cd5                    OK
Updating SQL-Schema                                OK
Updating submodules                                OK
Cleaning up DB                                     OK
Fetching notifications                             OK
Caching PeeringDB data                             OK

以上
ok了

2018/09/09

最近電腦開不了機
之前就有幾次
ram重插拔後又可以
不過這次看來是完全GG了
所以上網買了 cpu ram 主機板的套裝
cpu 配的是 AMD A4-6300 APU with Radeon(tm) HD Graphics

要開始裝os  linux mint 19 就碰到無法開機的問題
到linux mint的網站看到以下的解法
在開機時要選擇 Compatibility mode
可是裝好後開機還是有問題
還有一個地方要改
/boot/grub/grub.conf裡

Replace quiet splash with nomodeset and press Enter to boot.

可是另一個問題又來了
醬我每次更新kernel又要再重改一次
所以來改一下預設值
/etc/default/grub


#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

醬開機就沒問題了
再來是開進os後
開youtube
1080P竟然很lag

再來裝一下vga的driver
ubuntu有直接提供
sudo apt install fglrx-pxpress
順了

另外就是輸入法 linux mint 19預設是使用fcitx 
我還是比較習慣用ibus 所以改了一下


https://linuxmint-installation-guide.readthedocs.io/en/latest/boot_options.html

https://launchpad.net/ubuntu/bionic/+package/fglrx-pxpress

2018/09/06

之前提到ocs升級的問題
早上找到下面這一篇
有時間再來試試

https://blog.adsl2meg.fr/installer-ocs-inventory-ng-2-5-sous-centos-7/

2018/08/23

今天早上 6:00收到cisco server發出的告警 OS 也當了

Server HostName:C240-
 Severity: major
 Fault Code: F0174

 Problem Cause: equipment-inoperable
 Entity DN: sys/rack-unit-1/board/cpu-2
 Description: P2_PROCHOT: Processor 2 is operating at a high temperature: Check cooling

 PLATFORM: UCS C240 M4S
 CIMC Ver: 3.0(3a) 
 BIOS Ver: C240M4.3.0.3a.0.0321172111

嚇了我一大跳 以為機房的冷氣又壞掉了

進環控去看 溫度是正常的
接下來進CIMC
看到









直覺是風扇壞了
先重開機看看還能不能開
還好可以開
先把guest全部搬走
因為前幾天storage壞了 把guest 全搬到肚子
連絡廠商後把上面的擷圖跟收log
等到下午
代理商連絡說有個東西要調





















預設的風扇策略是低功率 有可能會造成溫度過高
建議調整如下




















還問我是不是跑vm cpu有沒有吃很多

現在買server 99%都跑vm了吧
這個還要問
風扇策略竟然還會預設低轉速
欠罵

2018/08/21

最近 librenms 發生 alert 通知不見的情況
爬了一下文原來是更新到1.42版之後
官方建議alert通知使用新的方法

Alert Transports

但 alert template跟之前的語法不同
而且如果直接使用網頁介面上的convert來轉換
出來的語法也是錯的
最後的解法方使用直接到官網全部複制
再貼到管理網頁上
目前是恢復正常了

https://docs.librenms.org/#Alerting/Templates/

順便說一下新的alert設定方法
先到alert transports 設定一個新的





之後再到alert rules 重新設定



2018/08/17

今天升級ocs 2.5 版的
升級的時候沒有發生什麼問題
但升完後
只要點search 畫面就是一片空白
查一下log 發現

Can't use method return value in write context in /usr/share/ocsinventory-reports/ocsreports/require/search/TranslationSearch.php on line 224, referer: http://1.2.3.4/ocsreports/index.php?first

爬了一下
果然有人問到


有人回答了

The multi-criteria search uses tables that need the minimum php 5.5 version. I advise you to update your php version to 5.5 or higher.

GG

centos 7 官方的php只出到5.4 而且也不想去升
而且有人升完後還要再安裝php-xml 才能用

把昨天的備分倒回去
等官方升到 php 5.5 再說吧

2018/08/01

最近借了一台 synology fs2017來測試
8顆 240G SSD

測試環境

cisco UCS C240 M4S

Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz  *2
RAM 32G
HD 300G SAS  *5
NIC 10G

proxmox 5.2 環境
guest HD 32G

使用指令如下
time qm clone 123 456

===========================
fs2017 iscsi

real 1m41.039s
user 0m4.945s
sys 0m55.628s
===========================
fs2017 nfs

real 0m47.445s
user 0m3.224s
sys 0m36.446s
===========================
cisco local zfs

real 10m3.973s
user 0m4.739s
sys 0m5.394s
===========================

cisco local lvm

real 4m28.070s
user 0m5.645s
sys 0m54.285s
===========================

hp virtual store 4300

real 4m39.839s
user 0m4.612s
sys 0m49.002s

===========================