一、什么是内网穿透
即映射端口,能让外网的电脑找到处于内网的电脑。
二、搭建内网穿透服务器
服务器准备
- 公网服务器:推荐标准互联(便宜,速度快)。官网网址:https://www.arebz.com/
- 内网服务器,也就是你要穿透的对象,可以是你的电脑本身
工具准备
我之前尝试搭建ngrok服务器,但是发现十分繁琐。这里向大家推荐frp服务器,下面是这个项目的网址:
其实github的示例代码很详细,但是想直接用还是要废点功夫,下面我分享下我的代码。
- 网络环境假设
为了方便说明,我对网络环境做出若干假设,读者根据自身服务器所处环境,替换一下就好1
2
3
4
5
6
7服务器ip:0.0.0.0 (此处无需填写具体ip地址)
服务器端口(自定义的):10000
[待穿透服务/端口]
1. 穿透内网服务器web端口 # 通常为80端口
2. 穿透内网服务器端口1:22 对应端口:6300 #这通常是ssh的端口,比如用xshell
3. 穿透内网服务器端口2:3306 对应端口:6301 #这个通常是mysql数据库的端口 - 内网服务器中frpc.ini文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19server_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文件以上代码都是分块的,不需要的话整块删除即可
1
2
3
4
5
6[common]
bind_port = 10000
vhost_http_port = 8080 #这个我记不清是啥了,可能是前面穿透的网页,读者可以自己试试
dashboard_port = 7100
dashboard_user = account
dashboard_pwd = password
如何使用内网穿透服务器
- 公网服务器中
1
./frps -c ./frps.ini
- 内网服务器中请保持程序持续运行(提示,xshell远程登录,xshell关闭后,程序会被杀死,可以通过特殊指令保持运行
1
./frpc -c ./frpc.ini
三、调用说明
在任何你需要用到内网服务器的地方,用公网服务器ip 替换 内网服务器ip,用配置文件中设置的端口 替换 原内网服务器端口
- Xshell远程登录
原来的登录参数:
1 | 账户:root |
利用内网穿透登录参数:
1 | 账户:root |
- 远程调用MySQL
原来的登录指令:利用内网穿透登录指令:1
mysql -uroot -h192.168.1.2 -p -P3306
1
mysql -uroot -h0.0.0.0 -p -P6301 # 0.0.0.0应替换成公网服务器ip