跨局域网远程连接神器——frp内网穿透

​ 放寒假回家想用服务器跑代码、想用校园网下文章、甚至还想用服务器打两把游戏。这该怎么办?有的大佬会想,可以在家买一个服务器嘛!如果是这样就打扰了。。。对于我这样的穷人就只能合理利用学校的资源,远程连接学校的服务器了。但是家里网和校园网不在同一局域网这该如何连接?frp内网穿透是一个很好的选择!

1、frp是什么?

​ frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。frp 是一款跨平台的内网穿透工具,支持 Windows、macOS 与 Linux,它需要你有一台拥有固定公网 IP 的电脑,VPS 最好,然后就能愉快的进行内网穿透了。还支持 https,甚至可以用它进行小程序开发。

2、frp的作用

  • 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。

  • 对于 http 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。

  • 利用处于内网或防火墙后的机器,对外网环境提供 tcp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

  • 可查看通过代理的所有 http 请求和响应的详细信息。(待开发)

3、远程为什么选用frp

  • 远程桌面使用TeamViewer。可用,但需要访问端也拥有TeamViewer软件,不是很方便,希望能使用Windows自带的远程桌面。且TeamViewer不易实现远程文件访问。
  • 使用蒲公英VPN软件进行组网,可用,但免费版本网络速度极慢,体验不佳,几乎无法正常使用。
  • 使用花生壳软件进行DDNS解析,可用,但同第二点所述,免费版本有带宽限制,无法实际使用。
  • 搭建frp服务器进行内网穿透,可用且推荐,可以达到不错的速度,且理论上可以开放任何想要的端口,可以实现的功能远不止远程桌面或者文件共享

4、frp配置

3.1 前期工作

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

  • VPS一台(也可以是具有公网ip的实体机,博主这边用的是阿里云的服务器,学生价包年也就几十块)

  • 访问设备与被访问设备

  • 一些简单的Linux操作指令基础

  • frp程序文件,根据自己的要求下载对应版本的程序下载地址

3.2 frp 服务的部署

1、将下载好的frp程序文件传入服务器

2、解压文件

tar -zxvf frp_0.34.3_linux_amd64.tar.gz

3、此处可以将frp_0.34.3_linux_amd64文件夹改名为frp,方便操作使用:

mv frp_0.34.3_linux_amd64 frp

4、进入frp目录

cd frp

5、编辑frps.ini文件

vim frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 7000
bind_udp_port = 7001
privilege_token = frp888
dashboard_port = 7700
dashboard_user = admin
dashboard_pwd = admin

6、服务端启动frp

./frps -c ./frps.ini

启动后输入http://[服务器公网ip]:7700,并输入所设置的账号(admin)和密码(admin)就可以看到以下管理界面:

如果上述界面无法访问进行下面步奏,如果可以跳过下面步骤直接进行客户端的配置。

7、打开服务器防火墙

sudo ufw enable

打开防火墙以后如果发现服务器无法进行运程访问了,那应该是防火墙把22端口关闭了,解决方案:在服务器终端执行命令:

sudo ufw allow 22

8、防火墙打开服务器端端口

sudo ufw allow 7000
sudo ufw allow 7001
sudo ufw allow 7700

完成上述操作后,再输入http://[服务器公网ip]:7700就可以访问上述界面了

服务端frp开机自启动

1、添加systemd配置文件:

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=/usr/local/frp/frps -c /usr/local/frp/frps.ini
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit[Install]
WantedBy=multi-user.target

其中ExecStart的路径根据自己的路径定义

2、设置frp开机启动:

systemctl daemon-reload
systemctl enable frp

3、启动frp(终止frp把start改为stop即可):

systemctl start frp

4、查看frp是否启动:

ps aux | grep frps

显示如下结果就成功了:

3.3 被访问机配置

Linux系统

将frp_0.34.3_linux_amd64文件传入到被访问系统的指定目录下中、解压、重命名为frp、切换到frp文件中、编辑frpc.ini文件

# frpc.ini
[common]
# 你的frp服务器的公网ip
server_addr = x.x.x.x
# 你的frp服务器的默认端口
server_port = 7000[rdp]
type = stcp
# 只有 sk 一致的用户才能访问到此服务
sk = 123456789
local_ip = 127.0.0.1
# 远程桌面的本地端口号
local_port = 22

启动frp

frpc -c frpc.ini

windows系统

将frp_0.34.3_window_amd64文件传入到被访问系统的指定目录下中、解压、重命名为frp、切换到frp文件中、编辑frpc.ini文件。

# frpc.ini
[common]
# 你的frp服务器的公网ip
server_addr = x.x.x.x
# 你的frp服务器的默认端口
server_port = 7000[rdp]
type = stcp
# 只有 sk 一致的用户才能访问到此服务
sk = 123456789
local_ip = 127.0.0.1
# 远程桌面的本地端口号
local_port = 3389

启动frp

frpc -c frpc.ini

3.4 访问端配置

访问端一般都是windows的系统,在访问端电脑打开rp_0.34.3_window_amd64。解压、重命名为frp、切换到frp文件中、编辑frpc.ini文件。

