前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >frp配置内网穿透

frp配置内网穿透

作者头像
崔哥
发布2022-12-05 15:47:02
9580
发布2022-12-05 15:47:02
举报
文章被收录于专栏:崔哥的专栏崔哥的专栏

情况是这样的,公司有台内网服务器,有一天公司要求部分人员在家办公。一般来讲,在家办公的同事想连内网服务器是不可能的。为了解决这个问题内网穿透就该了解一下了

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

frp有很多功能,这里只介绍ssh和web服务

模拟场景

  • 一台公网服务器(Linux)
  • 一台虚拟机(Linux,相当于内网服务器)
  • ssh服务测试:宿主机通过frp访问虚拟机;公网服务器通过frp访问虚拟机
  • web服务测试:通过公网IP+端口号访问内网服务

ssh服务

公网服务器

代码语言:javascript
复制
[root@iZbp1430s16l9piu268n8rZ ~]# wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
[root@iZbp1430s16l9piu268n8rZ ~]# tar -xvzf frp_0.45.0_linux_amd64.tar.gz 
[root@iZbp1430s16l9piu268n8rZ data]# mv frp_0.45.0_linux_amd64 frp
[root@iZbp1430s16l9piu268n8rZ data]# cd frp/
[root@iZbp1430s16l9piu268n8rZ frp]# ls
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE
[root@iZbp1430s16l9piu268n8rZ frp]# cat frps.ini
[common]
bind_port = 7000
#默认frps.ini不用修改,直接启动服务
[root@iZbp1430s16l9piu268n8rZ frp]# ./frps -c ./frps.ini

虚拟机

代码语言:javascript
复制
[root@nfsFileSystem vagrant]# wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
[root@nfsFileSystem vagrant]# tar -xvzf frp_0.45.0_linux_amd64.tar.gz 
[root@nfsFileSystem vagrant]# mv frp_0.45.0_linux_amd64 frp
[root@nfsFileSystem vagrant]# cd frp/
[root@nfsFileSystem vagrant]# ls
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE
[root@nfsFileSystem frp]# cat frpc.ini 
[common]
server_addr = 47.98.227.00
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
#启动客户端
[root@nfsFileSystem frp]# ./frpc -c ./frpc.ini

确认客户端,服务端都起来了,开始测试

宿主机通过frp访问虚拟机

实现免密码登陆,将宿主机的public key添加的虚拟机[root@nfsFileSystem frp]# echo '宿主机的public key'>> ~/.ssh/authorized_keys

代码语言:javascript
复制
cuiwei@weideMacBook-Pro nfsFileSystem % ssh -oPort=6000 root@47.98.227.00
Last login: Thu Dec  1 13:51:32 2022
[root@nfsFileSystem ~]# ls
[root@nfsFileSystem ~]# ls /vagrant/
Vagrantfile

公网服务器通过frp访问虚拟机

实现免密码登陆,将公网服务器的public key添加的虚拟机[root@nfsFileSystem frp]# echo '公网服务器的public key'>> ~/.ssh/authorized_keys

代码语言:javascript
复制
[root@iZbp1430s16l9piu268n8rZ voice]# ssh -oPort=6000 root@47.98.227.00
Last login: Thu Dec  1 13:59:05 2022 from 127.0.0.1
[root@nfsFileSystem ~]# ls
[root@nfsFileSystem ~]# ls /vagrant/
Vagrantfile

web服务

公网服务器

frps.ini追加以下配置

代码语言:javascript
复制
vhost_http_port = 8999

然后,重新启动服务端

代码语言:javascript
复制
[root@iZbp1430s16l9piu268n8rZ frp]# ./frps -c ./frps.ini

虚拟机

准备一个web服务,确保可以通过localhost:8080访问

frpc.ini追加以下配置

代码语言:javascript
复制
[web]
type = http
local_port = 8080
custom_domains = frp.cw.net

然后,重新启动客户端

代码语言:javascript
复制
[root@nfsFileSystem frp]# ./frpc -c ./frpc.ini

测试一下

访问 http://frp.cw.net:8999/,不出意外看到的就是虚拟机8080端口提供的服务

仪表盘

frps.ini追加以下配置

代码语言:javascript
复制
dashboard_port = 7500
# dashboard's username and password are both optional
dashboard_user = admin
dashboard_pwd = admin

然后,重新启动服务端

代码语言:javascript
复制
[root@iZbp1430s16l9piu268n8rZ frp]# ./frps -c ./frps.ini

测试一下

访问 http://47.98.227.00:7500/

WX202212012350182x.png
WX202212012350182x.png

提示

上面提到的端口7000,6000,8999,7500都需要在公网服务器放开

参考

https://github.com/fatedier/frp

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ssh服务
    • 公网服务器
      • 虚拟机
        • 宿主机通过frp访问虚拟机
          • 公网服务器通过frp访问虚拟机
          • web服务
            • 公网服务器
              • 虚拟机
                • 测试一下
                • 仪表盘
                  • 测试一下
                  • 提示
                  • 参考
                  相关产品与服务
                  专用宿主机
                  专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档