【远程办公】5分钟学会搭建内网穿透

gggggwww 2020-01-30

云栖社区 nginx 安全与风控 系统软件 编程语言 数据存储与数据库 系统研发与运维 移动开发与客户端 linux python php 域名 域名解析 SSH 安全问道

疫情期间大家都在讨论 远程办公的实现,推荐看下黄东旭大佬 写的 《PingCAP的5年远程办公实践》,以下内网映射工具作为常用补充。

来讲讲为啥要做内网映射

从公网中访问自己的内网设备一直是个麻烦事情,尤其是做微信开发等。设备可能处于路由器后,或者运营商因为IP地址短缺不给你分配公网IP地址。如果我们想直接访问到这些设备,一般非常麻烦。

  • 求网管大佬在路由器上给自己内网加个端口映射
  • 购买 花生壳 等动态域名解析软件
  • 使用 natapp 等免费(也有付费的)的提供的内网映射服务
  • 基于ngrok/frp自建内网映射服务

为什么放弃 ngrok,使用 frp

我们在2016年提供了一个ngrok 的免费服务,并且分享了搭建的步骤可以参考《Angrok 一个内网穿透服务》 ,搭建步骤对于一般的用户非常不友好,后边也就停止了相关的服务转向了 frp

Github 的关注度对比


穿透协议支持

frp 支持 http ssh tcp udp ftp 等协议

开始动手

准备工作

搭建一个完整的frp服务,我们需要

  • 公网IP 的 ECS 一台
  • 域名 (若不需要解析则不需要)

安装 frp (frps)服务端

  • 下载 frp 安装包

https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_darwin_amd64.tar.gz

  • 解压压缩包,修改 frps.ini
[common]
bind_port = 7000     # frps 服务启动,占用的端口
vhost_http_port = 80  # frps 服务监听转发的端口
  • 启动 frps 服务
./frps -c ./frps.ini

安装 frp(frpc)客户端

自定义域名访问内网服务

  • 修改 frpc.ini
[common]
server_addr = ECS的公网IP
server_port = 7000

[随意但必须唯一]
type = http
local_port = 本地目标服务的端口
custom_domains = 自定义的域名
  • 启动客户端
./frpc -c ./frpc.ini
  • 访问 自定义域名即可访问内网的服务

使用ssh访问公司内网机器

  • 修改 frpc.ini
[common]
server_port = 7000

[随意但必须唯一]
type = tcp
local_ip = 127.0.0.1  
local_port = 22
remote_port = 10022
  • 启动客户端
./frpc -c ./frpc.ini
  • 通过 ssh 访问内网机器
ssh -p 10022 root@x.x.x.x
登录 后评论
下一篇
云栖号资讯小编
842人浏览
2020-03-31
相关推荐
搭建内网穿透服务器
362人浏览
2020-03-16 11:58:43
初次接触银联支付
1291人浏览
2017-10-06 22:23:08
内网穿透技术浅评
890人浏览
2019-06-20 13:50:30
FRP内网穿透
2667人浏览
2018-05-08 10:13:00
0
0
1
1351