星期三, 10月 10, 2012

安裝CentOS6安裝openldap記要



裝完後

cd /etc/yum.repos.d
cp CentOS-Base.repo CentOS-Base.repo.default
wget ftp://ftp.kh.edu.tw/pub/APPL/yum/CentOS6/fix-yum-CentOS6.sh

chmod 755 fix-yum-CentOS6.sh
./fix-yum-CentOS6.sh

一、安裝openldap server
yum -y install openldap openldap-devel openldap-servers  openldap-clients
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf


編輯or產生/etc/openldap/ldap.conf
vi /etc/openldap/ldap.conf
URI ldap://127.0.0.1
BASE dc=my-domain,dc=com


二、ldap server log記錄檔
修改/etc/openldap/slapd.conf
增加loglevel 296
修改/etc/rsyslog.conf
加入

local4.*        /var/log/ldap.log
將rsyslog.conf存檔後,
touch /var/log/ldap.log 以建立ldap.log檔
重新啟動syslog server
/etc/rc.d/init.d/rsyslog restart

三、建立管理者密碼
slappasswd -s 管理者密碼
slappasswd -s 預設為SSHA編碼會產生如下的資料

{SSHA}9ZQwqVoS6oZDuHnbs6f63A571lZf+67Hg

這將行複製,打開/etc/openldap/slapd.conf,增加
rootpw {SSHA}9ZQwqVoS6oZDuHnbs6f63A571lZf+67Hg

若要改為別的編碼設定,則下
slappasswd -h {MD5}則是以MD5編碼,其他可參考man slappasswd


四、啟用openldap後,在/var/log/ldap.log顯示
myldap slapd[2061]: bdb_db_open: warning - no DB_CONFIG file found in directory /var/lib/ldap: (2).#012Expect poor performance for suffix "dc=my-domain,dc=com".

則需要到 /usr/share/openldap-servers/將DB_CONFIG.example複製到/var/lib/ldap
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
再重新啟動slapd,再觀看log檔,可發現這樣訊息不見了!

五、



參考:

  1. http://ha.shsps.kh.edu.tw/web/centos/ldap.html
  2. http://blog.jangmt.com/2012/08/centos-6-ldap-server-ldap.html
  3. http://www.server-world.info/en/note?os=CentOS_6&p=ldap&f=1
  4. http://farwill-linux.blogspot.tw/2012/06/install-openldap-on-centos6.html
  5. http://ha.shsps.kh.edu.tw/98lifetype/index.php?op=Default&postCategoryId=38&blogId=1
  6. http://jamyy.dyndns.org/blog/2012/01/3506.html
  7. http://www.weithenn.org/cgi-bin/wiki.pl?OpenLDAP-LDAP_Server_%E5%9F%BA%E7%A4%8E%E8%A8%AD%E5%AE%9A
  8. http://blog.deadcode.net/2009/05/23/setup-openldap-on-ds207/2/
  9. http://sealmemory.blogspot.tw/2012/01/ubuntu-ldap-server.html
  10. http://iori.tw/ldap%E5%9F%BA%E6%9C%AC%E5%AE%89%E8%A3%9D%E5%8F%8A%E6%95%B4%E5%90%88%E7%99%BB%E5%85%A5%E8%AA%8D%E8%AD%89%E6%A9%9F%E5%88%B6%E7%9A%84%E6%9E%B6%E8%A8%AD-on-centos-6-2_x64/
  11. 新版的ldap2.3修改設定http://phorum.study-area.org/index.php?topic=61059.0
  12. ldap基本安裝及整合登入認證機制的架設http://iori.tw/ldap%E5%9F%BA%E6%9C%AC%E5%AE%89%E8%A3%9D%E5%8F%8A%E6%95%B4%E5%90%88%E7%99%BB%E5%85%A5%E8%AA%8D%E8%AD%89%E6%A9%9F%E5%88%B6%E7%9A%84%E6%9E%B6%E8%A8%AD-on-centos-6-2_x64/
  13. openldap2.3 QuickStart Guidehttp://www.openldap.org/doc/admin23/quickstart.html
  14. http://farwill-linux.blogspot.tw/2012/06/install-openldap-on-centos6.html
  15. http://jamyy.dyndns.org/blog/2012/01/3506.html


星期日, 9月 23, 2012

linux下觀看哪個port被程式佔用

