【P2P overlay network】跨内外网络虚拟私有云
官方網站
?
單機版本介紹:
本項目提供云網絡服務,用于多地區組網技術,相當于將多個地域網絡虛擬統一局域網,方便團隊跨地域網絡訪問;提供統一控制面板進行管理,并且利用P2P技術提升節點近點加速;如果多個節點處于內網,那么會優先采用內網進行互通;并且支持多云轉發管理;根據網絡時延動態路由;
示意圖:
版本特性:
軟件下載地址:https://github.com/easymesh/release/releases/tag/v0.1.0
根據您所需要部署的形態決定;客戶端、服務端沒有綁定限制,支持windows & linux 混合部署使用;提供 gateway 和 transfer 兩個可執行文件;gateway 屬于客戶端,transfer 屬于服務端,該版本transfer還不支持分布式部署,部署transfer需要準備一個公網IP地址;
安裝部署
1、準備工作:
部署gateway程序需要完成如下平臺的檢查和安裝;
windows
- 安裝 tap windows 虛擬網卡驅動;?win10?win7
linux
- 查看tun設備是否存在;?ls -ail /dev/net/tun
2、啟動transfer程序
需要提前準備一臺linux/windows云主機,并且綁定固定公網IP地址,不一定需要綁定域名;以及兩個本地linux/windows測試節點;
啟動命令:
Usage of transfer.exe:-bind inttransfer server bind port (default 8000)-debugdebug mode-helpusage-log stringlog dir (default "/opt/log")-nums inttransfer server instance nums (default 1000)-public stringpublic IP (default "www.youdomain.com")- -bind: 所需要綁定的UDP起始端口,注意轉發transfer服務支持綁定多個端口,每個端口分別對于一個namespace,配合 -nums 參數,可以創建多個獨立轉發地址空間;默認端口范偉為:8000~9000,如果其中一個端口被占用,則會忽略并跳過該端口;
- -debug: 調試模式,所以日志將打印到控制臺,不會輸出到目錄;方便問題定位;
- -log: 運行日志的目錄地址;默認會記錄30天運行日志,并且支持zip壓縮;建議您保留大約1GB以上磁盤空間;
- -nums: 命名空間數量,也對應服務實例數量,與-bind結合使用,請保留相應端口范圍;
- -public: 云服務主機對外IP或者域名;需要公網可以訪問的IPv4地址;
注意:使用方式不區分windows、linux平臺,啟動后保持后臺長時間運行即可;
3、啟動gateway程序
在客戶端側,可以連接外網訪問云主機的節點都可以;
Usage of gateway.exe:-debugdebug mode-helpusage-iface stringused interface or ip address (default "eth0")-ip stringvirtual IP (default "172.168.0.1")-log stringlog dir (default "/opt/log")-trans stringtransfer public address (default "www.youdomain.com:8000")- -debug: 調試模式,所以日志將打印到控制臺,不會輸出到目錄;方便問題定位;
- -ip: 在當前虛擬網絡中的虛擬地址IP,目前支持IPv4地址,例如:172.168.x.x,默認255.255.0.0網段,注意:不能與自身其他網卡網段沖突;
- -log: 運行日志的目錄地址;默認會記錄30天運行日志,并且支持zip壓縮;建議您保留大約1GB以上磁盤空間;
- -trans: 連接相應轉發服務,就是對應transfer的公網IP地址和端口;如果選用一個端口,那么其他需要加入同一個網絡namespace的節點,端口需要保持一致;
- -iface: 綁定本地網卡名稱或者IP地址,比如:在linux環境下面默認eth0,而windows相對復雜;可以通過 控制面板 -> 網絡與共享中心 -> 更改適配器設置 里面進行查看;例如截圖:?對應名稱為:?vEthernet (wlan)或者查看IP地址方式,例如:linux 通過命令?ifconfig?查看相應IP地址,例如如下eth0對應的IP地址為:192.168.3.2
windows通過查看ipconfig命令查看地址:
以太網適配器 vEthernet (wlan): 連接特定的 DNS 后綴 . . . . . . . : 本地鏈接 IPv6 地址. . . . . . . . : fe80::5523:9866:1b83:5ad7%9 IPv4 地址 . . . . . . . . . . . . : 192.168.3.11 子網掩碼 . . . . . . . . . . . . : 255.255.255.0 默認網關. . . . . . . . . . . . . : 192.168.3.1注意:使用方式不區分windows、linux平臺,啟動后保持后臺運行即可;
4、測試連通性:
兩個部署gateway的節點互ping對方的虛擬IP地址;結果如下表示成功;
root@node2:~# ping 172.168.3.1 PING 172.168.3.1 (172.168.3.1) 56(84) bytes of data. 64 bytes from 172.168.3.1: icmp_seq=1 ttl=126 time=2.78 ms 64 bytes from 172.168.3.1: icmp_seq=2 ttl=126 time=3.65 ms 64 bytes from 172.168.3.1: icmp_seq=3 ttl=126 time=2.85 ms5、測試環境
為了方便大家測試,我們提供一臺位于云主機服務器,已經部署transfer程序,提供大家測試使用,1Mb帶寬,資源有限:
121.37.163.197:5000 ~ 121.37.163.197:6000注意:任意選擇一個端口測試即可,注意可能會有人同時使用一個端口;盡量測試完成后停止使用,避免與其他人沖突;
大家在本地部署gateway程序就可以了;準備兩臺節點;
參考命令:
windows:
gateway.exe -ip 172.168.3.1 -trans 121.37.163.197:5555 -iface "vEthernet (wlan)" -debug
linux:
./gateway -ip 172.168.3.2 -trans 121.37.163.197:5555 -iface "eth0" -debug
兩個節點相互ping對方虛擬IP;
root@node2:~# ping 172.168.3.1 PING 172.168.3.1 (172.168.3.1) 56(84) bytes of data. 64 bytes from 172.168.3.1: icmp_seq=1 ttl=126 time=2.78 ms 64 bytes from 172.168.3.1: icmp_seq=2 ttl=126 time=3.65 ms 64 bytes from 172.168.3.1: icmp_seq=3 ttl=126 time=2.85 ms注意:如果兩個節點在同一個局域網,那么他們互ping時延也會很低,如果多個地域,會自動走公網轉發服務,所以時延會較長;
也可以通過?ipconfig、ifconfig?查看虛擬網卡IP地址信息;
mesh0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1472inet 172.168.3.2 netmask 255.255.255.255 destination 172.168.3.2 ...本人在國內大廠從事軟件研發十余年,負責過網絡產品、安全產品,云服務等產品等核心架構技術研發、設計和維護工作,研發經驗豐富?,F如今參與創業項目。歡迎大家交流合作。
官方網址:https://www.easymesh.info/
總結
以上是生活随笔為你收集整理的【P2P overlay network】跨内外网络虚拟私有云的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue+css漂亮的定制日历
- 下一篇: 学习笔记(2):走近智慧医疗,探索物联网