内网穿透的折腾笔记

半日闲 2020年07月12日 55次浏览

背景

由于家里有台之前上大学用的笔记本,一直在家里吃灰,就想着在笔记本上做个k8s,用来实验,但是苦于不能在公司里面直接连过来,就想着搞个内网穿透,方便从公司直接连上家里面的笔记本。调研了很久,只用过2个内网穿透的工具,下面都简单的介绍一下。

Zerotier

这款工具,是基于p2p的技术的,不需要公网IP,官方搭建了几个根节点,还有planet节点,速度也还可以,只是极端条件下会有些不稳定,但是可以通过自己搭建moon节点的话,路由的距离可以少一点,也就快一些

  1. 在官网注册账号,并建立一个network
官网是:https://my.zerotier.com/


点击network栏,选择create a network即可
2. 在官网下载zerotier

下载地址:https://www.zerotier.com/download/
  1. 加入刚才创建的network
zerotier-cli join xxxx
# 执行后,从官网进入到刚才创建的network中,同意该接入请求即可


如上,同意接入请求后,可以给该设备配置ip,以及看到设备的在线情况

nps

这个工具的话,就基本上和其他的一样了,需要有个公网ip,将server端部署在公网的机器上,然后在内网机器上部署client端即可

nps官网地址:https://ehang-io.github.io/nps/#/install

下载路径
点击下载

  1. server端启动
启动命令:nps start 
需要修改的配置文件:
http_proxy_ip
bridge_port # 客户端连接的端口
public_vkey
web_host # web端登录主机名
web_password # web端登录密码
web_port # web端登录端口
  1. 登录web界面,添加客户端主机


    记住填写的“唯一验证密钥”,客户端连接需要使用
  2. 在客户端使用该密钥连接
./npc -server=web_host:bridge_port -vkey=刚才的密钥

在前台运行该命令,即可看到seccess等字样
npc交给systemd来控制,systemd文件如下

[Unit]
Description=npc

[Service]
Type=Simple
ExecStart=/usr/bin/local/npc -server=x.x.x.x:xxx -vkeny=xxx

[Install]
WantedBy=multi-user.targe