官方网站

单机版本介绍:

本项目提供云网络服务,用于多地区组网技术,相当于将多个地域网络虚拟统一局域网,方便团队跨地域网络访问;提供统一控制面板进行管理,并且利用P2P技术提升节点近点加速;如果多个节点处于内网,那么会优先采用内网进行互通;并且支持多云转发管理;根据网络时延动态路由;

示意图:

版本特性:

  1. 支持 windows & linux 客户端、服务端程序
  2. 支持手动网络配置,云转发;
  3. 支持多网络平面隔离;

软件下载地址: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
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.3.2  netmask 255.255.255.0  broadcast 192.168.3.255inet6 fe80::215:5dff:fe03:b00  prefixlen 64  scopeid 0x20<link>
...

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 ms

5、测试环境

为了方便大家测试,我们提供一台位于云主机服务器,已经部署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时延也会很低,如果多个地域,会自动走公网转发服务,所以时延会较长;

也可以通过 ipconfigifconfig 查看虚拟网卡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
...

本人在国内大厂从事软件研发十余年,负责过网络产品、安全产品,云服务等产品等核心架构技术研发、设计和维护工作,研发经验丰富。现如今参与创业项目。欢迎大家交流合作。

官方网址:https://www.easymesh.info/

【P2P overlay network】跨内外网络虚拟私有云相关推荐

  1. vpc自建服务器,虚拟私有云VPC搭建IPv6网络教程

    本教程将指引您搭建一个IPv6网段的VPC,并在VPC中创建一个带有IPv6地址的ECS,使ECS可以访问Internet上的IPv6服务.配置流程如图1所示. 图1 搭建IPv6网络 说明: 若您已 ...

  2. 虚拟vpc服务器搭建,虚拟私有云VPC搭建IPv6网络

    虚拟私有云VPC搭建IPv6网络 内容精选 换一换 虚拟私有云(Virtual Private Cloud)是用户在华为云上申请的隔离的.私密的虚拟网络环境.用户可以自由配置VPC内的IP地址段.子网 ...

  3. 图解虚拟私有云 VPC

    图解虚拟私有云 VPC 虚拟私有云简介 核心组成 服务能力 私有网络 安全访问控制 外部网络访问 审计和监控 计费模式 免费使用 付费使用 约束和限制 参考链接 虚拟私有云简介 虚拟私有云(Virtu ...

  4. 虚拟私有云(Virtual Private Cloud,VPC)

    虚拟私有云(Virtual Private Cloud,VPC) https://support.huaweicloud.com/vpc/index.html 虚拟私有云(Virtual Privat ...

  5. 虚拟私有云:内部部署计算的替代解决方案

    虽然很多企业都了解公共云的好处,但他们却宁愿把他们的工作负载置于单租户环境中.本文将介绍虚拟私有云是如何满足这一需求的. 公共云的好处不断地吸引着企业用户们的关注,近年来其应用也有了显著的增长.但是在 ...

  6. 虚拟私有云,弹性云服务器的相关概念

    虚拟私有云(Virtual Private Cloud) VPC为用户构建隔离的虚拟网络环境.用户可以完全掌控自己的虚拟网络,其中包括:申请弹性带宽/IP,创建子网,配置DHCP,设置安全组等. 相关 ...

  7. 华为虚拟私有云VPC

    一.VPC概念 虚拟私有云(Virtual Private Cloud)是用户在华为云上申请的隔离的.私密的虚拟网络环境.用户可以自由配置VPC的IP网段.子网.安全组等子服务,也可以申请弹性带宽和弹 ...

  8. 华为云占用443端口_华为云(虚拟私有云VPC)装好宝塔,但访问不了面板的解决方法。...

    如果安装没有明显报错.那问题基本已经定了.就是 安全组 没有放行 相关端口. 没放行的,看一下文章自己放行.放行了,但是还不行.直接看最后一点. 安装图如下: 正常安装结束.图上有两点信息: 1. s ...

  9. Arm+linux+container,Container Station和网络虚拟交换机——威联通NAS入门指南(篇四)...

    Container Station和网络虚拟交换机--威联通NAS入门指南(篇四) 2021-01-13 21:14:09 17点赞 105收藏 4评论 哈喽,大家好. 创作声明: 威联通软件容器工作 ...

最新文章

  1. python获取系统时间月份_python 取数组绝对值python获取当前日期
  2. 微软Windows 7实现10秒启动的背后
  3. 【编码】-小Ho的防护盾-2016.08.14
  4. MNE-Python从Raw对象中解析event
  5. Java Proxy和CGLIB动态代理原理
  6. 258. Add Digits
  7. 机器学习之kNN算法(纯python实现)
  8. 急速上线 Serverless 钉钉机器人“防疫精灵”
  9. EOS声称的每秒百万级的交易速度靠谱么?
  10. 【LeetCode】1. 盛最多水的容器:C#三种解法
  11. Java中url传递中文参数取值乱码的解决方法
  12. 数据类型以及数据类型的转换---防止忘记
  13. Atitit.java jna 调用c++ dll 的总结
  14. FB是磁珠的符号,磁珠有很高的电阻率和磁导率,他等效于电阻和电感串联
  15. bootrom的构成
  16. 动物计算:模型的建立与仿真
  17. Watchguard Firebox 配置DKEY动态口令认证
  18. 开源规则引擎比较_Lively Wallpaper - 免费开源的动态壁纸桌面软件 (Wallpaper Engine 替代品)...
  19. 交互式多模型算法IMM——机动目标跟踪中的应用
  20. 移动内部疯传的11篇VoLTE学习笔记,看懂了你也是技术大神(一)

热门文章

  1. POJ-2502 Subway( 最短路 )
  2. getchar();吸收回车符
  3. 如何将wps中的表格转为图片,并设置较高的dpi
  4. 麦子学院学习视频之机器学习(1):1.1 机器学习介绍
  5. 仿GTS实现的分布式事务框架meepo
  6. P93-好玩游戏的物品清单
  7. 安卓贴图源码---记录旋转后位置..类似in/百度魔图
  8. 【信息系统项目管理师】信息系统主流开发方法之结构化方法、面向对象方法和原型法总结
  9. 软考-信息系统项目管理师-项目风险管理
  10. 我的K均值算法的matlab实现