Java教程

树莓派使用frp实现内网穿透

本文主要是介绍树莓派使用frp实现内网穿透,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

内网穿透即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点连接通信

准备工作

  • 具有公网IP的vps
  • 树莓派可上外网

frp

  • 项目地址:https://github.com/fatedier/frp
  • frp中文文档:https://gofrp.org/docs/
  • frp最新配置文件:https://github.com/fatedier/frp/releases
  • 项目功能:实现内网穿透,原理为端口映射与流量转发
  • 具体功能实现:远程ssh、远程vnc、远程web等等

配置文件下载说明:

  • linux服务器:frp_0.39.0_linux_amd64.tar.gz
  • 树莓派:frp_0.39.0_linux_arm.tar.gz

配置

1.服务器端配置

# 远程以root用户登陆你的vps

# 下载frp
wget https://github.com/fatedier/frp/releases/download/v0.25.3/frp_0.25.3_linux_amd64.tar.gz

# 解压
tar -zxvf frp_0.25.3_linux_amd64.tar.gz

# 编辑配置文件
vim frp_0.25.3_linux_amd64/frps.ini

########
[common]
bind_port = 8000
########

# 将以上内容添加至配置文件中,bind_port 是frp客户端与服务器连接的端口,需要在你的vps开放权限

# 编辑服务文件
vim /lib/systemd/system/frp.service

######################################
 [Unit]
Description=frp service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/root/frp_0.25.3_linux_amd64/frps -c /root/frp_0.25.3_linux_amd64/frps.ini

[Install]
WantedBy=multi-user.target
######################################

# 将以上内容添加至配置文件中,保存退出

################################
systemctl start frp   # 启动frp服务
systemctl restart frp # 重启frp服务
systemctl enable frp  # 将frp加入开机启动项
systemctl status frp  # 查看frp服务状态
################################

2.客户端配置

# 登陆你的树莓派

# 下载frp
wget https://github.com/fatedier/frp/releases/download/v0.25.3/frp_0.25.3_linux_arm.tar.gz

# 解压
tar -zxvf frp_0.25.3_linux_arm.tar.gz

# 编辑配置文件
vim frp_0.25.3_linux_amd64/frpc.ini

################################
[common]
server_addr = 104.243.24.56
server_port = 8000 #这个端口必须跟服务器的一样
 
[ssh]
type = tcp 
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000 #这个端口自行设置,需要vps开启这个端口的权限
 
[vnc]
type = tcp 
local_ip = 127.0.0.1
local_port = 5900
remote_port = 6001 #这个端口自行设置,需要vps开启这个端口的权限
################################

# 将以上内容添加至配置文件中

# 编辑服务文件
vim /lib/systemd/system/frp.service

######################################
 [Unit]
Description=frp service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/home/pi/frp_0.25.3_linux_arm/frpc -c /home/pi/frp_0.25.3_linux_arm/frpc.ini

[Install]
WantedBy=multi-user.target
######################################

# 将以上内容添加至配置文件中,保存退出

################################
systemctl start frp   # 启动frp服务
systemctl restart frp # 重启frp服务
systemctl enable frp  # 将frp加入开机启动项
systemctl status frp  # 查看frp服务状态
################################

享用

  • 连接ssh:ssh -oPort=6000 pi@vps的ip地址
  • 连接vnc:用vnc客户端连接vps的ip地址:6001
    在这里插入图片描述
    在这里插入图片描述
这篇关于树莓派使用frp实现内网穿透的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!