树莓派公网服务器实现frp内网穿透

简介: 树莓派公网服务器实现frp内网穿透

自己挖坑给自己埋,服务器都弄坏两次,特来总结以下经验。

前提准备:公网服务器IP(我的是阿里云服务器)

5f590e46ccc65b1562241a21f97729a0_3739.png

你得确保你的服务器开通了端口号,不然连接不成功

阿里云-网络安全组配置-添加规则(我是打开了6000-7000之间的所有端口号,你也可以先按我的做)

9364cca8ce41b60060a554f6f30292ed_3877.png

获取树莓派所在局域网的IP地址(我的树莓派是连的wifi)

打开wifi后台管理器,查看树莓派连接的ip地址

这时已经获取到树莓派所在局域网的ip了:192.168.31.191(我的)

 

一、ssh到你的公网服务器安装配置frp服务端frps

1.安装包

wegt https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz

2.解压包

tar -zxvf frp_0.32.0_linux_amd64.tar.gz

3.进入解压包目录

cd frp_0.32.0_linux_amd64

4.查看frps.ini

nano frps.ini

5.然后在里面编辑 默认内容

[common]
bind_port = 7000

ctrl+o保存 enter回车确认 最后ctrl+x退出

6.启动frps(在frp_0.32.0_linux_amd64里启动)

./frps -c ./frps.ini

这时候会提示启动成功,不要关闭我们继续配置客户端,只有都启动了才能连通ssh。

 

二、安装配置frp客户端frpc

1.安装包

wegt https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_arm.tar.gz

2.解压包

tar -zxvf frp_0.32.1_linux_arm.tar.gz

3.进入解压包目录

cd frp_0.32.1_linux_arm

4.查看frpc.ini

nano frpc.ini

5.然后在里面编辑

[common]
server_addr =(你的公网服务器ip地址)
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

ctrl+o保存 enter回车确认 最后ctrl+x退出

6.启动frpc(在frp_0.32.1_linux_arm目录里启动)

./frpc -c ./frpc.ini

这时候显示成功了

 

就可以ssh连接你局域网的树莓派了

0a5a3efdec8658bc519977ea675fe917_3759.png

端口号记得改成6000

特别提示一定要先成功连接服务端,再连接客户端,服务端先走!!!

 

-----------------------常见报错-----------------------

1.[ssh] start error: port already used

先找到这个进程

ps -aux|grep frp| grep -v grep

root 3520 0.1 0.1 111188 9484 pts/0 Sl 15:04 0:00 ./frpc -c ./frpc.ini

执行之后如果显示这样则成功了

然后kill -9 进程号

kill -9 3520

2.0.0.0.0:7000 already used (小心不要把22端口杀掉了,不然ssh连不上服务器)

提示7000端口已经被使用了

netstat -tanlp 查看tcp进程
sudo kill 2683  杀掉

3.如果杀掉端口之后再服务端运行报错,查看你的7000端口有没有被关闭,关闭了就打开

nc -lp 7000 &(打开7000端口,即telnet)

4.不要直接运行这种命令

bee055549388ea04c962b2b4b22d122b_3825.png

你的机器上没有这个文件会直接报错,这个是要自己新建的自启服务

这个方法比较好用,很方便

sudo vim /lib/systemd/system/frps.service

在frps.service里写入以下内容

[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#写你的frps的需要用绝对路径
ExecStart=/XXX/frps -c /XXXX/frps.ini
[Install]
WantedBy=multi-user.target


然后就启动frps

sudo systemctl start frps

再打开自启动

sudo systemctl enable frps

如果要重启应用,可以这样,sudo systemctl restart frps

如果要停止应用,可以输入,sudo systemctl stop frps

如果要查看应用的日志,可以输入,sudo systemctl status frps

查看磁盘空间命令: df -hl

相关文章
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
7天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
1月前
|
弹性计算 网络安全 文件存储
ECS热门应用 | 安装家用内网穿透服务
使用云服务器ECS,让家庭网络可以被外部网络访问。不在家时,也可以读取备份资料。
|
1月前
|
网络协议 安全 网络架构
无需公网IP联机Minecraft,我的世界服务器本地搭建教程
无需公网IP联机Minecraft,我的世界服务器本地搭建教程
|
1月前
|
网络协议 Ubuntu Linux
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
|
1月前
|
Linux 网络安全 文件存储
如何本地部署Jellyfin影音服务器并实现在公网访问
如何本地部署Jellyfin影音服务器并实现在公网访问
|
1月前
|
Ubuntu 网络协议 Java
在Android平板上使用code-server公网远程Ubuntu服务器编程
在Android平板上使用code-server公网远程Ubuntu服务器编程
|
1月前
|
网络协议 Linux 数据安全/隐私保护
本地电脑搭建SFTP服务器,并实现公网访问
本地电脑搭建SFTP服务器,并实现公网访问
|
1月前
|
安全 关系型数据库 MySQL
利用windows服务器自带的IIS搭建网站并发布公网访问【内网穿透】
利用windows服务器自带的IIS搭建网站并发布公网访问【内网穿透】
309 0
利用windows服务器自带的IIS搭建网站并发布公网访问【内网穿透】
|
1月前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客