树莓派内网穿透

树莓派+Proxy:内网穿透

硬件准备:Rospberry Pi 3B,TF卡,读卡器,公网VPS,显示器

树莓派内网穿透_第1张图片
安装好的树莓派图

背景: 连接公司网络的树莓派提供web服务8091端口,有一个VPS公网IP: 22.22.22.22,通过连接公网VPS的28080端口连接到树莓派的8091端口.


  1. 树莓派刷机

  2. 内网穿透


1. 树莓派刷机

  • 系统下载,树莓派各系统下载 中包含不同系统的树莓派镜像文件,官方的操作系统是基于debian的Raspbian,建议使用该系统

  • SD卡镜像刷机程序下载,使用的程序是Etcher 下好后选择系统的镜像文件和SD卡的目录盘点开始就可以了。

  • 将SD卡插回树莓派中,接入电源和显示器系统就启动了。


    树莓派内网穿透_第2张图片
    树莓派启动图

2.内网穿透

网上使用较多的是frp 来搭建内网穿透,由于开始搭建的时候出了一些问题,后来使用goproxy 来搭建。

服务器端配置

服务器端的步骤如下:

  • 安装goproxy:在服务器端运行
curl -L https://raw.githubusercontent.com/snail007/goproxy/master/install_auto.sh | bash

goproxy可以使用命令行参数启动,也可以使用配置文件,下面教程都是使用命令行启动的。

  • 产生密钥:使用proxy keygen生成证书文件proxy.crt和key文件proxy.key

  • 开启服务器端口28080,33080,开启端口指令如下

iptables -I INPUT -p tcp --dport 22080 -j ACCEPT
  • 依次执行如下指令
proxy bridge -p ":33080" -C proxy.crt -K proxy.key
proxy server -r ":28080@:8091" -P "127.0.0.1:33080" -C proxy.crt -K proxy.key

终端配置

在树莓派中运行如下指令:

  • 下载goproxy:使用sudo su进入root用户,在/root/下建立文件夹proxy,使用如下指令下载goproxy
 wget https://github.com/snail007/goproxy/releases/download/v5.0/proxy-linux-arm.tar.gz

注意:下载的版本要正确,树莓派的芯片是ARM核,所以选择arm尾号,但并不是arm64的版本,否则会出现了exec format error的错误,这个就是因为版本不对造成的。

  • 安装goproxy:下载自动安装脚本
wget https://raw.githubusercontent.com/snail007/goproxy/master/install.sh
chmod +x install.sh

直接运行会报缺少文件的错误,需要修改install.sh文件中的相应的压缩包的名字

  • 将服务器端产生的密钥文件放入/usr/bin/文件夹中

  • 开启SOCKS5代理


proxy socks -t tcp -p "0.0.0.0:8091"
  • 启动终端goproxy服务
proxy client -P "22.22.22.22:33080" -C proxy.crt -K proxy.key

浏览器配置

  • 设置代理服务器22.22.22.22和服务器端口28080,代理协议为socks5.

3.运行结果

  • 树莓派结果图


    树莓派内网穿透_第3张图片
    树莓派结果图
  • 公网VPS结果图


    树莓派内网穿透_第4张图片
    VPS结果图

你可能感兴趣的:(树莓派内网穿透)