本文借鉴 使用frp进行内网穿透 - 少数派

目录

1. 准备材料

2. 服务端部署

3. 服务端后台运行

4. 客户端部署


1. 准备材料

(1) 一台具有公网IP的实体机(服务端,也可以是vps)

(2) 一台网页部署内网的实体机 (客户端)

我当前的服务端与客户端都是 ubuntu 16.04 amd64

2. 服务端部署

首先需要下载putty.exe,可以在官网下载最新的,也可以在下面的百度云链接下载

putty下载百度云链接:

链接:https://pan.baidu.com/s/1cXyB-rjpW2vVldU_4WL97w 
提取码:neyv

下载之后双击打开,直接输入IP地址,端口不用改变,然后点击Open

点击后会弹出类似终端的东西,输入用户名和密码

进入后我们确认一下系统信息

这个时候我们为了区分之前做过的其他项目,我们创建一个新的文件夹test,之后我们输入ls查看一下

进入新的文件夹后下载

我当前使用的是frp,版本为 frp_0.34.3_linux_amd64.tar.gz,现在我的服务端是不能使用图形化界面的,所以只能使用命令下载,到后面客户端的时候可以使用命令下载,下面是 frp_0.34.3_linux_amd64.tar.gz 的百度云链接

链接:https://pan.baidu.com/s/1MHmYyx7sZPeVvTzRoPsHFQ 
提取码:hr99

截至2021/7/22日frp已经更新到0.37,我们也可以使用新的版本,如果想使用其他老的版本可以在github上搜索frp,然后选择这个

  • 客户端的版本与服务端的版本不一定要对应,只要都是frp就行

进入后向下滚找到README,在README中点击这个

  • 上面这个图是后加的,加入图的时候已经更新到了v0.38.0,部署的时候最新版本是v0.37.0

进入这个页面后,向下滚动就可以看到之前的版本了

下面我简单说一下如何在linux使用命令行下载github上的文件,在github上进入frp后,点击这个

进入后向下滚,找到v0.34.3,然后点击v0.34.3

进入后向下滚,找到这个

  • 这里要注意系统版本,我当前的两个系统都是amd64的,每个系统查看版本的方式不同,如果选错了版本会运行不了

这个时候右键这个链接,然后点击复制链接地址,这个时候我们会得到下载地址 https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz

然后我们在linux命令行中输入 wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz

这样就会在我们所在的目录将这个包下载下来

回到我们的部署上来,下载之后进行解压,解压命令是tar –zxvf frp_0.34.3_linux_amd64.tar.gz,解压之后进入文件夹下面有两个文件(由于我之前做过一次并把过程记录下来了,所以下面的文件夹名称为frp)

进入解压后的文件夹,里面除了下图的东西还有frpc和frpc.ini,那个是客户端用的,我把这两个删掉以免之后误操作,命令是

rm frpc

rm frpc.ini

删除之后的解压后文件夹会有以下文件

此时我们修改frps.ini文件,修改之后和下面这个图一样就行

这里面所有的值都是可以自定的,我们第一次弄和教程一样就行

修改之后保存并退出,然后输入下面的命令运行服务器

./frps -c frps.ini

然后这个时候就会出现这个

这个时候我们的服务端已经部署好了,我们此时可以打开服务器的表盘页面,浏览器输入服务器IP+:7500,之后会出现这个页面

为了让关掉putty后,服务端仍然工作,所以我们需要把frp改为后台运行

3. 服务端后台运行

同时按下ctrl + c退出,退出之后我们就访问不到我们的表盘了,然后此时输入nohup

再输入 nohup ./frps -c frps.ini &

此时再次访问我们的表盘,发现可以访问了

我们最后再确认一下,此时按 ctrl+c 退出,然后输入jobs

如果发现有第三条,说明确实已经在后台运行了,此时可以关掉putty,我们的服务端部署完毕

4. 客户端部署

客户端是我们实际访问的主机,我现在用的客户端也是ubuntu 16.04 arm64,我们把frp_0.34.3_linux_amd64.tar.gz也放在客户端中,我新建了一个文件夹,然后在新建的文件夹中解压

解压

解压之后会解压出这样一个文件夹

我们进去,看一下里面的文件

由于现在是部署客户端,所以我们删掉服务端的文件(frps,frps.ini),避免误操作,删除之后现在文件夹中有这些文件

修改frpc.ini

按照这个格式修改

  • [rdp]与[smb]只是穿透的名字,我们可以自定义,最好不要重复

然后我说一下每个都对应哪个

server_addr是服务端的IP,server_port是之前设置服务端的bind_port,token是之前服务端设置的token

Type不变,local_ip是要访问的IP,我当前的本机,所以我输入127.0.0.1就行,我本机要访问的端口是8081,remote_port是在服务器IP后输入的端口,我现在设置为7001

这个7001的目的是,我现在在浏览器上访问我们服务端的IP+:7001,它就会跳转到127.0.0.1:8081

这个是我们要穿透的另一个端口,我们给到7002

保存退出之后,输入./frpc –c frpc.ini

如果是上图这个情况就可以直接运行了,我测试了一下,在非局域网情况下输入我们服务端的IP+:7001确实可以访问到127.0.0.1:8081

