用服务器搭建内网穿透(Frp)
说明
- 阿里云服务器
- 操作系统 CentOS7
这里不一定要阿里云的服务器,你也可以用其他的,我们需要的是一个公网的IP
内网服务由于没有公网 IP,不能被非局域网内的其他用户访问
这个是我们要用到,上面的介绍更加详细 – 文档:https://gofrp.org/docs/
GitHud中文文档说明:https://github.com/fatedier/frp/blob/dev/README_zh.md
下载
因为这是国外的如果在国内下载是很慢的,用一下插件可以加速下载的,所以你也可以先下载后在上传
下载地址:https://github.com/fatedier/frp/releases
#创建文件夹
mkdir /home/software
#下载
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
解压
tar -zxvf frp_0.44.0_linux_amd64.tar.gz
进入文件夹
cd frp_0.44.0_linux_amd64
文件说明
frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上
由此可见:
frpc 开头的是 客户端用的
frps 开头的是 服务端用的
用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信
配置
服务端在服务器(Linux)上配置
客户端在 win 上配置
服务端
这个是配置的说明
- 修改服务端的配置,frps.ini 文件,使用 vim frps.ini
[common]
bind_addr = 0.0.0.0
# 接收 frpc 的连接
bind_port = 7000
# 启用 Dashboard 监听的本地端口
dashboard_port = 7500
# 客户端需要设置一样的值才能鉴权通过
token = frpsadmin
# HTTP BasicAuth 用户名
dashboard_user = frpsadmin
# HTTP BasicAuth 密码
dashboard_pwd = frpsadmin
# 启用后才支持 HTTP 类型的代理,为 HTTP 类型代理监听的端口
vhost_http_port = 1080
# 启用后才支持 HTTPS 类型的代理,为 HTTPS 类型代理监听的端口
vhost_https_port = 1043
启动
./frps -c frps.ini
访问用你的 公网IP:7500
#输入你的设置的用户名和密码
# HTTP BasicAuth 用户名
dashboard_user = frpsadmin
# HTTP BasicAuth 密码
dashboard_pwd = frpsadmin
后台启动
nohup ./frps -c frps.ini &
#输出如下内容即表示正常运行
nohup: ignoring input and appending output to 'nohup.out'
#此时可先使用Ctrl+C关闭nohup,frps依然会在后台运行,使用jobs命令查看后台运行的程序
jobs
关闭
查看
netstat -tanlp
会出现好的这样的
tcp 0 0 0.0.0.0:8080 0.0.0.0:* ESTABLISHED 29631/java
关闭使用 找到端口所占进程的pid,在kill掉,ESTABLISHED 29631/java
kill -9 29631
客户端
- 修改配置文件:frpc.ini,使用 vim frpc.ini
[common]
# 连接服务端的地址,也就是你现在配置服务器(云服务器的)的ip地址
server_addr = x.x.x.x
# 连接服务端的端口
server_port = 7000
# 需要和服务端设置一样的值才能鉴权通过
token = frpsadmin
# 输入 http://127.0.0.1:7600/
# 启用 AdminUI 监听的本地地址
admin_addr = 127.0.0.1
# 启用 AdminUI 监听的本地端口
admin_port = 7600
# HTTP BasicAuth 用户名
admin_user = frpcadmin
# HTTP BasicAuth 密码
admin_pwd = frpcadmin
# 这个将会是你的名字
[RDP]
type = tcp
# 电脑在局域网中的内网 IP (如是本机,也可使用 127.0.0.1)
local_ip = 127.0.0.1
# 你要穿透想 端口号
local_port = 1081
# 服务端的端口号,记得开启放行端口
remote_port = 7001
# 这个将会是你的名字
[DSM]
type = tcp
# local_ip 和 local_port 配置为本地需要暴露到公网的服务地址和端口
local_ip = 127.0.0.1
local_port = 1081
# remote_port 表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口
remote_port = 7002
启动
服务
双击 frpc.exe 或者使用命令行,我用的命令行是 PowerShell,当然你也可以用其他的
./frpc -c frpc.ini
访问AdminUI 监听的本地地址,这个也是一个管理界面
http://127.0.0.1:7600/
测试
[RDP]
http://39.108.184.79:7001/
[DSM]
http://39.108.184.79:7002/
# 记得将服务器的以上端口放行,不然就...