# frpc.ini
[common]
# 你的frp服务器的公网ip
server_addr = x.x.x.x
# 你的frp服务器的默认端口
server_port = 7000[rdp_visitor]
type = stcp
# stcp 的访问者
role = visitor
# 要访问的 stcp 代理的名字
server_name = rdp
# 只有 sk 一致的用户才能访问到此服务
sk = 123456789
# 绑定本地端口用于访问 远程桌面 服务
bind_addr = 127.0.0.1
bind_port = 1000

访问linux系统:

访问windows端

跨局域网远程连接神器——frp内网穿透相关推荐

  1. 【vscode远程开发】使用SSH远程连接服务器 「内网穿透」

    文章目录 视频教程 1.安装OpenSSH 2.vscode配置ssh 3. 局域网测试连接远程服务器 4. 公网远程连接 4.1 ubuntu安装cpolar 4.2 创建隧道映射 4.3 测试公网 ...

  2. 5分钟学会神器frp内网穿透

    青年:最近我想升级一下电脑配置,向项目经理申请,他拒绝了,产品经理听到后,也帮忙出主意说,最近用的teamviewer都是商用的,你能为公司省点钱,找个免费的替代产品,换电脑的事就板上钉钉了. 禅师: ...

  3. VsCode SSH远程连接服务器【内网穿透公网连接】

    文章目录 1.前言 2.VS code的安装和设置 2.1 VS code的下载安装 2.2 OpenSSH的启用 2.3 为VS code配置ssh 2.4 局域网内测试VS code的ssh连接 ...

  4. CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑

    CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑 Day1 文章目录 CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑 前言 一.服务器的安装与配置 面板: 二.客户端的安 ...

  5. Frp 内网穿透服务器在渗透中的应用

    内容 实战-在内网发布服务使之可在公网访问 使用 frp 搭建内网穿透服务器 实战-kali 配置 MSF 接收来自公网的 shell 实战-跨网段获取内网 shell 实战-内网穿透-二级代理 实战 ...

  6. 安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

    前言 想做一台可以外网访问局域网的服务器,没有群晖或者软路由,正好有一台闲置的nova4,查阅了一些资料后就在手机上搭了一个服务器,有闲心的可以试一试... 目录 ​​​​​ 一.环境准备 二.使用步 ...

  7. frp内网穿透远程访问、运维技术

    1.背景 为了解决因电力负荷供应紧张时的用电问题,电网针对商业楼宇.企业园区.学校等场所建设了很多了边缘设备.能效控制器以及负控终端,系统基本采用云-管-边-端或者总站-子站-单元的架构设计,边端通过 ...

  8. centos7 frp内网穿透

    git下载地址 中文文档参考 这里需要nginx 配置https证书, frp服务端,frp客户端, 阿里centos7, 子级域名. client -->(https) nginx --> ...

  9. Frp内网穿透——frps服务端部署

    由于现在IPv4地址的短缺,在国内不可能每个设备都会分配到一个公网IP,因此从公网中访问自己的私有设备向来是一件难事儿.本次带大家了解一下frp内网穿透的服务端教学,让你也能够部署一个内网穿透服务. ...

最新文章

  1. 大学老师吐血自白:指导学生写论文真是太太太太太难了!
  2. java 重启系统_java 程序,实现重启功能。求大神帮忙,急
  3. xen tools代码结构
  4. linux局部变量特殊字符替换,变量,全局变量,环境变量,特殊符号、管道符命令:cut、sort、uniq、wc、tee、tr、sp...
  5. nfs linux系统服务,Linux系统服务搭建之NFS
  6. node --- 创建一个Socket服务器
  7. C# VS生成后事件命令行
  8. VsFTP出现500 OOPS: cannot change directory的解决办法
  9. 正在等待缓存锁:无法获得锁_一句话说清分布式锁,进程锁,线程锁
  10. SpringMvc Eclipse搭建web项目
  11. Jetty提交数据时报java.lang.IllegalStateException: Form too large270468>200000问题解决
  12. 测试理论----软件测试四大测试过程
  13. Excel 自动计算房贷、月供 (附模板)
  14. 【C++游戏设计】用颜色原理打印平面地图
  15. 19.jvm内存结构部分——堆_内存诊断_jmap
  16. MOOC翁恺老师零基础学Java语言课程编程题——第六周
  17. Biopython+python 自动化分析蛋白质pdb文件,输出id,序列以及作用位点
  18. Qt 在GraphicsView中 打开一幅图片
  19. 爬虫逆向基础,认识 SM1-SM9、ZUC 国密算法
  20. VMware Tools驱动工具安装

热门文章

  1. camera--(2)双摄的作用
  2. 【信息系统项目管理师】第七章 项目成本管理(考点汇总篇)
  3. 2023最新springboot计算机毕业设计选题大全(附源码+论文答辩),别再发愁毕设了。
  4. 数据结构实验三 用栈实现进制转换和计算器
  5. NDM的访问配置文件userfile.cfg
  6. deepin 15.3 安装“Chrome Flash插件”折腾记
  7. 办公软件——隐私条款
  8. python之Matplotlib
  9. 宝塔一个IP创建多站点
  10. 国外赛事直播加速案例