一般而言, 在linux下可以使用netstat -an 可以列出目前所有網路連線狀況,包含ip 和port,而下netstat -l 則可列出有在Listen(監聽)的服務之網路狀態。
也可以使用isof來觀看某個port被哪個程式佔用,例如要看port53,就下isof -i:53
要如何列出系統已開放的port呢?使用nmap

windows 清除dns cache

windows 命令提示字元要下ipconfig /flushdns

星期五, 9月 21, 2012

在硬碟上一次安裝ezgo、win7、conezilla live及一鍵還原備份功能選單

我的電腦教室系統主要是利用phantosys來管理,phantosys的好處是支援win xp ,win 7 32bits 、win7 64 bits及Linux,因為我們的電腦教室授權是phantosys lite版,只能支援2個主要的root 映像檔,每個root可以分4層分支系統,所以我們的電腦教室一個root映像檔是win7,一個root 映像是ezgo9,phantosys的server用的等級不用太高,像我們是server是用core 2 duo,硬碟也是一般的硬碟,網卡也是內建的Giga,交換器是全giga,線是用cate6,這樣環境下,跑得還變順的。
client可以無硬碟方式執行,或是利用硬碟建cache,不過有建cache的話開機速度會比較快。

雖然這樣的系統好管理,但是很怕哪一天server掛點或交換器出包,那電腦課就準備開天窗了,所以我一直在想硬碟的系統要如何建置,除了方便我派送外也要方便我管理,那clonezilla和DRBL當然是不二人選。

首先,我規畫至少要安裝二個作業系統,一個是linux,一個是windows,另外也要在硬碟安裝clonezilla live,這樣我就不需要用光碟或usb開機載入clonezilla live,最好開機選單也做個即時還原功能,若系統亂了就請學生選還原,就可以將系統還原。

所以,我的硬碟規畫是:
sda1:win7
sda2:win7的儲存空間
sda3:linux的 /
sda5:linux的/home
sda6:linux的swap
sda7:clonezilla live安裝區

另外,也要留至少30GB的未配置區給phantosys作cache用

