跨局域网远程连接神器——frp内网穿透
跨局域网远程连接神器——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内网穿透相关推荐
- 【vscode远程开发】使用SSH远程连接服务器 「内网穿透」
文章目录 视频教程 1.安装OpenSSH 2.vscode配置ssh 3. 局域网测试连接远程服务器 4. 公网远程连接 4.1 ubuntu安装cpolar 4.2 创建隧道映射 4.3 测试公网 ...
- 5分钟学会神器frp内网穿透
青年:最近我想升级一下电脑配置,向项目经理申请,他拒绝了,产品经理听到后,也帮忙出主意说,最近用的teamviewer都是商用的,你能为公司省点钱,找个免费的替代产品,换电脑的事就板上钉钉了. 禅师: ...
- VsCode SSH远程连接服务器【内网穿透公网连接】
文章目录 1.前言 2.VS code的安装和设置 2.1 VS code的下载安装 2.2 OpenSSH的启用 2.3 为VS code配置ssh 2.4 局域网内测试VS code的ssh连接 ...
- CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑
CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑 Day1 文章目录 CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑 前言 一.服务器的安装与配置 面板: 二.客户端的安 ...
- Frp 内网穿透服务器在渗透中的应用
内容 实战-在内网发布服务使之可在公网访问 使用 frp 搭建内网穿透服务器 实战-kali 配置 MSF 接收来自公网的 shell 实战-跨网段获取内网 shell 实战-内网穿透-二级代理 实战 ...
- 安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)
前言 想做一台可以外网访问局域网的服务器,没有群晖或者软路由,正好有一台闲置的nova4,查阅了一些资料后就在手机上搭了一个服务器,有闲心的可以试一试... 目录 一.环境准备 二.使用步 ...
- frp内网穿透远程访问、运维技术
1.背景 为了解决因电力负荷供应紧张时的用电问题,电网针对商业楼宇.企业园区.学校等场所建设了很多了边缘设备.能效控制器以及负控终端,系统基本采用云-管-边-端或者总站-子站-单元的架构设计,边端通过 ...
- centos7 frp内网穿透
git下载地址 中文文档参考 这里需要nginx 配置https证书, frp服务端,frp客户端, 阿里centos7, 子级域名. client -->(https) nginx --> ...
- Frp内网穿透——frps服务端部署
由于现在IPv4地址的短缺,在国内不可能每个设备都会分配到一个公网IP,因此从公网中访问自己的私有设备向来是一件难事儿.本次带大家了解一下frp内网穿透的服务端教学,让你也能够部署一个内网穿透服务. ...
最新文章
- 大学老师吐血自白:指导学生写论文真是太太太太太难了!
- java 重启系统_java 程序,实现重启功能。求大神帮忙,急
- xen tools代码结构
- linux局部变量特殊字符替换,变量,全局变量,环境变量,特殊符号、管道符命令:cut、sort、uniq、wc、tee、tr、sp...
- nfs linux系统服务,Linux系统服务搭建之NFS
- node --- 创建一个Socket服务器
- C# VS生成后事件命令行
- VsFTP出现500 OOPS: cannot change directory的解决办法
- 正在等待缓存锁:无法获得锁_一句话说清分布式锁,进程锁,线程锁
- SpringMvc Eclipse搭建web项目
- Jetty提交数据时报java.lang.IllegalStateException: Form too large270468>200000问题解决
- 测试理论----软件测试四大测试过程
- Excel 自动计算房贷、月供 (附模板)
- 【C++游戏设计】用颜色原理打印平面地图
- 19.jvm内存结构部分——堆_内存诊断_jmap
- MOOC翁恺老师零基础学Java语言课程编程题——第六周
- Biopython+python 自动化分析蛋白质pdb文件,输出id,序列以及作用位点
- Qt 在GraphicsView中 打开一幅图片
- 爬虫逆向基础,认识 SM1-SM9、ZUC 国密算法
- VMware Tools驱动工具安装