内网穿透,如果是自己家里的路由器,nas什么的想要能够外网访问,最简单的办法就是打电话给运营商,让给外网IP,一般电信联通的都能要到,移动就呵呵一笑吧。
搞不到外网IP的时候就需要用内网穿透的软件了。
1. frp
以前用的是frp,效果可以,可以转发,也可以p2p直连。
- 需要一个有公网ip的服务器端,或者找一个免费的服务端
- 每一个端口都需要设置一条配置,虽然利于控制,但是端口多了也麻烦
2. Zerotier
这是国外的软件,他提供了免费的服务端,也在国外(新加坡、日本、美国等),虽然能用,但延迟可能会大点,有的地方网不好了延迟就不是大一点了。有些地方还会封国外的IP,这时候它显得就不好用了。不过,也有办法能解决的,可以让我们很好的使用内网穿透。
先说一下,Zerotier工作需要2个部分,1是我们使用的Zerotier客户端,就在官网能下载,1是人家官方提供的服务端(Planet服务器),管理客户端并给客户端提供网络转发等服务。当然官方考虑到网络可能不好,又提供了允许用户自行搭建的Moon服务器,拍配合官方的planet服务器使用:当planet服务器网不好时,使用自己的Moon服务器来调配网络。
总的来说,有3部分:
- Zerotier客户端,有Windows,Linux等版本,基本是全的
- 官方服务器 -- Planet服务器,是不让自己部署的
- Moon服务器,允许用户自己部署,作为官方服务器的补充,但是也需要公网IP的,因为Zerotier可以P2P直连,所以这个服务器不用太好,腾讯云的4M带宽新手服务器用着就不做。
2.1 大神牛逼
- 如果只是偶尔用用,就用frp找个免费服务器,或者去Zerotier官网注册账号,配置自己的局域网,下载客户端使用就行。
- 如果用的比较多,那就自己搭建frps服务器用,这个是真简单。
- 如果用的多,端口也不固定经常换,那还是自己搭建Zerotier的 Planet服务器吧。为什么是Planet而不是Moon,你都有公网IP的服务器了,搭建Planet不是更好,省去了官方的转换,自己独享。还有,Moon是要在Planet的基础上才能用的,有些地方官方的Planet服务器都连不上,也就用不了Moon服务器了(比如我这,只要是国外的IP,根本就Ping不通)
为什么说大神牛逼呢?官方不让自己部署Planet服务器,但是大神硬是自己弄出来了,并且效果还不错,完全可以替代官方服务器。
2.2 部署Planet服务器 -- 在linux上
我觉得啊,这个服务器和客户端,用的都是Zerotier-one这个软件,只不过配置不一样,所以就成了 客户端、Planet服务器、Moon服务器。
部署Planet服务器,同时需要一套前端网页像官方网站一样来管理我们的局域网,这个前端网页用的是ztncui。
网上有很多教程,说法不一,但没几个是可以顺利完成的。如果想自己动手一步步来,可以参考这个:
如果想省事,可以使用docker,参考这个 docker一键私有部署 zerotier 构建私有plant moon 突破50台设备限制
2.3 常用命令
- 软件位置
Windows: C:ProgramDataZeroTierOne
Macintosh: /Library/Application Support/ZeroTier/One
Linux: /var/lib/zerotier-one
FreeBSD/OpenBSD: /var/db/zerotier-one - windows上启动命令:
zerotier-one -d
window上就在任务管理器里面,服务选项中找到他来启停 - linux上
# 启动停止
sudo systemctl stop zerotier-one
sudo systemctl start zerotier-one
# 查看9993端口是否被占用
netstat -lp | grep zero
# 启动zerotier客户端
zerotier-one -d
# 杀死zerotier所有进程
killall -9 zerotier-one
# 卸载移除zerotier
yum remove zerotier-one
# 查看客户端连接服务器的状态
zerotier-cli status
zerotier-cli info
# 加入网络
zerotier-cli join XXXXX
# 删除网络
zerotier-cli leave XXXXX
# 查看连接的zerotier网络
zerotier-cli listnetworks
# 加入moon服务节点
# Your ZeroTier moon id is 87ea7b65d2, you could orbit moon
# using "zerotier-cli orbit 87ea7b65d2 87ea7b65d2"
zerotier-cli orbit c2b773bc9a c2b773bc9a
# 查看所有节点信息:planet根服务器、moon服务器、leaf节点,删除目录中对应的文件应该就查不到了
zerotier-cli listpeers
网友评论