3.20.2015

設置Stunnel

服務器環境:
OS: CentOS 6.5


安裝Stunnel
yum -y install stunnel

安裝Openssl 附加套件
yum -y install openssl-perl

首先建立自家的 SSL 憑證檔

建立 CA 憑證檔

/etc/pki/tls/misc/CA.pl -newca
CA certificate filename (or enter to create) <-- 按"Enter"用default Path

Making CA certificate ...
Generating a 2048 bit RSA private key
............................................................+++
.....+++
writing new private key to '/etc/pki/CA/private/cakey.pem'
Enter PEM pass phrase:<-- 輸入此Key檔的加密密碼
Verifying - Enter PEM pass phrase:<-- 重複輸入密碼
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:TW <--輸入憑證地區資料
State or Province Name (full name) []:Taiwan <--輸入憑證地區資料
Locality Name (eg, city) [Default City]:Taipei <--輸入憑證地區資料
Organization Name (eg, company) [Default Company Ltd]:Server CA <--輸入憑證公司資料
Organizational Unit Name (eg, section) []: <--輸入憑證公司單位資料 [可留空]
Common Name (eg, your name or your server's hostname) []:ca_root <--輸入憑證服務器名稱
Email Address []:<--輸入憑證電郵資料 [可留密]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- [可留空]
An optional company name []: <-- [可留空]
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem: <-- 輸入剛輸入的Key檔加密密碼
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number:
            e1:1f:27:6d:8b:14:e8:d2
        Validity
            Not Before: Mar 18 08:11:16 2015 GMT
            Not After : Mar 17 08:11:16 2018 GMT
        Subject:
            countryName               = TW
            stateOrProvinceName       = Taiwan
            organizationName          = Server CA
            commonName                = ca_root
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                26:E1:A1:7A:D5:F4:5F:57:7A:5E:59:B6:7F:DE:51:ED:F0:43:0B:B7
            X509v3 Authority Key Identifier:
                keyid:26:E1:A1:7A:D5:F4:5F:57:7A:5E:59:B6:7F:DE:51:ED:F0:43:0B:B7

            X509v3 Basic Constraints:
                CA:TRUE
Certificate is to be certified until Mar 17 08:11:16 2018 GMT (1095 days)

Write out database with 1 new entries



重要資料
CA Key 放在 /etc/pki/CA/private/cakey.pem
CA Cert (憑證檔) 放在 /etc/pki/CA/cacert.pem
把 cacert.pem 複製到 /etc/stunnel

cp /etc/pki/CA/cacert.pem /etc/stunnel

建立服務器憑證 (以下指令留意大小寫)

  1. 建立Key檔
    openssl genrsa -out server.key.pem 2048
    chmod og-rwx server.key.pem
  2. 建立Request 檔
    openssl req -new -key server.key.pem -out server.req.pem <--跟剛才一樣輸入地區等資料
  3. 由CA 檔簽發憑證
    openssl x509 -req -days 3650 -sha1 -extfile /etc/pki/tls/openssl.cnf -extensions v3_req \
    -CA /etc/pki/CA/cacert.pem -CAkey /etc/pki/CA/private/cakey.pem \
    -CAserial /etc/pki/CA/serial -CAcreateserial \
    -in server.req.pem -out server.crt.pem <--輸入CA Key檔加密密碼
  4. 建立Stunnel專用的憑證檔
    cat server.crt.pem server.key.pem >> /etc/stunnel/server.pem
    chmod og-rwx /etc/stunnel/server.pem

建立客戶端憑證

跟服務器一樣步驟只需把藍色的檔名由server改為client就可以了。
mkdir /etc/stunnel/proxy-certs
cp client.crt.pem /etc/stunnel/proxy-certs
c_rehash /etc/stunnel/proxy-certs


建立服務器端 stunnel.conf

mkdir /var/run/stunnel
chown nobody:nobody /var/run/stunnel
nano /etc/stunnel/stunnel.conf

輸入以下資料
CAfile = /etc/stunnel/cacert.pem
cert = /etc/stunnel/server.pem

pid = /var/run/stunnel/stunnel.pid
fips = no
setuid = nobody
setgid = nobody

[proxy]
accept = 990
connect = target.yourdomain.com:22
CApath = /etc/stunnel/proxy-certs
verify=3

啟動stunnel 服務
/etc/init.d/stunnel start

建立客戶端stunnel.conf

輸入以下資料
CAfile=cacert.pem

cert=client.pem
client=yes

[proxy]
accept = 127.0.0.1:8080
connect = server.youdomain.com:990
CAfile=peer-proxy.pem
verify=3



請把在服務器上的cacert.pem 及client.pem複製到客戶端的電腦內並放在stunnel.conf 的同一個資料匣內。

紅色標示的那兩行可以不用,如果你想在連接時核實服務的的真確的話你可以填上這兩行。
留意 peer-proxy.pem 可以從客戶端的軟件取得的,啟動客戶端軟件後在客戶端的圖示上按右鼠標 "Save Peer Certificate" -> "peer-proxy.pem"便可。


7.18.2014

用Putty 連接 CentOS Byobu Terminal

服務器環境:
OS:CentOS 6.5
Putty Version: 0.63
Byobu Version: 5.73

假設你已安裝 Yum 的 EPEL Repository (請參考)

安裝 Byobu

yum -y install --enablerepo=epel byobu 

設定 Boyobu

首先以 Putty 登入

執行
byobu-select-backend

選擇 (2) Screen

執行
byobu

按 "F9 " 按第四個選項
"Byobu currently does not launch at login (toggle on) "
轉為
"Byobu currently launches at login (toggle off)"

這樣下次用 Putty登入便會自動開 Byobu。

Putty 設定

需然打開了在 Putty 打開了 Byobu 但 F2至F4不能運作,所以在Putty上要設定一下。
在Putty的設定頁 "Terminal" -> "Keyboard" -> "The Function keys and keypad" 選用 "Xterm R6" 便可。




後記:
如果 Byobu backend用 Tmux 會美觀一點但不知為何日期及時間無法顯示。


3.04.2013

增大 Synology NAS iSCSI 磁碟及已連結到Windows 2008 的分區



環境:
NAS 型號:Synology DS1512+
NAS 的 DSM版本:DSM 4.1-2668

Server OS: Windows 2008 Server (Eng Vision)

假設:
iSCSI LUN的名字:LUN-1
原來 iSCSI 的磁碟大小:30GB
增加磁碟大小:20GB (總共:50GB)
Windows 2008 Driver Letter:H Drive / Data
Windows 2008磁碟名稱:Disk 1 (NTFS)

Synology NAS 設置:

  1. 打開 "Storage Manager" -> "iSCSI LUN"
  2. 點選 iSCSI LUN "LUN-1" -> "Edit"
  3. 更改 "Capacity" 由 30 改成 50 -> "OK"
Windows 2008 設置:
  1. 在 "我的電腦" -> 右鼠標按 "Manage" (打開 "Server Manager")
  2. 按 "Storage" -> "Disk Manager" 右鼠標按 "Rescan Disks","Disk 1" 的配置便會更新
  3. 點選 H Drive -> 右鼠標 "Extend Volume" -> 按 "Next"
  4. 更新 "Select the amount of space in MB:" 的設定,留意此設定的數值不能大於 "Maximum available space in MB:" ,按 "Next" ->”Finish"


完成

8.20.2012

改變 Windows 7 使用者目錄

環境:
OS: Windows 7

假設:
原來的使用者目錄:c:\Users\myTestUser
新的使用者目錄:d:\Profile

  1. 以本機或域的管理員帳號登入系統
  2. 打開 Command Prompt (Win+R -> cmd )
  3. 執行以下指令複製使用都資料到新目錄
    robocopy c:\Users\myTestUser d:\Profile /B /E /COPYALL /XJ
  4. 把原來的使用都目錄改名(e.g. c:\Users\myTestUser => c:\Users\myTestUser_ )
  5. 執行以下指令建立連結把原來的目錄連結到新目錄
    mklink /j c:\Users\myTestUser d:\Profile

7.17.2012

Linux Network Interface Bonding

環境:
OS:CentOS 6.3

假設:
IP Address:10.0.10.11
Netmask:255.255.255.0
Gateway:10.0.10.1
實體網路介面名稱:eth0 eth1

設定網路介面(Network Interface):

bond0 (Bonding Interface):
建立檔案 "ifcfg-bond0" 在 "/etc/sysconfig/network-scripts"
nano /etc/sysconfig/network-scripts/ifcfg-bond0
加入以下設定
DEVICE=bond0
BONDING_OPTS="mode=1 miimon=100"
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.0.10.11
NETMASK=255.255.255.0
GATEWAY=10.0.10.1
TYPE=Unknown
IPV6INIT=no
* mode 的設定請參考下面 (bond mode) 的參考連結

eth0 (實體網路介面):
修改檔案 "/etc/sysconfig/network-scripts/ifcfg-eth0"
nano /etc/sysconfig/network-scripts/ifcfg-eth0
改為以下設定
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

eth1 (實體網路介面):
修改檔案 "/etc/sysconfig/network-scripts/ifcfg-eth1"
nano /etc/sysconfig/network-scripts/ifcfg-eth1
改為以下設定
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

設定bond0介面模組:

建立檔案 "bonding.conf" 在 "/etc/modprobe.d"
nano /etc/modprobe.d/bonding.conf
加入以下設定
alias bond0 bonding
設定網路服務:

CentOS 6 新增了 "NetworkManager" 服務去管理網路介面卡但此服務會影響 bonding 的設定的所以需要停了它,請執行以下指令以確保啟動後不會啟動
chkconfig NetworkManager off
並確定 "network" 服務啟動後會自動啟動,可執行以下指令 chkconfig network on
完成後請重新啟動電腦即可





參考 - dominic16y.world.edoors.com (bond mode)
參考 - www.newitperson.com
參考 - www.360doc.com

7.06.2012

Amanda 基礎設定步驟

服務器環境:
OS:CentOS 6.2
Amanda 版本:2.6.1p2-7
IP 地址:192.168.1.11
主機名稱:backup.yourdomain.com
備份的目的地:/backup/


客戶端環境:
OS:CentOS 5.8
Amanda版本:2.5.0p2-9
IP 地址:192.168.1.31
主機名稱:data.yourdomain.com


*注意
服務器及客戶端的Amanda版本是不同的,而Amanda的預設使用者名稱也是不同的。


安裝Amanda到服務器及客戶端:
以Yum安裝yum -y install amanda*


客戶端設置:
  1. 設置 /etc/hosts 檔案
    在檔案加入服務器的IP地址及主機名稱。加入的設定如下
    192.168.0.11 backup backup.yourdomain.com            IP地址       主機名      主機完整名稱(FQDN)
  2. 設置 /var/lib/amanda.amandahost/.amandahosts
    ( 在 "amandahosts" 前是有一個點的,這檔案是Amanda專用的主機名稱對應表)

    在檔案加入服務器的名稱及服務器上的使用都名稱(下面會再提及的)。加入的設定如下
    backup         amandabackup 服務器主機名    服務器上Amanda的使用者名稱
  3. 設定 Amanda 為啟動狀態
    chkconfig amanda on
  4. 啟動 Amanda
    /etc/init.d/xinetd reload
服務器設置:
  1. 設置 /etc/hosts 檔案
    在檔案加入客戶端的IP地址及主機名稱。加入的設定如下
    192.168.0.31   data    data.yourdomain.com        IP地址            主機名       主機完整名稱(FQDN)
  2. 建立備份設定
    1. /etc/amanda/ 內建立備份策略目錄,假設策略名稱是 "DataBak"
      mkdir -p /etc/amanda/DataBak
    2. 建立設定檔 amanda.conf 並放在 DataBak 內,把以下內容貼上
      org             "DataBak"            #對應策略名稱
      mailto          "admin@yourdomain.com"
      dumpuser        "amandabackup"       #執行Amanda的使用者名稱
      dumpcycle       7days                #此策略的備份周期
      runspercycle    5                    #此策略在備份周期內的執行次數(對應於Cronjob的設定)
      tapecycle       6 tapes              #tapecycle 需大於 runspercycle

      labelstr        "^DataBak-[0-9][0-9]*$"
      logdir          "/var/log/amanda"
      tpchanger       "chg-disk"
      changerfile     "/etc/amanda/DataBak/changer"
      infofile        "/etc/amanda/DataBak/curinfo"
      indexdir        "/etc/amanda/DataBak/index"
      tapedev         "file:/backup/DataBak"
      tapetype        HARD-DISK            #這裏的 HARD-DISK 是對應於下面的設定

      define dumptype DataBackup {         #"DataBackup" 是 dumptype 的名稱,在下面會用到
              program "GNUTAR"
              comment "Server Backup"
              compress none
              index   yes
              priority low
      }

      define tapetype HARD-DISK {
              comment "disk-to-disk"
              length  10gbytes             #每一個Slot容量是10GB
      }
    3. 建立備份資料的設定檔 disklist 並放在 DataBak 內,內容如下
        data           share/documents      DataBackup 客戶端的主機名稱   在客戶端要備份的資料路徑   dumptype名稱
    4. 更改剛所建立的檔案的權限
      chown -R amandabackup:disk /etc/amanda/DataBak
    5. 建立策略的儲存目錄for ((i=1;i<=6;i++));do mkdir -p /backup/DataBak/slot$i; done;紅色 6 是對應 amanda.conf 中的 tapecycle
    6. 更改儲存目錄內的檔案權限chown -R amandabackup:disk /backup/DataBak
    7. 建立 tape slot 文件
      su - amandabackup                     #改變登入為 amandabackup
      for ((i=1;i<=6;i++));do amlabel DataBak DataBak-0$i slot $i; done;
      退出 amandabackup 請用 exit 指令(暫時不用退出)
    8. 檢查測試設定amcheck DataBak結果輸出應會如下Amanda Tape Server Host Check
      -----------------------------
      slot 6:read label `DataBak-06', date `X'.
      NOTE: skipping tape-writable test
      Tape DataBak-06 label ok
      NOTE: conf info dir /etc/amanda/DataBak/curinfo does not exist
      NOTE: it will be created on the next run.
      NOTE: index dir /etc/amanda/DataBak/index does not exist
      NOTE: it will be created on the next run.
      Server check took 1.449 seconds

      Amanda Backup Client Hosts Check
      --------------------------------
      Client check: 1 host checked in 0.096 seconds. 0 problems found.

      (brought to you by Amanda 2.6.1p2)
    9. 進行第一次備份的測amdump DataBak完成後你會收到電郵通知你備份的結果
  3. 如果一切正常可設定 cronjob,以amandabackup身份執行crontab -e加入以下設定35 0 * * 1-5 /usr/sbin/amdump DataBak以上設定了星期一至五凌晨12:35執行備份

4.28.2012

Synology NAS DSM 更新後不能用 ipkg



環境:

NAS 型號:Synology DS211
NAS 的 DSM版本:DSM 4.0-2219

假設:
你已安裝 bootstrap 及 已安裝 ipkg,詳情請參考這裏

  1. 以 root 身份透過 SSH 登入 NAS
  2. 修改 /root/.profile (指令: vi /root/.profile )
  3. 更新 PATH 加入 "/opt/bin:/opt/sbin" 在取前 (按 " i "  開始編輯模式)
    像這樣 PATH= /opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/sy........(省略)
  4. 保存檔案 (按 "ESC" ,然後按 ":wq" )
  5. 重新啟動 NAS