内网穿透

2021/9/9 内网穿透

# 一、概念说明

  • 百科解释:内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。
  • 人话解释:我的电脑我自己能访问,虽然我的设备联网了但不是独立IP所以除了跟我在同一内网(即局域网,通俗就是连接的一个路由器)的设备是访问不到我的, 想要访问到我就得"穿透内网"即接下来要讲的内网穿透。

为什么要用内网穿透?

  • 自己做了个系统没处显摆,难受~~
  • 给客户演示系统,但是没有服务器不能部署到公网,焦虑~~
  • 跟异地的人联调系统,对方各种摸鱼,愤(ji)怒(du)~~
  • 公司不给配笔记本,回家还让干活,有程序没有数据库,严(ku)词(bi)拒(jia)绝(ban)!!

所以我们为了解决没处显摆,难受!这个大痛点给出以下解决方案:

# 二、花生壳穿透 (opens new window)

如图所示,不赘述了,简单的很

half

# 三、钉钉开放平台穿透 (opens new window)

# 3.1、下载工具

git clone https://github.com/open-dingtalk/pierced.git
# 新版地址
git clone https://github.com/open-dingtalk/dingtalk-pierced-client.git
# 以mac下的的文件为例
% ls -al
total 22936
drwxr-xr-x@ 4 fuyanda  staff       128  8 10  2020 .
drwxr-xr-x@ 7 fuyanda  staff       224  8 10  2020 ..
-rwxr-xr-x@ 1 fuyanda  staff  11762379  8 10  2020 ding
-rwxr-xr-x@ 1 fuyanda  staff       133  8 10  2020 ding.cfg
1
2
3
4
5
6
7
8
9
10

# 3.2、启动工具

./ding -config=./ding.cfg -subdomain=域名前缀 端口

# 关闭客户端后穿透同时失效
./ding -config=./ding.cfg -subdomain=biubiu 9494

# 关闭后继续有效
nohup ./ding -config=./ding.cfg -subdomain=biubiu 9494
1
2
3
4
5

nohup 不挂断的运行,注意并没有后台运行的功能。就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,nohup没有后台运行的意思。

# 3.4 使用DingTalk Design CLI启动内网穿透

1.执行以下命令,下载DingTalk Design CLI工具。

npm install dingtalk-design-cli@latest -g
1

2.执行以下命令,检测是否成功安装。

ding -v
1

3.执行以下命令,启动钉钉内网穿透。

ding ngrok --subdomain dingabcde --port 8080
1

# 3.3、参数说明

参数 说明
-config 内网穿透的配置文件,按命令照示例固定为钉钉提供的./ding.cfg,无需修改
-subdomain 您需要使用的域名前缀,该前缀将会匹配到“vaiwan.com”前面,例如你的subdomain是biubiu,启动工具后会将biubiu.vaiwan.com映射到本地。
端口 您需要代理的本地服务http-server端口,例如你本地端口为8080等

nat01

注意

映射创建后直接就是域名的格式访问到了对应的端口上,后面不需要再单独加端口

启动后访问http://biubiu.vaiwan.com即可访问访问本地http:localhost:9494,如下图: nat02

缺点

tcp协议没有试验成功,转发数据库端口失败了,ding.cfg文件有3306对应1234端口,使用时 mysql -h biupia.vaiwan.com -P 1234 -u root -p mima; 但是不好使。。。。,最后用的Ngrok实现的数据库端口转发

# 四、Ngrok穿透 (opens new window)

和钉钉的很相似也是支持多平台的穿透工具,官方给的文档和详细,这里直接引用

Ngrok官网帮助文档 (opens new window)

要先去官网注册用户,申请免费的域名和clintid后使用,优点是支持的协议比较多,缺点是网速可能比较

# 五、FRP (opens new window)

github上的一个开源项目,描述可以参考https://my.oschina.net/u/3269106/blog/3028563 (opens new window)

  • 中文文档地址:https://gofrp.org/docs/
  • github地址:https://github.com/fatedier/frp/blob/dev/README_zh.md
  • 文件下载地址:https://github.com/fatedier/frp/releases

# 六、其他工具

  • NATAPP (opens new window):需要实名认证,免费的有连接数限制,生成的域名会动态强制改变
  • http://ittun.com/
  • utools (opens new window)已经被封 1、下载安装 安装完成后使用alt+空格弹出全局搜索框(如果快捷键被占用就点击任务栏中的图标即可) 输入“内网穿透”或者“内网”或者“穿透”进行搜索,第一次打开可能会有点慢如果卡顿等待一会就好! nat04 2、按下图所示进行操作,进入配置界面 nat05 3、填写配置信息后连接,即可使用 nat06
留言:
    更新日期: 2022/4/27 下午2:27:30