2011年9月20日 星期二

Fortigate 發生 Couldn't get admindb 問題排除

Fortigate 使用 4.0 MR1 的版本, 在重開機的時候, 有可能會出現 Couldn't get admindb 的畫面

用關鍵字去搜尋一下, 可以發現 Couldn't get admindb 是因為 IPS 病毒碼問題導致的, 簡單的處理方式就是到 GUI 介面下更新即可.
最悽慘的是, 出現這個畫面, GUI 介面又連不到...那怎麼辦....如下圖...XD

還好 Fortigate 在開機的時候, 有修復的選單可以選擇...
連接上 Console 線...在開機畫面上, 出現 Press any key to display configuration menu... 時, 按下任意鍵..即出現修復選單...
這邊就直接使用 firmware 更新的方式解決這個問題, 所以就選擇 G 繼續....
在選擇 Get firmware image from TFTP server 前, 有幾個動作要先準備好
1. 設定固定 IP , 預設抓 192.168.1.168 , 所以將電腦IP改成 192.168.1.168 
2. 開啟 TFTP 服務, Windows 下可以參考使用 tftpd32 這支程式

準備好就開始囉
1. Enter TFTP server address 輸入 TFTP server 的位置, 使用預設就直接按 Enter
2. Enter local server address 輸入 Fortigate 的位置, 使用預設直接按 Enter
3. Enter firmware image files name 輸入 firmware 的檔案名稱
以上都正確的話, 就會出現如下圖囉...
上傳檔案後, 系統會詢問上傳的 firmware 是要儲存成“預設”還是“備份”或者只是“執行”呢?
怕有問題的可以選擇“執行”就好, 但本來就有問題, 所以我直接更改預設..所以我選 D 

接著再過幾分鐘後, 就會出現“正常”的登入畫面囉, 使用 admin 預設帳密登入就可以囉

測試 GUI 介面也 ok 了

2011年7月8日 星期五

Windows 7 之 BCD 建立方式

Windows 7 使用也很久了, 之前為了搭配 XPE 的備份使用, 有研究了一下 BCDEdit 的指令, 但用過後, 久沒有使用又遺忘了, 剛好最近在製作快速安裝批次, 所以就順便在找了一下相關的資料, 並將做好的批次貼上來提供存檔^^"

批次檔內容
=================================================================

@Echo off
Color 0a
Mode con cols=48 lines=9
Set UD=100/07/08     By Shyam
Set BCDNAME=啟動 XPE 系統...By Shyam on %date:~0,10%
Set GPATH=\grldr.mbr
Set TIMEOUT=8

:CreateBCD
Echo 檢查是否為系統管理員...
Bcdedit > check_bcd.txt
Type check_bcd.txt | find "Windows Boot Manager" && Goto StartBCD
Del check_bcd.txt 2>nul
Echo.
Echo.
Echo. 請以系統管理者身份執行....
Echo.
Echo.
Goto End

:StartBCD
Type check_bcd.txt | find "%BCDNAME%" && Goto Un_BCD
Bcdedit /create /d "%BCDNAME%" /application bootsector > vid.1
For /f "tokens=2 delims={" %%i in (vid.1) Do Echo %%i > vid.2
For /f "tokens=1 delims=}" %%i in (vid.2) Do Set VID={%%i}
Del vid.*
Bcdedit /set %VID% device partition=%systemdrive%
Bcdedit /set %VID% path %GPATH%
Bcdedit /displayorder %VID% /addlast
Bcdedit /timeout %TIMEOUT%
Goto CreatBootFiles

:Un_BCD
Echo.
Echo 偵測到已安裝 開機選單...系統自動移除中...
Echo.
For /f "tokens=1 delims=:" %%i in ('findstr /n /c:"%BCDNAME%" check_bcd.txt') Do Set VID=%%i
Set /a VID=%VID%-3
Findstr /n ident check_bcd.txt > check_bcd.1
For /f "tokens=2 delims= " %%i in ('findstr /n /c:"%VID%:ident" check_bcd.1') Do Set VID=%%i
Bcdedit /delete %VID% /cleanup
Bcdedit > check_bcd.txt
Type check_bcd.txt | find "%BCDNAME%" && Goto Un_BCD
Del check_bcd.*
Goto End

 :CreatBootFiles
Attrib -r -s -h %systemdrive%\menu.lst
Echo find --set-root /rxpe.bin >> %systemdrive%\menu.lst && Echo chainloader /rxpe.bin >> %systemdrive%\menu.lst
Attrib +r +s +h %systemdrive%\menu.lst

Attrib -r -s -h %systemdrive%\grldr
xCopy /h /y ..\grldr %systemdrive%\
xCopy /h /y ..\grldr.mbr %systemdrive%\
Attrib +r +s +h %systemdrive%\grldr

Attrib -r -s -h %systemdrive%\RXPE.*
xCopy /h /y ..\rxpe.COM %systemdrive%\
xCopy /h /y ..\RXPE.IM_ %systemdrive%\
xCopy /h /y ..\RXPE.SIF %systemdrive%\
xCopy /h /y ..\RXPE.BIN %systemdrive%\
Attrib +r +s +h %systemdrive%\RXPE.*

:End

=================================================================
參考資料:
http://technet.microsoft.com/zh-tw/library/cc709667%28WS.10%29.aspx
http://blog.sina.com.cn/s/blog_67278a3e0100n2px.html  (此批次有錯, 直接執行會有錯誤)

快速修改電腦名稱之方法