安裝順序是:
  1. 先用Gparted Live分割磁區,但要注意先不要留未配置區,因為win7安裝時會在未配置區安裝100MB的資料,這對於到時要建立還原映像檔時會很麻煩,所以我會只建二個partition,第一個是給win7
  2. 安裝win7到第一個分割區
  3. 然後,會再用Gparted Live 將第二分割區拿掉,再建立主分割區[sda2,sda3],延伸分割區[sda5,sda6,sda7]
  4. 將sda2格式化為ntfs
  5. 安裝ezgo9,sda3為/,sda5為/home,sda6為swap,sda7格式化ext3並留待安裝clonezilla live
  6. 安裝ezgo9後,系統就會建立一份多重開機選單
  7. 進入ezgo9後:修改root密碼,並設定開機預設項目,參考 http://kuotzurung.blogspot.tw/2012/03/ezgo9clonezilla-live.html
  8. 安裝clonezilla live 到sda7, mount /dev/sda7 /mnt , 下載Clonezilla live的zip檔,將所有檔案解開到/mnt, 將/mnt/下的目錄"live"改成"live-hd"
  9. 修改 /etc/grub.d/40_custom,將clonezilla live加到開機選單
    ================================================menuentry "Clonezilla" {set root=(hd0,7)linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset
    ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\"
    ocs_live_batch=\"no\" ocs_lang=\"\" vga=788 ip=frommedia nosplash 
    live-media-path=/live-hd bootfrom=/dev/sda7 toram=filesystem.squashfsinitrd /live-hd/initrd.img}================================================注意: 這邊grub 2的開機參數,為了要顯示雙引號"在/proc/cmdline 中,雙引號"前面都要加上\。接著重跑update-grub2,不過我在執行上遇到要先執行update-grub2再執行update-grub 
  10. 重開機後,就可以在選單選clonezilla live開機,建立win7的映像檔到/sda2,映像檔我命名為win7-backup,同樣的方式再建立ezgo9的映像檔到/sda2,映像檔我命名為linux-backup
  11. 準備修改  /etc/grub.d/40_custom 並建立win7還原指令選單,我參考了新莊中信國小蔡明貴主任的文件 http://auto.ezschool.tw/ ,及 http://jainan.blogspot.tw/2011/09/196-for-acer-veriton-m490.html 可是因為他們的還原映像檔是和clonezilla live放在同一個磁區,所以在還原上不會有問題,但我的映像檔是放在/sda2,而clonezilla live是放在/sda7,所以原本我的  /etc/grub.d/40_custom是修改成這樣,修改完後執行update-grub2及update-grub------------------------------------------------------------------------------------------------------
    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    menuentry "Clonezilla" {
    set root=(hd0,7)
    linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\" ocs_live_batch=\"no\" ocs_lang=\"\" vga=788 ip=frommedia nosplash live-media-path=/live-hd bootfrom=/dev/sda7 toram=filesystem.squashfs
    initrd /live-hd/initrd.img
    }
    menuentry "Recovery Win7" {
    set root=(hd0,7)
    linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset  ocs_live_run=\"ocs-live-restore\" ocs_live_extra_param=\"-g auto -e1 auto -e2 -c -r -j2 -k -p true restoreparts win7-backup sda1\" ocs_live_keymap=\"NONE\" ocs_live_batch=\"yes\" ocs_lang=\"\" vga=788 ip=frommedia nolocales live-media-path=/live-hd bootfrom=/dev/sda7
    initrd /live-hd/initrd.img
    }
    -------------------------------------------------------------------------------------------------
  12. 但是開機後,選 Recovery Win7 執行後會出現 The directory /home/partimag/win7-backup for the inputed name does NOT exist!
  13. 後來找到clonezilla live的開機參數說明http://clonezilla.nchc.org.tw/clonezilla-live/doc/fine-print.php?path=./99_Misc/00_live-initramfs-manual.doc提到ocs_prerun, ocs_prerun1, ocs_prerun2... 等參數讓你可以在Clonezilla主程式被執行前,執行相關指令,例如ocs_prerun="/live/image/myscript.sh"
  14. 因此加入了ocs_prerun=\"sudo mount /dev/sda2 /live/image/home/partimag\" 這行,所以再重新修改了/etc/grub.d/40_custom
    ------------------------------------------------------------------------------------------------------
    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    menuentry "Clonezilla" {
    set root=(hd0,7)
    linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\" ocs_live_batch=\"no\" ocs_lang=\"\" vga=788 ip=frommedia nosplash live-media-path=/live-hd bootfrom=/dev/sda7 toram=filesystem.squashfs
    initrd /live-hd/initrd.img
    }
    menuentry "Recovery Win7" {
    set root=(hd0,7)
    linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset   ocs_prerun=\"sudo mount /dev/sda2 /live/image/home/partimag\" ocs_live_run=\"ocs-live-restore\" ocs_live_extra_param=\"-g auto -e1 auto -e2 -c -r -j2 -k -p true restoreparts win7-backup sda1\" ocs_live_keymap=\"NONE\" ocs_live_batch=\"yes\" ocs_lang=\"\" vga=788 ip=frommedia nolocales live-media-path=/live-hd bootfrom=/dev/sda7
    initrd /live-hd/initrd.img
    }
    -------------------------------------------------------------------------------------------------
    再重新執行
    update-grub2及update-grub
  15. 終於…可以直接在選單上執行還原功能了


  16. 之後再找時間安裝winroll,再用DRBL派送系統,我理想中的電腦教室系統就可以大功告成了!
為什麼我要這麼麻煩做這個還原功能呢,直接用DRBL派就好了呀,其實這是為了配合phantosys的cache,因為只要重派送,動到未配置區,phantosys就需要在學生機一台一台重建cache,那可真是煩人的事呀,而且之後要還原,就可以請學生直接按選單上的還原,再教他們按y就可以囉!
--------------------------------------------------------------------------------------------------

加入一鍵備份功能:
修改/etc/grub.d/40_custom
加入

menuentry "Backup Win7" {
set root=(hd0,7)
linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset   ocs_prerun=\"sudo mount /dev/sda2 /live/image/home/partimag\" ocs_live_run=\"ocs-live-restore\" ocs_live_extra_param=\"-q2 -c -j2 -z1p -i 2000 -p true saveparts win7-backup sda1\" ocs_live_keymap=\"NONE\" ocs_live_batch=\"yes\" ocs_lang=\"\" vga=788 ip=frommedia nolocales live-media-path=/live-hd bootfrom=/dev/sda7
initrd /live-hd/initrd.img
}
主要就是修改ocs_live_extra_param這個參數,變成
ocs_live_extra_param=\"-q2 -c -j2 -z1p -i 2000 -p true saveparts win7-backup sda1\"

意思就是將sda1分割區存成名稱為win7-backup的映像檔

