您好,登錄后才能下訂單哦!
對于一般企業要做Site to Site PNV 一般配置比較麻煩和有點復雜,
但是 Veeam 為了方便備份到Azure 上,在2017年出了一下能夠打通企業內網到Azure云 的通信,
推出了一個免費的產品:Veeam PN
利用它可以方便的做 Site to Site /point to Site 的PNV
veeam PN 從2.0 開始 可以在ubuntu 18.04上直接安裝,而不用下載他的OVA的虛擬機文件了。
接下來,我就來在ubuntu 上直接安裝Veeam PN 來實現 site to site PNV
以下是我測試的環境:
SiteA: 10.11.12.0/24
SiteB: 172.16.8.0/24
VeeamPN Hub 部署在 Site A (有公網IP)
VeeamPN Hub 內網IP: 10.11.12.9
VeeamPN Gateway 部署在 Site B (無公網IP)
VeeamPN Gateway 內網IP:172.16.8.8
?
VeeamPN System Requirements
1.在ubuntu 18.04 VeeamPN
登錄site A ubuntu 配置hostname : ni-pnv 配置靜態IP :10.11.12.9
vi /etc/hostname
vi /etc/netplay/01-necfg.yaml
netplan apply 應用配置:
下載并添加Veeam Software Repository Key:
curl -k http://repository.veeam.com/keys/veeam.gpg | apt-key add -
出錯了,原因是gnupng2 沒有安裝
apt install gnupg gnupg2 gnupg1
添加VeeamPN 的 APT source list 文件:
vi /etc/apt/sources.list.d/veeampn.list
或:
echo "deb [arch=amd64] http://repository.veeam.com/pn/public pn stable" > /etc/apt/sources.list.d/veeampn.list
然后運行 apt update
添加 WireGuard apt Repository:
apt-add-repository ppa:wireguard/wireguard
apt install software-properties-common -y
安裝完后,重新運行apt-add-repository ppa:wireguard/wireguard
接下來就可以正式安裝 VeeamPN:
apt? install veeam-pnv-ui veeam-pnv-svc
直到安裝完成:
在瀏覽中打開Veeam PN web Portal:
更改root密碼:
正式開始部署Veeam PN Hub:
將這個配置文件保存下來,將在配置Site B 端的Veeam PN 時要用到的。
完成Site A 端的 Veeam PN的配置,
然后在Site A 端的防火墻上配置到Site B 端的默認路由。
到這里,Site A 端就全部配置完畢。
?
接下來在Site B 端 的Ubuntu 上安裝Veeam PN
方法和Site A 完全一樣。這里省略….
?
安裝Veeam PN 完后,在 瀏覽器中打開 Veeam PN web portal:
找到在Site A 配置 Client 時下載的xml配置文件:
點擊 :finish 完成配置。
接下來看到 server Connected :
接下來我們看看,從site A 到 site B 是否能連通:
在Site A 的系統上運行cmd
到這里為止,從Site A 到 Site B 是可以通信的。
最后我們要看一下從Site B 到 Site A是否能通信?
在site B 端的防火墻上添加一條 到site A 的靜態路由:
然后看看,在site B 的系統上ping Site A 是否能通:
這樣看來,site B 到 Site A 是無法通信的。
通過對比 site A 和 B 的 Veeam PN上的路由表,我們發現在 Site B 的 Veeam PN 上沒有到 Site A的路由:
Site A 的路由表:
?
Site B 的路由表:
現在試著在Site B 上手工添加一條到 site B 的路由是不是可以呢:
結果是:
之前是請求超時,加了路由后是 無法訪問目標該機
跟蹤路由發現應該是site B 端的 veeam pn? 無法轉發 到 site A 的通信。
此問題暫時無解,后續再看看應該是wireguard 的配置問題。
這個問題在官方的文檔里都沒有體現,Veeam 在這上面有點過分,
記得 veeam PN 1.0 出現同樣的問題,手工添一條路由就可以相互通信的。
現在Veeam PN 2.0 同樣的問題還是沒有在官方的文檔上提到,
https://helpcenter.veeam.com/docs/veeampn/userguide/how_to_local_sites.html?ver=20
官方論壇里有人提到:https://forums.veeam.com/veeam-tools-for-microsoft-azure-f36/veeampn-working-but-only-in-one-direction-t62278.html
?
附:
解決方法:
通過對比Site A 和 Site B 上的 Wireguard的配置發現:
site A :
Site B:
發現在site B 配置中的allowed ips 中并示包括 site A 的地址段:10.11.12.0/24
所以我們要在site B 的WireGuard 的allowed ips配置中添加 10.11.12.0/24 這段地址:
wg set wg.veeampn peer? ************? allowed-ips 10.11.12.0/24,10.211.0.0/16,10.210.0.0/16
?
現在來看看 site B 到 Site A是否能正常通信:
這樣現在是可以正常通信的。
所以,從這件事可以看出有時候完全按官方文檔來操作也是會出問題,
而且像veeam PN 這樣的在連續幾個版本的更新都存在同樣問題視而不見,
直不知寫那個官方文檔的人是否真正做過測試,還是想當然的憑空來寫的文檔。
?
通過測試發現手動添加的路由和修改,系統重啟后會消失的。
可以考慮讓這幾條命令在系統啟動時自動加載
由于Ubuntu 18.04 默認不啟用rc.local,因些先得啟用:
ubuntu18.04不再使用 inited 管理系統,改用 systemd,
systemd 默認會讀取 /etc/systemd/system 下的配置文件,該目錄下的文件會鏈接 /lib/systemd/system/ 下的文件。一般系統安裝完 /lib/systemd/system/ 下會有 rc-local.service 文件,將 /lib/systemd/system/rc-local.service 鏈接到 /etc/systemd/system/ 目錄下面來:
ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
vim /etc/systemd/system/rc-local.service
在文件末尾增加:
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
編輯/etc/rc.local
vim /etc/rc.local
內容為:
#!/bin/bash
sleep 90
wg set wg.veeampn peer ************ allowed-ips 10.11.12.0/24,10.211.0.0/16
route add -net 10.11.12.0/24 dev wg.veeampn
exit 0
這樣就實現真正的site to site 之間的相互通信了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。