搭建frp内网穿透

简介

实现内网穿需要有一台公网服务器、域名(可以用ip)。(将公网服务器称为服务端,内网服务器称为客户端)

详情可以看一下官方的配置说明:(https://github.com/fatedier/frp)

第一步、Linux服务端安装

第一种:可以从git仓库下载压缩包

官方git仓库:Releases · fatedier/frp (github.com)

第二种:通过终端命令下载

  1. 输入 arch 获取处理器架构
  2. 在docker如何添加sftp服务 docker搭建frp_服务端

  3. 这里选择amd64,版本git仓库里找
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
  1. 解压:
tar -zxvf  xxxxxx.tar.gz

第二步、配置服务端frps.ini

[common]
# frp 监听的端口,默认为7000
bind_port = 7001
#服务端用来访问的端口
vhost_http_port = 8083
#授权码 为了安全,加了客户端也需要加
token = hzx

dashboard_addr = 0.0.0.0
#frp后台管理端口
dashboard_port = 7500
#用户名 密码
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true

#http反向代理[]里的内容可以自己设定,但是客户端和服务端必须要对应(如[web];
[web]
 #为服务类型,可以设为http,https
type = http 
#为要映射的域名,记得域名的A记录要解析到外网主机的IP。也可以写服务器的ip
custom_domains = xxxx

[web2] #同上(可设置多个)
访问服务端后台管理

外网地址:7500

在docker如何添加sftp服务 docker搭建frp_linux_02

启动停止方式一

启动:

./frps -c ./frps.ini

# 后台启动
nohup ./frps -c ./frps.ini &

在docker如何添加sftp服务 docker搭建frp_在docker如何添加sftp服务_03

停止:

#用杀死进程的方式
netstat -alnp | grep 7000

kill -9 xxx

在docker如何添加sftp服务 docker搭建frp_在docker如何添加sftp服务_04

启动停止方式二

配置systemctl来控制服务端运行

新建文件写入配置内容

vim /usr/lib/systemd/system/frp.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/frp安装路径/frps -c /frp安装路径/frps.ini
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit

[Install]
WantedBy=multi-user.target

重新加载服务的配置文件

systemctl daemon-reload

现在就可以用 systemctl 套装来控制 frp 了。

启动/停止/重启,查看状态,设置开机自启/关闭开机自启

systemctl start frp   #启动
systemctl stop frp      #停止
systemctl restart frp	#重启
systemctl status frp		#查看状态
systemctl enable frp		#设置开机自启
systemctl disable frp		#关闭开机自启

第三步、安装客户端

我的客户端为window ,但我估计linux应该也是一样的

  1. 官方git仓库:Releases · fatedier/frp (github.com)下载系统对应的安装包

在docker如何添加sftp服务 docker搭建frp_在docker如何添加sftp服务_05

2.    找位置解压


第四步、配置客户端frpc.ini

[common]
#服务器的ip地址
server_addr = xxxxx
#服务器的监听地址  (服务端的bind_port)
server_port = 7001
#授权码 服务端的token
token = hzx

#[] 和服务端对应起来
[web]
#服务类型
type = http  
#需要被穿透的本地ip
local_ip = 127.0.0.1
#本地服务的端口
local_port = 80
#服务端的访问端口(vhost_http_port)
remote_port = 8083
#服务端的域名
custom_domains = xxxxxx
启动方式一
#在frpc.ini目录下
frpc -c frpc.ini

在docker如何添加sftp服务 docker搭建frp_在docker如何添加sftp服务_06

启动成功之后服务端会有相应

在docker如何添加sftp服务 docker搭建frp_linux_07

启动方式二

执行命名放到bat文件中,双击运行

在docker如何添加sftp服务 docker搭建frp_在docker如何添加sftp服务_08

注意事项:

1、所有相关端口需放行

2、客户端的frpc.exe不能直接运行

3、小错误直接百度,都会有解决方法,一般是端口被占用等小问题