Categories
Networks

分享一个点对点隧道软件:vpncloud

Linux下的隧道(打洞)软件非常多,大部分隧道软件建立成功之后,是创建了类似C/S架构的点对点的通信,也就是会有服务器和客户端的区别,下个设备再进来,也一样这样创建。

如果你需要创建类似zerotier这样的虚拟局域网,那么你就应该看看这个隧道软件,它是开源的,名字叫做vpncloud。

功能和优点,文档之类的,你们直接去看官网的说明好了:https://vpncloud.ddswd.de

它的原理跟MPLS、VXLAN差不多,vpncloud也是通过源MAC地址学习,将虚机的MAC和VTEP的IP地址关联,理论上也能支持多播(multicast),但是官方并没有特别说明多播,你得自己多测试一下。那么对我来说,MPLS、VXLAN、VPNCLOUD他们最大的优点是去中心化(decentralize)的虚拟组网,多个设备接入后,可以互相通信而不需要经过所谓的主服务器节点,这样就能符合虚拟局域网的需求。

有中心节点的隧道技术有:pptp、gre、ipsec/ike、gre over ipsec、ipip、openvpn、l2tp、wireguard、ocserv等等

去中心化节点的隧道技术有:n2n、zerotier、zeronet、vpncloud、tinc-vpn、freelan

——————– 分割线 ——————–

我已经在我的生产环境中用了接近两年,非常稳定。我需要把我的几个服务器/vps放在一个子网内,以规避一些问题。

Categories
Networks

VPS虚拟机如何自建“iplc”

如果你只有VPS,无法创建虚拟机出来,还有没有办法使用隧道落地的方式自建伪“iplc”呢?

有的。用docker就好,没必要开小鸡了

你要做的是:

1. 找个国内网络还不错的vps,比如你就任性开个ecs按流量计费,把口子拉满,这个跑docker
2. 国外落地用的服务器或vps,不用跑docker
3. 给两边建立wireguard隧道,你用其他隧道也行,你能打通就好
4. 国内vps安装docker,并新建一个network单独给容器用,不用默认的docker0的侨接网络
5. 策略路由到你刚刚新建的docker network

前面3个步骤不用说了。那docker怎么玩?我这里就直接用命令行,没安装面板了。

1. 安装docker,用一键方式最靠谱,国内建议用阿里云的mirrors

curl -fsSL https://get.docker.com | bash -s docker –mirror Aliyun

2. 创建docker网络

docker network create nat

创建完注意看一下这个网络的ip段

docker network inspect nat

Categories
Networks

教你玩自建“IPLC” 轻松玩落地

给IPLC打双引号,是因为这个根本就比不过阿里企业网CEN,充其量也就是类似MPLS、VXLAN的东西,在条件允许的情况下也能得到类似iplc的体验。

IPLC与MPLS的区别
图片引用:http://s91presales.blogspot.com/2008/07/iplcmpls.html

受到条件制约比较明显,首先你国内服务器的ISP对隧道不太敏感,也就是qos等级并不高,而且你国内到你国外落地的物理距离尽可能近一些,延迟能控制在30ms以内,不然体验不会太好。另外CPU限制不要太死,毕竟打隧道你得加密算法的支撑,cpu太差就跑不满了。

————————— 分割线 —————————

事先说明

首先是利益无关,只是自己用的nat中转鸡一到晚高峰网络就很烂,然后看了一下iplc,发现也就是内网方案,所以就想用自己的服务器折腾玩玩,纯粹玩玩而已的啊,建议大家不要轻易尝试,毕竟在中间建立隧道的过程中,虽然有这个加密,但端口暴露和流量模型是铁定能被监控到的。别玩火**了哟

以下都是不正经言论和不正经测试,找点事情玩玩而已,要玩真正iplc的,阿里企业网CEN向你招手~ 不废话了。。。

Categories
Networks

Glorytun SD-WAN的开源实现

Glorytun是一款小型、简单,但又非常安全的隧道软件,支持AES-NI和ChaCha20-Poly1305加密,程序依赖libsodium >= 1.0.4,并且要求服务端和客户端的时间必须同步,误差不超过十分钟,安全性可以说非常高了。在功能上,与MPLS相比,支持多路径和故障转移(SD-WAN功能实现),也支持mtudp(UDP多端口复用),可极大限度的利用网络带宽。

项目地址:

https://github.com/angt/glorytun

安装方式

使用较新的Linux发行版,比如Ubuntu 16,CentOS 7,在安装完libsodium依赖后,可直接下载项目仓库的x86_64稳定版本,代码也可以自行编译安装,移植到其他系统或嵌入式系统,可以支持BSD系统,MacOS系统