如果此时在其他互联网内能访问到客户端的网页,说明已经穿透成功了,如果出现其他问题建议看一下客户端的部署文件有没有问题

本文的例子是Ubuntu于Ubuntu之间进行穿透,如果使用别的系统也可以实现穿透,使用frp的不同系统即可

我们使用一个服务端可以有多个客户端,比如我下面这个就是在另一个机器上进行穿透的,服务端不用改,我们只需要操作客户端即可

server_addr的IP与上面相同,经测试使用两个机器穿透互相并不影响

Ubuntu内网穿透相关推荐

  1. Ubuntu内网穿透搭建网站:设置跳转本地网页服务 6/17

    系列文章 Ubuntu内网穿透搭建网站:建立本地数据库 1/17 Ubuntu内网穿透搭建网站:安装WordPress 2/17 Ubuntu内网穿透搭建网站:设置WordPress连接数据库 3/1 ...

  2. 使用VNC远程连接Ubuntu - 内网穿透实现公网远程办公

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  3. Ubuntu系统配置花生壳内网穿透

    前言: 本文档是基于被访问主机已经安装ssh服务,并且在内网已经确定ssh可用的情况下.做的穿透配置流程. 一.被访问主机准备工作 被访问主机上下载花生壳并安装(我的是Ubuntu) (1)Ubunt ...

  4. SSH远程ubuntu【无公网IP、内网穿透】 1-3

    系列文章 SSH远程ubuntu[无公网IP.内网穿透] 1-3 SSH远程ubuntu[无公网IP.内网穿透] 2-3 SSH远程ubuntu[无公网IP.内网穿透] 3-3 在之前的系列文章中(如 ...

  5. SSH远程ubuntu【无公网IP、内网穿透】 3-3

     系列文章 SSH远程ubuntu[无公网IP.内网穿透] 1-3 SSH远程ubuntu[无公网IP.内网穿透] 2-3 SSH远程ubuntu[无公网IP.内网穿透] 3-3 上一篇: SSH远程 ...

  6. 私有云服务器搭建教程(保姆级)——台式电脑+ubuntu+docker+nextcloud+mysql+花生壳内网穿透

    文章目录 前言 一.Nextcloud是什么? 二.安装步骤 1. 安装 docker 1.1 更新apt 1.2 允许apt通过HTTPS使用存储库 1.3 添加Docker的官方GPG密钥 1.4 ...

  7. 为远程桌面Ubuntu配置固定的公网TCP端口地址【内网穿透】

    上篇文章,我们实现了在公网环境下,通过免费的cpolar内网穿透,远程桌面连接Ubuntu系统.不过使用免费的cpolar,带宽比较小,并且所生成的公网TCP端口地址为随机临时地址,每隔24小时就会变 ...

  8. 公网SSH远程Ubuntu:安装cpolar内网穿透映射22端口 2/3

    系列文章 公网SSH远程Ubuntu:局域网内ssh远程Ubuntu 1/3 公网SSH远程Ubuntu:安装cpolar内网穿透映射22端口 2/3 公网SSH远程Ubuntu:配置固定的公网TCP ...

  9. 如何配置ubuntu可被公网访问【内网穿透】

    在局域网内ssh远程登录到ubuntu,只需要知道被控端的IP地址就可以.但对于想要在家里/宿舍/公司,也能够远程ssh访问ubuntu时,应该怎么设置呢? 在ipv4公网IP资源枯竭的情况下,运营商 ...

  10. Ubuntu搭建SVN服务 - 内网穿透实现公网远程访问

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

最新文章

  1. Network Manager碰到的问题
  2. PAT甲级1120 Friend Numbers:[C++题解]set去重且有序
  3. IP地址的正则表达式
  4. 【H2 Database】Server模式启动
  5. 行上下移动_这有一台你迟早要用到的手持式“移动空调”
  6. E - Palindrome Numbers
  7. tornado autoreload 模式
  8. Assembly.CreateInstance()与Activator.CreateInstanc
  9. 暖通空调材料进场如何验收?
  10. Python参考手册
  11. 服务器虚拟机如何复制文件,Windows中复制虚拟机
  12. 企业微信好不好,OA软件何去何从?
  13. android 临时文件存储,缓存和临时文件/文件夹删除android
  14. sql语句练习题或面试题
  15. 【STM32】HAL库 SPI DMA UART驱动开发
  16. 美拍视频怎么下载?美拍视频解析下载和保存工具
  17. compare用法java,Java经典用法总结
  18. 第十四届蓝桥杯三月真题刷题训练——第 22 天
  19. 07-2-theos实战: 给微信的发现”界面增加2行功能
  20. 信安学习-day34

热门文章

  1. 微处理器 微计算机 单片机,微处理器、微计算机、微处理机、CPU、单片机有什么区别?...
  2. 自定义SeekBar 带文字
  3. 同名的同义词和视图解惑
  4. mysql数据库解锁
  5. 详解RS485电路,就是那么简单!
  6. TextStyleOpts:文字样式配置项
  7. 优化计算机组策略,Windows 10神州网信版优化
  8. 双链路是什么意思_双链路DVI是什么意思 工作原理是什么
  9. 面试必备:零拷贝详解
  10. java读取json文件