当前位置:   article > 正文

frp实现内网穿透 linux与Windows系统部署后台运行_frp需要cmd运行

frp需要cmd运行

前言

公司的一个项目部署在本地服务器,并且需要通过外网访问。于是我们将系统部署本地服务器后,借助阿里云服务器的公网IP和frp程序,实现内网穿透功能。
将frp服务端部署在阿里云服务器,将frp客户端部署在本地服务器。
  • 1
  • 2

下载frp

github上下载frp
在这里插入图片描述
阿里云服务器是linux系统,本地服务器是windows系统,根据操作系统下载不同的压缩包。
压缩包解压后,里面会有如下文件
在这里插入图片描述
其中名字里有“frps”为服务器端文件,名字里有“frpc”为客户端文件。根据需要保留删除文件。

服务器端部署

安装包解压

云服务器部署了宝塔,所以直接将文件上传到指定目录并解压,不需要使用命令解压。

在这里插入图片描述

修改配置

编辑frps.ini文件

[common]
bind_port = 7000
token = hzx980910
  • 1
  • 2
  • 3

bind_port 为服务端端口
token为客户端连接时的token认证,随意设置,与后面frpc.ini中设置为相同值即可

云服务器安全规则开放端口

还需要在云服务器中配置安全组规则,开放7000端口
在这里插入图片描述

启动frp服务端
cd /www/wwwroot/frpServer/frp_0.51.3_linux_amd64
./frps -c frps.ini
  • 1
  • 2

如果是后台运行

nohup ./frps -c frps.ini
  • 1

客户端部署

安装包解压

在这里插入图片描述

修改配置

修改frpc.ini文件

[common]
tls_enable = true
server_addr = 106.15.73.222
server_port = 7000
token = hzx980910

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 15053
remote_port = 15053
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
tls_enable 必须设置,不然运行frpc的时候会报错login to server failed: EOF
server_addr 服务器的公网服务器ip
server_port 与服务端bind_port一致
token 客户端连接时的token认证,随意设置,与前面frps.ini中设置为相同值即可
  • 1
  • 2
  • 3
  • 4
ssh中配置后台系统信息
local_port 本地的服务端口号
remote_port 公网中对应此服务的端口号,可以随意设置,只要是前面阿里云服务器里开放的端口即可
  • 1
  • 2
  • 3

remote_port 需要在云服务器的安全组规则中开放

启动frp客户端

在这里插入图片描述
在这里插入图片描述
启动成功后看一下服务端
在这里插入图片描述
windows防火墙可能会将frpc.exe判定为危险文件,需要在防火墙中设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果在这一步中,系统提示“文件包含病毒或潜在的垃圾软件”,则需要在设置中将该文件加入白名单。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
病毒和威胁保护设置
在这里插入图片描述
在这里插入图片描述

多个客户端配置

当本地服务器部署了多个项目,每个项目有不同的端口,都需要进行内网穿透,则需要修改frpc.ini文件

[common]
tls_enable = true
server_addr = 106.15.73.222
server_port = 7000
token = hzx980910

[ssh1]
type = tcp
local_ip = 127.0.0.1
local_port = 8187
remote_port = 8187

[ssh2]
type = tcp
local_ip = 127.0.0.1
local_port = 8189
remote_port = 8189
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

web端配置

同样需要在frpc.ini中配置

[web]
type = http
local_port = 8080
custom_domains = 106.15.73.222
  • 1
  • 2
  • 3
  • 4

在[web]中配置本地需要穿透的web服务的端口号,这里是8080,即local_port = 8080;此外,还需配置外网访问的域名custom_domains,这里一般是解析到服务端服务器公网IP的域名,但由于没有域名,这里直接配置成服务端公网IP,访问时直接通过IP访问。

frp服务端在Linux系统中通过docker镜像运行

拉取frp的 Docker 镜像。这个镜像是由 “ryaning/frps” 提供的,它是一个用于部署 frp 服务器的镜像。
通过命令 docker pull ryaning/frps 是用于从 Docker Hub 上拉取 “ryaning/frps” 镜像到本地。

docker pull ryaning/frps
  • 1

在这里插入图片描述
在这里插入图片描述

启动镜像

docker run --restart=always --network host -d -v /www/wwwroot/frpServer/frp_0.51.3_linux_amd64/frps.ini:/etc/frp/frps.ini --name frps ryaning/frps
  • 1
--restart=always 表示容器将会在退出时自动重启。
--network host 表示容器使用宿主机的网络命名空间,与宿主机共享网络栈,使得容器中的应用可以直接使用宿主机的网络接口。
-d 表示容器以后台模式运行。
-v /www/wwwroot/frpServer/frp_0.51.3_linux_amd64/frps.ini:/etc/frp/frps.ini 表示将宿主机上的 frps.ini 文件挂载到容器中的 /etc/frp/frps.ini 文件,这样可以在容器中使用自定义的配置文件。
--name frps 表示给容器指定一个名称为 “frps”。
  • 1
  • 2
  • 3
  • 4
  • 5

查看docker容器,镜像启动成功
在这里插入图片描述

frp客户端在Windows系统后台运行

首先需要下载NSSM服务,下载地址:http://www.nssm.cc/download
在这里插入图片描述
根据自己Windows系统,进入对应的文件夹找到nssm.exe文件,将exe文件复制到frp文件夹
在这里插入图片描述
在这里插入图片描述

先以管理员的方式启动cmd命令
在这里插入图片描述
在cmd中进入frp所在目录,输入命令

nssm install
  • 1

在这里插入图片描述
在这里插入图片描述
点击“install service”,安装成功后,可以在服务中看到
在这里插入图片描述
nssm其他命令

1. nssm install servername //创建servername服务
2. nssm start servername //启动服务
3. nssm stop servername //暂停服务
4. nssm restart servername //重新启动服务
5. nssm remove servername //删除创建的servername服务
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/935611
推荐阅读
相关标签
  

闽ICP备14008679号