诡谲 大佬有话说 :
再介绍一个隧道软件 有详细教程和说明
本帖最后由 诡谲 于 2020-2-10 00:15 编辑
以下内容出现的扶墙自觉换成 v p n。。。
隧道软件何其多,好用的个人感觉并不算多。大部分隧道软件建立成功之后,是创建了类似C/S架构的点对点的通信,也就是会有服务器和客户端的区别,下个设备再进来,也一样这样创建。如果你需要创建类似zerotier这样的虚拟局域网,那么你就应该看看这个隧道软件,它是开源的,名字叫做扶墙cloud
功能和优点,文档之类的,你们直接去看官网的说明好了:https://扶墙cloud.ddswd.de
对我来说它的最大优点是去中心化的虚拟组网,多个设备接入后,可以互相通信而不需要经过所谓的主服务器,这样就能符合虚拟局域网的需求。
有中心节点的隧道技术有:pptp、open扶墙、l2tp、wireguard、ocserv等等
去中心化节点的隧道技术有:n2n、zerotier、扶墙cloud
——————– 分割线 ——————–
没用过我就不bb,但其实我已经在我的生产环境中用了接近两年,非常稳定。我需要把我的几个服务器/vps放在一个子网内,以规避一些问题。
比如我有一个应用场景是这样:
在公司有一个机柜,里面放着许多网络设备,有nas、voip、打印机、监控摄像等,但tm没有公网IP,在网关做端口映射毫无意义,只能接入虚拟局域网
然后在我家里,也有若干的设备,有时候也在家里办公,需要时时到公司的网段弄点什么东西的。
这时候我只需要把公司和家里连到一个局域网内,再做个路由表,我就可以把公司和家里的所有设备都能组在一起
——————– 分割线 ——————–
另外一个场景是web
我有一个用gitea搭建的服务,服务器放在公司机柜,没有公网IP。。。所以我把它加入到虚拟局域网
然后我用的阿里云国内ecs,也加入到虚拟局域网了。gitea我们用的时候除了需要用到https,也需要ssh这种方式,所以这时候就可以直接端口转发到这个隧道IP上
—————————————- 大分割线 —————————————-
BB 那么多,直接分享安装步骤吧
我平时只玩ubuntu,所以其他发行版你们有兴趣自己折腾,官网也有说明。
ubuntu就简单了。直接apt安装即可。
echo "deb https://repo.ddswd.de/deb stable main" | sudo tee /etc/apt/sources.list.d/扶墙cloud.list
wget https://repo.ddswd.de/deb/public.key -qO – | sudo apt-key add
sudo apt update
sudo apt install 扶墙cloud
然后配置隧道参数,进入/etc/扶墙cloud/路径,里面有一个示例文件,单独创建一个,然后编辑它
touch private.net
vim private.net
# each 扶墙 running on their own port
port: 3210
# members of our private network
peers:
– 202.175.123.1:3210 #10.192.88.1
– 140.238.220.31:3210 #10.192.88.2
# timeouts
peer_timeout: 1800
dst_timeout: 300
# token that identifies the network and helps to distinguish from other networks
magic: "22e03358"
# pre shared key
shared_key: "eTBK6A37u9NUYQ4GPWpQSdNj4zsjcWMG"
# encryption
crypto: aes256
# device info
device_name: "扶墙cloud%d"
device_type: tap
# 扶墙 modes: hub / switch / router / normal
mode: normal
# subnet to be used for our private network
subnets:
– 10.192.0.0/16
# command to setup the network
ifup: "ifconfig $IFNAME 10.192.88.1/16 mtu 1400"
ifdown: "ifconfig $IFNAME down"
# user/group owning the process
user: "root"
group: "root"
最后让扶墙cloud开机启动和运行
systemctl enable 扶墙cloud@private
systemctl restart 扶墙cloud@private
——————– 分割线 ——————–
经验分享
0. 每个节点的IP都需要在配置文件中配置,不会自动分配的。也就是ifup: "ifconfig $IFNAME 10.192.88.1/16 mtu 1400" 这行
1. 这个是udp的,或多或少会收到qos影响
2. 如果你的设备的CPU能硬解AES,那么在配置文件中crypto选择用aes256,否则用chacha20,所有连上来的节点都需要同样的加密方式
3. ping或测速什么,都是取决于你原来到目标服务器的延迟和速度有多少,和隧道没太大关系,网络该烂的还是烂。
4. 如果想要优化吞吐量,可以考虑把MTU加大,我自己目前设置的MTU是7000,用下来也是非常靠谱的,对比测试可以看官方的文档 https://扶墙cloud.ddswd.de/features/performance/
5. 关于加密,这里有两个地方可以设置的,一个是长度为4byte的magic,另外一个是预共享密钥shared_key,长度为32位,每一个节点都是一样的。
6. 我习惯在peers那里留两个长期稳定运行的节点,其他不重要的节点就没必要写在这个配置文件中了,有节点上线,会自动并入网络的。
关于nat的问题
既然这是个虚拟组网的软件,那自然nat是不在话下的,你只需要在某个节点,把iptable转发打开,就跟你们常用的扶墙那种设置一样。其他节点再整个策略路由,把ip整理好,直接走这个虚拟内网就好。
换句话说这可以怎么玩?
你可以在国内一个主机上做最简单的socks代理,分别把要代理的目标,通过策略路由导到不同的落地节点去。
祝大家玩的愉快。
诡谲 大佬有话说 :
占楼:lol
lanP1ng 大佬有话说 :
看不懂 绑定大佬分享
挖坑达人 大佬有话说 :
mark
三个姑娘 大佬有话说 :
好,字数补丁
b66667777 大佬有话说 :
666 紫薯布丁
limonada 大佬有话说 :
666 紫薯布丁
ChinaT 大佬有话说 :
马克,学习了
先容我水一发 大佬有话说 :
mark
deyu 大佬有话说 :
看不懂定一下