背景:
總部研發中心需要將機房的存儲SMB服務中某些文件同步到 IDC 及 分公司研發中心辦公區內部SMB。 IDC與總部研發中心通過IPsec***,形成隧道鏈路;分公司辦公區域僅爲基本網絡。
難點:
辦公區無硬件***類設備,無固定IP
總部的防火牆提供的***客戶端Linux版本僅爲1.00,需要開圖形且極其不好用;
解決方法:
辦公區域增加前置機安裝windows版本軟件***,實現與總部前置機聯通。
網絡連接拓撲如下:
應用實施拓撲及步驟如下:
實施步驟1:
配置兩地SMB
總部samba服務器安裝NFS(或者沿用SMB),分公司配置SMB服務器;
在兩辦公區將相關路徑磁盤分別掛載到各自的前置機;
實施步驟2:
通過的IPSec***的方式,將總部前置與IDC前置策略打通;
將已經掛載SMB的前置機上文件夾rsync到IDC託管服務器的相關目錄;
實施步驟3:
實現Windows與Linux跨機房數據同步
本文着重講述實施步驟3的相關細則
要點:
分公司無固定IP,採用“PULL”方式,將數據文件通過rsync同步到分公司前置機。
所需軟件:
防火牆自帶Windows版本***客戶端
cwRsync_5.5.0_x86_Free.zip
(下載地址:https://www.itefix.net/dl/cwRsync_5.5.0_x86_Free.zip)
衆所周知,rsync依賴於ssh進行登錄,Windows版本rsync的難點在於如何實現無密碼自動登錄。
難點1:ssh所對應Windows下的/home目錄創建
增加環境變量:
系統變量
新增path
C:\cwRsync_5.5.0_x86_Free\bin
用戶變量
新增CWRSYNCHOME
C:\cwRsync_5.5.0_x86_Free\bin
完成後需要通過命令行創建/home/Administrator/.ssh
創建.ssh必須通過命令行
cmd中執行
SET CWRSYNCHOME=C:\cwRsync_5.5.0_x86_Free MKDIR %CWRSYNCHOME%\home\%USERNAME%\.ssh
難點2:keygen權限問題
cmd中執行
ssh-keygen -t rsa -C Administrator@IP
一路回車,無密碼
將得到的公鑰下發到總部前置Linux服務器
導入分公司前置機公鑰
cat id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 .ssh/authorized_keys
公鑰下發後依舊保持需要密碼,報錯如下:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@WARNING: UNPROTECTED PRIVATE KEY FILE!. @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
這個報錯是因爲Windows下生成的id_rsa id_rsa.pub及konw_hosts權限不是600
於是更改文件屬性到如下
修改後如下:
執行以下腳本進行同步:
@ECHO OFF SET CWRSYNCHOME=C:\cwRsync_5.5.0_x86_Free IF NOT EXIST %CWRSYNCHOME%\home\%USERNAME%\.ssh MKDIR %CWRSYNCHOME%\home\%USERNAME%\.ssh SET CWOLDPATH=%PATH% SET PATH=%CWRSYNCHOME%\bin;%PATH% rsync -vzrtopg --progress --delete backup@總部前置機IP:/home/share/ /cygdrive/e/
設置任務計劃,就可以實現定時自動同步。