frp搭建

frp

准备工作

服务端:具有公网IP的实体机(服务器一台)

客户端:访问目标设备(就是你最终要访问的设备,通常是内网机器一台)

因为frp的原理是利用服务端(所准备的VPS)进行转发,因而VPS的速度直接决定了之后连接的质量,请根据自己的需要选择相应主机配置

frp下载

选择自己需要的frp版本

https://github.com/fatedier/frp/releases

通过 SSH 访问内网机器

frps安装
将下载好的frp包放到对应的服务器上

frps放在公网服务器上

[root@VM-0-10-centos frps]# ls
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE  nohup.out  systemd

修改对应的frps.ini文件

[root@VM-0-10-centos frps]# cat frps.ini 
[common]
bind_port = 7000  frps默认端口号

放入后台运行

[root@VM-0-10-centos frps]# nohup ./frps -c frps.ini >/dev/null 2>&1 &

frpc安装
frpc安装在内网服务器

[root@VM-0-10-centos frpc]# ls
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE  systemd

修改对应的frpc.ini

[root@VM-0-10-centos frpc]# cat frpc.ini
[common]
server_addr = x.x.x.x   公网服务端的ip
server_port = 7000  公网服务端的frps端口号

[ssh]
type = tcp  tcp连接方式
local_ip = 127.0.0.1  本机
local_port = 22  需要连接本机的服务端口号
remote_port = 6000  映射到服务端的端口号

放入后台运行

[root@VM-0-10-centos frpc]# nohup ./frpc -c frpc.ini >/dev/null 2>&1 &

通过公网连接到内网服务器
ssh -p 6000 root@x.x.x.x(公网ip)

至此frp功能实现

安全地暴露内网服务

frps安装
将下载好的frp包放到对应的服务器上

frps放在公网服务器上

[root@VM-0-10-centos frps]# ls
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE  nohup.out  systemd

修改对应的frps.ini文件

[root@VM-0-10-centos frps]# cat frps.ini 
[common]
bind_port = 7000  frps默认端口号

放入后台运行

[root@VM-0-10-centos frps]# nohup ./frps -c frps.ini >/dev/null 2>&1 &
frpc安装
在需要暴露到内网的机器上部署 frpc

[common]
server_addr = x.x.x.x  公网服务器ip
server_port = 7000

[secret_ssh]
type = stcp  通过stcp模式
# 只有 sk 一致的用户才能访问到此服务
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22


在想要访问内网服务的机器上也部署 frpc
[common]
server_addr = x.x.x.x  公网服务器ip
server_port = 7000

[secret_ssh_visitor]
type = stcp
# stcp 的访问者
role = visitor
# 要访问的 stcp 代理的名字
server_name = secret_ssh
sk = abcdefg
# 绑定本地端口用于访问 SSH 服务
bind_addr = 127.0.0.1
bind_port = 6000


通过 SSH 访问内网机器
ssh -p 6000 root@127.0.0.1

至此可以通过本机的6000端口访问到内网服务器的22端口

docker安装frp

公网服务端部署frps

# 创建项目目录
mkdir frp

# 编写docker-compose.yml文件
vim docker-compose.yml
version: "3"
services:
  frps:
   image: snowdreamtech/frps
   container_name: frps
   privileged: true
   restart: always
   network_mode: host
   environment:
   - TZ=Asia/Shanghai
   volumes:
   - ./frps.ini:/etc/frp/frps.ini
   command: /bin/sh -c /usr/bin/frps -c /etc/frp/frps.ini
   
# 查看配置文件
cat frps.ini 
[common]
bind_port = 7000
authentication_method=token
token = 123456
vhost_http_port = 7000
vhost_https_port = 7000
dashboard_user  = admin  
##dashboard 密码
dashboard_pwd = admin
##dashboard 端口,启动成功后可通过浏览器访问如http://ip:7500
dashboard_port = 7500  
tls_only=true
log_file = /var/log/frps.log
log_max_days =3

# 启动
docker-compose up -d

# 查看端口是否启动
netstat -tunlp|grep 7000
tcp6       0      0 :::7000

内网服务器部署frpc

# 创建项目目录
mkdir frp

# 编写docker-compose.yml文件
vim docker-compose.yml

version: "3"
services:
  frpc:
   image: snowdreamtech/frpc
   container_name: frpc
   privileged: true
   restart: always
   network_mode: host
   environment:
   - TZ=Asia/Shanghai
   volumes:
   - ./frpc.ini:/etc/frp/frpc.ini
   command: /bin/sh -c /usr/bin/frpc -c /etc/frp/frpc.ini

# 查看配置文件
[root@gailun frp]# cat frpc.ini
[common]
server_addr = x.x.x.x  公网服务器ip
server_port = 7000

##auth token
##toke的作用:防止客户机器任意连接服务器,必须知道token的客户机才能连接服务器
token = 123456
tls_enable=true

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 722


# 启动
docker-compose up -d

# 在服务器端可以查看到722端口
[root@daxiong frp]# netstat -tunlp|grep 722
tcp6       0      0 :::722

通过公网连接到内网服务器
ssh -p 722 root@x.x.x.x(公网ip)

至此frp功能实现

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值