一、什么是内网穿透
即映射端口,能让外网的电脑找到处于内网的电脑。
二、搭建内网穿透服务器
需要工具:
- 公网服务器:推荐标准互联(便宜,速度快)。官网网址:https://www.arebz.com/
- 内网服务器,也就是你要穿透的对象,可以使你的电脑本身
我之前尝试搭建ngrok服务器,但是发现十分繁琐。这里向大家推荐frp服务器,下面是这个项目的网址
源代码网址:https://github.com/fatedier/frp/
客户端下载网址:https://github.com/fatedier/frp/releases
其实github的示例代码很详细,但是想直接用还是要废点功夫,下面我分享下我的代码
提示:使用这个做穿透,内网服务器和公网服务器各需要一份代码。只需要:公网服务器修改frps.ini,内网服务器修改frpc.ini
假设配置如下:
服务器ip:0.0.0.0
服务器端口(自定义的):10000
web穿透(把你写的网站挂在公网上)
穿透内网服务器端口1:22 对应端口:6300 #这通常是ssh的端口,比如用xshell
穿透内网服务器端口2:22 对应端口:6301 #这个通常是mysql数据库的端口
#########################请着重注意以下代码中有颜色的部分########################
内网服务器中的frpc.ini文件:
下面是公网服务器的frps.ini文件:
server_addr = 0.0.0.0
server_port = 10000
[web]
type = http
local_port = 80
custom_domains = 0.0.0.0
[range:ssh_tcp] #自定义的,不得重复
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6300
[range:mysql_tcp] #自定义的,不得重复
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 6301
对应公网服务器中frps.ini文件:
其中包含一个管理控制台,运行时候,登录网址: http://0.0.0.0:7100即可,其中0.0.0.0替换成你的服务器ip
[common]
bind_port = 10000
vhost_http_port = 8080 #这个我记不清是啥了,可能是前面穿透的网页,读者可以自己试试
dashboard_port = 7100
dashboard_user = account
dashboard_pwd = password
以上代码都是分块的,不需要整块删除即可
三、如何使用内网穿透服务器
公网服务器中:
./frps -c ./frps.ini
内网服务器中:
./frpc -c ./frpc.ini
请保持程序持续运行(提示,xshell远程登录,xshell关闭后,程序会被杀死,可以通过特殊指令保持运行
在任何你需要用到内网服务器的地方,用公网服务器ip替换内网服务器ip,用对应端口替换原内网服务器端口
例如xshell远程登录:
原来的登录参数:
账户:root
密码:123456
地址:192.168.1.2
端口:22
利用内网穿透登录参数:
账户:root
密码:123456
地址:0.0.0.0(注意替换成公网服务器ip)
端口:6300
例如登录mysql:
原来的登录指令:
mysql -uroot -h192.168.1.2 -p -P3306
利用内网穿透登录指令:
mysql -uroot -h0.0.0.0 -p -P6301