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

Tyrant 2019年04月11日 •  Linux 720 •  1
本文最后修改于 205 天前,部分内容可能已经过时!

近期,由于在外面实习,但是毕业设计所使用的树莓派开发板还静静躺在我的宿舍之中,为了能够每天下班也能做我的毕业设计,特地去搜索了一些关于内网穿透的东西,发现了GitHub上一个开源的内网穿透工具---frp,经过短暂的学习之后,终于实现了能够远程ssh和vnc到我的树莓派。

内网穿透

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

准备工作

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

frp

  • 项目地址:https://github.com/fatedier/frp
  • 项目功能:实现内网穿透,原理为端口映射与流量转发
  • 具体功能实现:远程ssh远程vnc远程web等等

配置

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

Tags:Raspberryfrp
上一篇
打赏
下一篇

添加新评论

已有 1 条评论

 BryantRar 6 个月前 • |

Hi, linuxstudy.cn

I've been visiting your website a few times and decided to give you some positive feedback because I find it very useful. Well done.

I was wondering if you as someone with experience of creating a useful website could help me out with my new site by giving some feedback about what I could improve?

You can find my site by searching for "casino gorilla" in Google (it's the gorilla themed online casino comparison).

I would appreciate if you could check it out quickly and tell me what you think.

casinogorilla.com

Thank you for help and I wish you a great week!