DRBL-winroll : MS-Windows 延伸工具
大量佈署 Windows 作業系統的輔助工具
說明:實現 Windows client 接收主機命令、解決大量複製(Image clone)時Windows 上相關問題。
*********** 歡迎使用 drbl-winroll ***********
國網中心 自由軟體實驗室, NCHC, Taiwan
GPL
ceasar _at_ nchc org tw, steven _at_ nchc org tw
*******************************************************
下載 簡報[PDF] [ODP] 安裝 其他工具 螢幕截圖 相關文件 語系支援 論壇 郵件討論 [En]
drbl-winroll 目的為解決使用還原工具來大量佈署 win-like OS 時,主機名稱、SID重複之問題,並可自動變更『工作群組名稱』與提供自動網路設定功能。另外,並協助 Windows 的客戶端在 drbl 的環境下,可接受 drbl 主機之遠端命令。

drbl-winroll is a tool that enables MS-Windows client to accept commands from DRBL server, and it resolve windows hostname, SID duplication problem via using image clone tool at single local LAN.It can also adjust "workgroup" name nad Windows network configuration automatically.

特性 | Feature :

  • 自動修改 Windows 主機名稱、工作群組、自動判斷隨機 SID
  • Adjust Windows hostname, group name, SID automatically
  • 提供自動網路設定功能
  • Provide network auto-setup function
  • 安裝 sshd 服務
  • Install sshd service
  • 適用於任何印象檔佈署工具(如: Clonezilla, ghost, Acronis True Image, .etc) 簡潔方式協助相關軟體安裝與配置,安裝在一套 Windows 範本機器後即可大量還原。
  • Compatible with other image clone tool (like: Clonezilla, ghost, Acronis True Image, .etc) to be able to restore large-scale windows system by utilizing one template image
