美文网首页Linux玩转树莓派
树莓派内网穿透 Ngrok

树莓派内网穿透 Ngrok

作者: moodi | 来源:发表于2017-07-31 21:19 被阅读438次

    部署准备

        1.vps主机一台(我用的是搬瓦工vps,一年100多点,很实惠)
        2. 顶级域名一个 并泛解析到vps的独立ip地址
        3.树莓派一个
    

    go语言安装 树莓派和vps安装go的方式有所不同,树莓派下需要编译

      对于64位Linux:
     $ wget https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz
     对于32位Linux:
     $ wget https://storage.googleapis.com/golang/go1.4.1.linux-386.tar.gz
     在/usr/local下安装程序
      $ sudo tar -xzf go1.4.1.linux-xxx.tar.gz -C /usr/local
     在/etc/profile中添加系统范围的PATH环境变量。
     $ sudo vi /etc/profile
     export PATH=$PATH:/usr/local/go/bin
    检查Go语言的版本
    $ go version
    

    树莓派安装go参考 http://www.jianshu.com/p/4c79aec8b5e7

    ngrok安装与配置

    在vps上下载ngrok源码  xxxx.com换成自己的域名
     git clone https://github.com/inconshreveable/ngrok.git ~/ngrok
     export GOPATH=~/ngrok/
     export NGROK_DOMAIN="xxxx.com"
     cd ~/ngrok
    
    生成证书,Ngrok会使用此证书加密通讯
    openssl genrsa -out base.key 2048
    openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
    openssl genrsa -out server.key 2048
    openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
    openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
    
    将证书文件复制到指定位置
    cp rootCA.pem assets/client/tls/ngrokroot.crt -i
    cp server.crt assets/server/tls/snakeoil.crt -i
    cp server.key assets/server/tls/snakeoil.key -i
    
    编译服务器端与客户端
    服务器端为linux-x86-64   
    export GOOS=linux
    export GOARCH=386
    make release-server
    客户端为arm
    export GOOS=linux
    export GOARCH=arm
    make release-client
    

    ~/ngrok/bin目录下会产生两个文件如图

    QQ截图20170731210641.png

    linux_386是服务器用的文件, linux _arm是树莓派上用的文件

    vps上部署ngrok服务

     cp ~/ngrok/bin/linux_386/ngrokd /usr/bin/
     单独开个线程
     yum install -y screen
     screen -S ngrokd
     sudo ngrokd -domain="xxxx.com" -httpAddr=":80" -httpsAddr=":443"
    如果80  443被的程式占用的话,修改端口号即可,或者kill掉占用进程
    

    树莓派上部署ngrok客户端

          在树莓派上新建个文件夹sudo mkdir  ~/ngrok  
         cd ~/ngrok
         sudo nano ngrok.cfg
         里面加入 server_addr: xxxxxx.com:4443
                         trust_host_root_certs: false
          然后ctrl+o ent 保存  ctrl+X 离开
          
         把在vps上编译的liunx_arm里面的ngrok文件弄到树莓派~/ngrok里面。
          sudo  ./ngrok -subdomain test -proto=http -config=ngrok.cfg 80
    
    QQ截图20170731212603.png QQ截图20170731212711.png

    相关文章

      网友评论

        本文标题:树莓派内网穿透 Ngrok

        本文链接:https://www.haomeiwen.com/subject/vmarlxtx.html