linux下配置钉钉内网穿透_内网穿透技术实践

第一章 引言

首先,什么是内网穿透?

内网穿透是指在外网访问运行局域网电脑搭建的服务。举个例子,你在公司搭建一个Tomcat服务,通过localhost:8080访问,回家后就无法通过局域网ip访问,这就需要将本地ip映射到一个公网ip(比如阿里云、腾讯云之类),就可以实现在家访问公司里搭建的服务

第二章 相关工作

1.公网ip哪里来?

一般部分运营商会给民用公网ip。但据博主所知,大部分地区电信会提供公网ip,目前移动只提供局域网ip。不过即使有了运营商的公网ip,相关外网端口也被运营商封闭,除非你跟他交涉开启相关外网端口。所以一般都是使用阿里云等提供的服务器对应的公网ip

2. 准备frp软件

下载地址:https://github.com/fatedier/frp/releases

linux下配置钉钉内网穿透_内网穿透技术实践_第1张图片
linux下配置钉钉内网穿透_内网穿透技术实践_第2张图片

本文以0.11版本为例,服务端是阿里云的Linux服务器,客户端是Windows。客户端相当于公司电脑,能够访问内网,而服务端则是做端口转发使用

FRP的好处:

利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务

对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口

利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机

第三章 方法

1. 服务端(以Linux服务器为例)

解压上面的下载好的frp软件包:tar zxvf frp_0.11.0_linux_amd64.tar.gz

然后进入解压到的文件夹: cd frp_0.11.0_linux_amd64

修改服务端配置文件vi frps.ini

[common]#绑定端口bind_port = 9000#http和https服务的端口号vhost_http_port = 8001vhost_https_port = 444#frp后台管理#frp后台管理的端口、用户、密码,自行设置dashboard_port = 8000dashboard_user = admindashboard_pwd = passwd#token值,与客户端对应,自行设置privilege_token =bdy123

启动服务端(下列二选一)

1.正常启动(注意:会话窗口一旦关闭,服务也会中断,推荐使用第二种方法)

frps -c frps.ini

2.后台打开

nohup ./frps -c frps.ini &

启动完成可以在web端看到frp后台界面

浏览器输入 '服务器ip:8000' 访问

linux下配置钉钉内网穿透_内网穿透技术实践_第3张图片

2. 客户端(以Windows为例)

下载与服务器相同版本的frp,本文以0.11版本为例,文件目录如下。

linux下配置钉钉内网穿透_内网穿透技术实践_第4张图片

修改客户端配置文件frpc.ini

[common]#服务器ip地址server_addr = 120.79.242.174#服务端绑定端口,与上面的设置一致server_port = 9000#服务端设置的密钥privilege_token=bdy123#tomcat穿透实例[tomcat]#通讯协议type = tcp#本地ip(局域网ip)local_ip = 127.0.0.1#本地访问的端口local_port = 8080#转发到服务器的端口remote_port = 8084#ssh穿透实例[ssh]#通讯协议type = tcp#本地ip(局域网ip)local_ip = 127.0.0.1#本地ssh服务端口local_port = 22#转发到服务器的端口remote_port = 6000

启动客户端

在文件夹空白处按住shift点鼠标右键,选择在此处打开powershell窗口

linux下配置钉钉内网穿透_内网穿透技术实践_第5张图片

然后键入命令 .frpc.exe -c .frpc.ini即可打开客户端

第四章 实际使用及注意事项

设置完成后,如果客户端电脑访问tomcat是通过localhost:8080来实现,那么在不同网段的计算机上就可以通过 服务器地址:8084来打开客户端电脑上的tomcat服务器

下图这部分代码实际上是将本地端口与服务器端做映射,仿照这种写法可以写多个代码块,具体情况具体分析

linux下配置钉钉内网穿透_内网穿透技术实践_第6张图片

如果服务端各种界面打不开,请自行查看云服务器安全组及其各自的防火墙,设置好相应的出站规则,小问题请自行百度解决

你可能感兴趣的:(linux下配置钉钉内网穿透_内网穿透技术实践)