授權模式 | License :
  • 自行開發部份以自由軟體 Free Software 授權 GNU GPL 方式釋出, 其他所使用之程式仍保有原先釋出之授權模式
  • drbl-winroll itself is licensed under GNU GPL
  • 所使用之 wsname 與 newsid 則需遵循原有之授權與同意條款
  • It incorporates code from wsname and newsid projects, each of which has its own license terms
  • 因使用本軟體所造成之直接或間接傷害,開發者則無義務負擔實質或道德上之損失
  • Standard disclaimers apply

  1. 下載 | Download
    • 穩定版 | Stable Version : [NCHC] [Souceforge]
    • 測試版 | Testing Version: [NCHC] [Souceforge]
    • SVN 儲藏庫 | SVN Repository:
    • svn export https://free.nchc.org.tw/svn/drbl-winroll/trunk drbl-winroll

    • 注意:

  2. 安裝 | Install
    • EXE:
      1. 直接執行 winroll-setup.exe 即可
    • ZIP:
      1. 解開壓縮檔: drbl-winroll_xxxxxx.zip
      2. 直接雙點執行 winroll-setup.bat,程式集會引導您完成安裝步驟
    • 注意事項:
      1. 本程式建議以具有 Administrator 權限之身份執行;若需要安裝 auto-renew SID,則請確定網際網路連線沒問題
      2. 若您之前以安裝過 cygwin 建議先移除後再安裝;或者,可使用『強制安裝』 選項進行安裝
      3. 本程式適用於 Windows 2000/ Windows XP/Windows 2003/Vista/Windows 7 系列之作業系統
      4. 若您要安裝的作業系統為 Vista Windows 7 系列之作業系統,請先參考關閉 UAC 功能。若您仍需要使用UAC ,可安裝後再啟動即可。


    進行安裝 drbl-winroll ** 更詳細的安裝流程[Flash]

  3. 在 drbl-winroll 中如何修改主機名稱格式 ?
  4. 目前預設以 windows 上所配到的 IP 後6 碼,另加上前置字元 "PC-" 當為主機名稱,如:
    IP 為 192.168.1.52 ,則主機名稱為:PC-001-052
    管理者可依下列步驟自行修改所需格式:
    1. 步驟 :
    2. 『程式集』-> [Cygwin]-> [drbl_winroll-config] 進行編輯 "winroll.txt"

    3. 找出下列參數並替換 :
    4. HN_WSNAME_PARAM = xxxx
      以下簡述幾種常用格式:
      # HN_WSNAME_PARAM = /N:PC-$MAC     (PC-"Mac Adress", 如: PC-000C294EEF53)
      # HN_WSNAME_PARAM = /N:PC-$MAC[+8]    (MYPC-"Mac Adress 最左側 8 碼", 如: MYPC-000C294E)
      # HN_WSNAME_PARAM = /N:PC-$IP    (My-"IP 位址" 如: My-192-168-001-052)
      # HN_WSNAME_PARAM = /N:PC-$IP[3+]    (Desktop-" IP 位址最右側 3 碼", 如: Desktop-192)

    5. 進階設定: 使用檔案指定
    6. 此外,也可用檔案來規範 hostname ;開啟 "winroll.txt" 找到 "HN_WSNAME_PARAM = xxxx " ,置換為
      HN_WSNAME_PARAM = /RDF:C:\cygwin\drbl_winRoll-config\hosts.txt /DFK:$MAC
      說明:/RDF 規範名稱檔的路徑,/DFK 規範以何種屬性尋找主機名稱

      hosts.txt 規範如右"IP or MAc Address" = "hostname" , 如:
      000C294EEF53 = Student-01     # (此 MAc Address 的分配主機名稱為 Student-01)
      192-168-001-012 = Student-02  # (此 IP 的分配主機名稱為 Student-02)
      所以 /DFK:$MAC ,則會被指派為 Student-01,/DFK:$IP 則會被指派為 Student-02

      此方式管理者可自由定義主機名稱,但建議先將所有 Mac Address 收集起來寫在範本機器中,複製之後的機器 即會依據各自的屬性來指定主機名稱。

    補充:
    drbl-winroll 使用 wsname 工具進行修改主機名稱,所以可使用 wsname 所支援參數進行修改



    主機名稱或工作群組修改需要重開機

  5. 如何設定工作群組名稱格式 ?
  6. 目前 drbl-winroll中提供三種格式來定義工作群組名稱
    1. 固定字串 , 如: WG
    2. 由IP/Netmask , 如: GROUP-$NM
    3. 說明:
      以 windows 上所配到的 IP 配合網路遮罩(Netmask),另加上前置字元 "WG"(可於 winroll.conf 中修改) 當為主機名稱,如:
      ip:192.168.20.2 NM:255.255.255.0=> 群組會設為 "GROUP-020"
      ip:172.18.1.5 NM:255.255.0.0 => 群組會設為 "GROUP-018-001"
    4. 由 DNS Suffix : $DNS_SUFFIX
    5. 說明:
      client 跟 DHCP Server 取得 IP, network 相關資訊,其中一個為 DNS SUFFIX 值,系統將取其前兩斷字串,並以 "-"取代"."。以上列參數為例,在下面的環境中, 你可以在 Windows 下使用 ipconfig 指令查看 DNS Suffix 資訊

      DNS Suffix Search List. . . . . . : my..org.domain=> 群組會設為 "WG-my-org"

      安裝時使用固定字串 "WG" 為預設若您有任何建議請告知我們

  7. 如何讓 drbl-winroll 配置 Windows 網路設定
    • drbl-winroll 提供三種方式來自動設定網路,可於『程式集』-> [Cygwin]-> [drbl_winroll-config] 進行編輯 "winroll.txt" 找出下列參數並替換 :
    • CONFIG_NETWORK_MODE = xxxx
      以下簡述幾種常用格式:
      CONFIG_NETWORK_MODE = dhcp     (使用 DHCP 方式)
      CONFIG_NETWORK_MODE = /RDF:C:\cygwin\drbl_winroll-config\client-mac-network.conf    (透過設定檔設定)
      CONFIG_NETWORK_MODE = none    (讓 drbl-winroll 不處理網路設定,也不會使用 dhcp )

    • 安裝程式預設以 DHCP 配置網路;若您想透過 mac address 還讓 drbl-winrll 設定您的網路
    • 進階設定: 使用檔案指定
    • 若使用 CONFIG_NETWORK_MODE = /RDF:C:\cygwin\drbl_winroll-config\client-mac-network.conf ,則需要編輯 c:\cygwin\drbl_winroll-config\client-mac-network.conf

      client-mac-network.conf 範例如下

      _DEFAULT_NETWORK	= 192.168.100.254/24  # 指定網路與遮罩
      _DEFAULT_GATEWAY	= 192.168.100.254			# 預設閘道
      _DEFAULT_DNS		= 168.95.1.1		# DNS, 可不設或單、多組,使用逗號(,)區隔
      _DEFAULT_WINS		= # WINS, 可不設或單、多組,使用逗號(,)區隔
      _DEFAULT_DNS_SUFFIX	= # DNS_SUFFIX 可不設	
      
      subnet 10.0.2.0/8 {
      	THIS_GATEWAY	= 10.0.2.2 # 以 10.0.2.2 作為此網域的預設閘道
      	THIS_DNS	= 10.0.1.1	# 以 10.0.1.1 作為此網域的預設閘道
      	THIS_WINS	= 		# 會取消全域變數中的 _DEFAULT_WINS 值
      	# 由於此區域並無設定 THIS_DNS_SUFFIX ,所以此子網域會繼承全域變數中 _DEFAULT_DNS_SUFFIX 值
      }
      
      subnet 192.168.0.0/24 {
      	THIS_GATEWAY		= 192.168.0.254
      	THIS_DNS			= 192.168.0.1
      	#THIS _WINS			# 此子網域會繼承全域變數中  _DEFAULT_WINS 值
      }
      
      [IP Address]
      00-00-00-00-00-01 = 192.168.100.11
      00-00-00-00-00-02 = 10.0.2.30  # 使用 subnet 10.0.2.0/8 的環境設定
      00-00-00-00-00-03 = 192.168.0.7  # 使用 subnet 192.168.0.0/24的環境設定
      00-00-00-00-00-04 = dhcp  # 還是使用 dhcp
      00-00-00-00-00-05 = none  # 不處理這張網卡
      
    • c:\cygwin\drbl_winroll-doc\sample\ 目錄下有兩個範例檔案可參考

  8. 如何決定 SID 是否重新指派 ?
    1. 判斷方式是紀錄抓取到的網卡 Mac address 來辨別,如遇到新的 Mac address,則會重新指派 SID
    2. SID 本原意為安全理由設計,所以理應不能有順序性,所以隨機產生。基於安全理由,Mac address 經 md5 編碼後紀錄

  9. 如何讓用戶端自動接受 DRBL 主機命令?
  10. 如果您要讓您的 windows 能接受 drbl server 的命令,請至您的 drbl 主機完成下列步驟 :
    1. 切換成 root, 先確定 /root/.ssh/ 下有沒有 id_rsa 和 id_rsa.pub 這兩個檔案.如果沒有則繼續下面步驟; 如果已經產生過,請跳至第 3 步驟,進行 ssh key 的安裝.
    2. 在DRBL server產生root的ssh key ,過程中詢問密碼時直接按 [Enter](表示不詢問)
    3. $ ssh-keygen -d
      Generating public/private rsa key pair.
      Enter file in which to save the key (/root/.ssh/id_rsa):
      Enter passphrase (empty for no passphrase):
      Enter same passphrase again:
      Your identification has been saved in /root/.ssh/id_rsa.
      Your public key has been saved in /root/.ssh/id_rsa.pub.
      The key fingerprint is:
      fe:56:XX:XX:XX:XX:XX:XX:XX:XX:83:ff:42
      root@drbl-server

    4. 然後就會在~root/.ssh下產生兩個檔 id_rsa id_rsa.pub,如下 :
    5. $ ls /root/.ssh
      id_dsa id_dsa.pub

    6. 然後將id_rsa.pub 從 server 傳至(或使用 usb 碟) windows 機器中的 Administrator 在 cygwin中 的家目錄下的.ssh 目錄(c:\cygwin\home\administrator\.ssh),存成 authorized_keys, 如:
    7. c:\your\windows\path> copy [path-of-id_dsa.pub] c:\cygwin\home\administrator\.ssh\authorized_keys
      或在 DRBL server 上直接使用 ssh-copy-id 指令,如下:
      sudo ssh-copy-id -i ~/.ssh/id_rsa.pub administrator@[win-client-ip]

      在 Windows 下存好公鑰至 c:\cygwin\home\administrator\.ssh 並命名為 "authorized_keys"
    8. 完成後,可在 drb server 上測試下命令給 Windows-client,如果正確安裝是不會詢問密碼, 如:
    9. $ ssh administrator@[win-client-ip] ipconfig
    10. 之後,您便可利用 /opt/drbl/sbin/dcs 來管理 windows clients 開、關機

  11. 多語系支援 | Language Support
    • 目前版本已支援下列數種語言下的 Windows 環境,並感謝提供翻譯與測試協助的相關人員
      • Traditional Chinese
      • English
      • French : joel_at_gondouin_net
      • Dutch : Dave Haakenhout (Almere, Netherlands)
    • 協助翻譯 !! [How to]

  12. 其他 | Other
    • Text FAQ : [ 中文 ][English ]
    • Web FAQ : 詳見這裡
    • History | 歷史紀錄 : [中文] [English]
    • 其他輔助工具 | Other Tools
      • [Stable]
        • EZ command sender : EZ-commands
        • 說明:提供更容易的介面讓管理者送命令至 drbl server 進行管理

      • [Testing]
        • User desktop recover tool : winroll-recover
        • 說明:提供使用者桌面還原功能