對於通常企業要作Site to Site PNV 通常配置比較麻煩和有點複雜,html
可是 Veeam 爲了方便備份到Azure 上,在2017年出了一下可以打通企業內網到Azure雲 的通訊,web
推出了一個免費的產品:Veeam PNubuntu
利用它能夠方便的作 Site to Site /point to Site 的PNVvim
veeam PN 從2.0 開始 能夠在ubuntu 18.04上直接安裝,而不用下載他的OVA的虛擬機文件了。瀏覽器
接下來,我就來在ubuntu 上直接安裝Veeam PN 來實現 site to site PNV bash
如下是我測試的環境:app
SiteA: 10.11.12.0/24curl
SiteB: 172.16.8.0/24ide
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
附:
解決方法:
經過對比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 之間的相互通訊了。