------------------------------------------------------------------------------------------------------
安裝winroll
若啟用sshd服務,服務所用的帳號為cyg_server,密碼存放在c:\cygwin\drbl_winroll-config\SSHD_SERVER_PW.txt


星期二, 8月 14, 2012

D-Link DWL-3200AP 如何設定vlan

彰化縣NGN配發的D-Link DWL-3200AP當初只有配二台,認證是經由O2 D200 Firewall導到縣網中心的認證伺服器,然後會跳出一個Web的認證畫面,輸入教師進修網的帳號密碼PASS後就可以連上網路。
可是本校在NGN之前已自行建置好幾台室內及室外型AP,但是認證是設定WPA2認證,要額外輸入KEY,為了讓這二種無線上網的認證方式並行,幾經思考後,決定要將所有的校內AP包括縣府配發的D-link DWL-3200AP的無線SSID設兩組,一組設chc_NGN,專跑縣網認證,如此一來,來到本校的其他彰化縣教師可以利用已申請的帳密,就可利用NGN 的網路上網,因此是直接透過O2出去,而不透過Layer3的Routing交換,所以這樣就不會連到校內網路的伺服器,可以增強資訊方面的安全性。另一組SSID就是用本校已有WPA2認證,就設為cses_G,後面會設一個大G是因為我們大部分的AP都有支援802.11a/g,所以cses_G就是提供802.11g的網卡用,還有第三組cses_a,是跑802.11a,不過802.11a較少人用。cses_G因為是用wpa2認證,因此只要打過key後,系統會記憶,所以適合校內用,只要認證過一次後,所有的Ap都設同一個ssid,因此可以達到漫遊也就是 roaming的功用,因為是校內網段且經由第三層交換器routing,因此校內網路可以互通,也能直接連到校內伺服器。
本校的AP可分為三大品牌,3com 7760、SMC2888和SMC2891、D-link DWL3200AP,幸好這幾台都是企業型,所以都可設定不同的SSID帶不同的VLAN
以D-link DWL-3200Ap為例,要如何設定呢?
一、當然要有第三層交換器切不同網段,這裡我們設vlan 101和vlan 99,vlan 101直接接O2的wireless 認證port,dhcp server由O2擔任,配10.1.1.0的私有IP,vlan 99的ip由校內dhcp server配發為172.20.9.0網段,可和校內其他網段互通。

二、其他分佈在各棟的Ap,則要依賴各棟的Layer2交換器切我們要的vlan,若要設兩個ssid分別為不同的vlan,則AP接在交換器的那個port要設vlan 則要帶tag,所以我們若要vlan 101和vlan 99網段分別給chc_NGN 和cses_G,則交換器的port要設vlan 帶tag 101和99

三、首先,我們這台D-link AP的IP要設vlan 99的網段 IP,最好設固定IP例如172.20.9.100,所以我們登入後,到Basic Settings->LAN,設定相關的ip資訊,設完後按【APPLY】

四、到Tools->Administrator settings,這邊很重要,不然設完後會連不到AP的LAN端,這裡有三個選項,Administrate AP with WLAN的意思為【是否可透過wireless連進來管理】,Limit Administrator VID的意思是【限制管理者要透過哪個VLAN連進來】,所以勾選Enable後,要設定vlan id ,Limit Administrator IP的意思是【限制管理者從哪個或哪些IP連進來】,這邊我是設定校內不同網段可以連進來,等到設定完後再把IP的範圍設小。

五、接著我們要開始設定不同的ssid和vlan,到Advanced Settings->Muliti-SSID,Enabled VLAN State打勾,index選擇Primary SSID,這邊因為之前Basic Settings->Wireless已設定過,所以會將設定值帶過來,這邊我們只要填入VLAN ID值,這邊我們是以99為我們這個VLAN的 ID



六、再來我們要設定第二SSID,因此Enabled VLAN State打勾,Index選擇Muliti-SSID1,當然也可以選別的,Index值,在Wireless Network Name(SSID)欄位中填入我們的第二組SSID,這邊我們是以chc_NGN為例,Security選項部分,因為我們是導到縣網認證,認證的web畫面是由O2 Firewall產生,故設None,VLAN ID選入這個SSID所配合的值,這邊是我們是101為例,設定完後要記得Apply

七、設定完後,要記得到Configuration中將設定Save and Active,不過我設定的過程中有發現,有時Save完後,不會馬上Active,所以最好在save完後,再重新啟動機器會比較好。