相信有很多IT人會遇到電腦名稱的命名問題,怎樣的命名方式,就看公司怎麼規定吧! 因為有遇到更改電腦名稱的問題,所以就搜尋出幾個快速更改的方式。
1. VBS 指令修改( http://social.technet.microsoft.com/forums/zh-TW/winserverzhcht/thread/6e40c437-8697-4387-8f78-b0189237ef6f/)

將以下語法剪下貼到記事本裡,另存成.vbs 檔案, 使用滑鼠去點擊兩下即可。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
err = objComputer.Rename("
要更改的電腦名稱")
Next


netdom renamecomputer 舊電腦名稱 /newname:新電腦名稱 /userd:網域/管理者帳號 /passwordd:管理者密碼 /force /reboot:60

範列:

netdom renamecomputer alex-nb /newname:mary-nb /userd:abc.com/administraotr /passwordd:123456 /force /reboot:60
                /force 是不詢問直接更改名稱
          /reboot 是多少秒後重新開機
以上兩種方式我都使用過,第一種比較簡單,但失敗率蠻高的,不知道有什麼地方有限制,第二種的方式雖然比較麻煩,但很容易就成功了,搭配.cmd 的方式使用,可以達到無提示訊息。
將下列存成.cmd 點擊完後即更名不提供也不重新開機

netdom renamecomputer alex-nb /newname:mary-nb /userd:abc.com/administraotr /passwordd:123456 /force /reboot:60
shutdown -a

2011年3月8日 星期二

Fortigate DHCP 綁定 MAC 位置的設定方式



 

CLI 模式下
  1. 先切換到 dhcp reserved-address 設定下
  2. 編輯一個項目名稱, 如 New User
  3. 設定 IP 位置
  4. 設定 mac 位置
  5. 使用 end 存檔
    Config system dhcp server
    edit "NewUser"
    set ip 192.168.1.150
    set mac AA:BB:CC:11:22:33
    end

設定檔編輯模式
  1. 找到空白處, 新增一筆 config sys dhcp reserved-address 設定 (預設是沒有這筆的)
  2. 輸入設定值, 如果有多筆, 使用 next 連續設定
    config system dhcp reserved-address
    edit "UserA"
    set ip 192.168.1.170
    set mac 00:00:00:00:00:01
    next
    edit "UserB"
    set ip 192.168.1.172
    set mac 00:00:00:00:00:02
    end

 

設定檔匯入會自動重新開機, 所以如果不能停機的狀況下, 只能由命令模式下連續輸入喔!!
命令模式下連續輸入, 每筆都要打上 config system dhcp reserved-address 還有 end 才算是完整的
例如:
config system dhcp reserved-address
edit "UserA"
set ip 192.168.1.170
set mac 00:00:00:00:00:01
end
config system dhcp reserved-address
edit "UserB"
set ip 192.168.1.172
set mac 00:00:00:00:00:02
end

 

檢查目前設定資料      show system dhcp reserved-address
檢查目前 DHCP 清單    execute dhcp lease-list
清除目前 DHCP 用戶    execute dhcp lease-clear

2011年1月12日 星期三

MOSA 4600新增分機表方式

  1. 新增使用者名稱
    3-1 IP 內線迴路
    新增使用者資料


  2. 指定尾碼及使用者名稱註冊位置
    2-1 總覽
    端口 55 埠
    尾碼 65 埠
    使用者名稱 8875 (代表這個位置提供給 8875註冊)


  3. 設定分機號碼
    1-3 分機表
    新增分機號碼, 如分機 890 使用 65 尾碼
    前置碼 890
    電話號碼 65 (2-1提供的)

2011年1月10日 星期一

Mysql 發生 1130-host {IP} is not allowed to connect to this MySQL server

  1. 改表法

    登入 mysql 更改 mysql 資料庫 user 表 host 項, 把 localhost 改成 %
    mysql -u root -p
    USE mysql;
    UPDATE USER SET HOST ='%' WHERE USER='root';
    SELECT HOST, USER FROM USER;
    FLUSH PRIVILEGES;

  2. 授權法 (建議作法)

    1. 授權帳號可以由任何地方使用密碼連入
    GRANT ALL PRIVILEGES ON *.* TO '帳號'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

    2. 授權帳號可以由單一IP位置使用密碼連入
    GRANT ALL PRIVILEGES ON *.* TO '帳號'@'192.168.1.10' IDENTIFIED BY '密碼' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

    3. 授權帳號可以由單一IP位置使用密碼連入ok資料庫
    GRANT ALL PRIVILEGES ON ok.* TO '帳號'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

參考資料
http://hi.baidu.com/ouanan/blog/item/cfc9a94fce76cb24aec3ab23.html

2011年1月6日 星期四

判斷 CPU 使用率抓取程序的方式

原理

抓取 top 值, 利用 grep 將 CPU(s) 列抓出後, 在利用 sed 去頭去尾, 再利用 awk 將數值置首

最後使用 test 比對數值是否超過預設數值80, 在將結果輸出.

load=$(top -n 2 |grep 'Cpu(s)' | sed s/^.*sy,//g | sed s/\.\.%.*$//g | sed '1d' | awk '{print $2}') && test $load -gt 80 && date > cpu.log && ps -eo pcpu,pid,args | sort -k 1 -r | head -6 >> cpu.log || echo "CPU loadding < 80 "

其中遇到的問題是, 小數點, 因為 test 比對時不能有小數點, 使用 sed \.\. 方式移除小數點即可


 

相關資料

Htop (http://htop.sourceforge.net/ )


 

Linux 燒機程式 – Mprime (http://www.mersenne.org/freesoft.htm )

mkdir mprime

cd mprime

wget http://mersenneforum.org/gimps/mprime2511.tar.gz

tar zxvf mprime2511.tar.gz

./mprimp