zoukankan      html  css  js  c++  java
  • 树莓派公网服务器实现frp内网穿透

    自己挖坑给自己埋,服务器都弄坏两次,特来总结以下经验。
    前提准备:公网服务器IP(我的是阿里云服务器)
    你得确保你的服务器开通了端口号,不然连接不成功
    阿里云-网络安全组配置-添加规则(我是打开了6000-7000之间的所有端口号,你也可以先按我的做)
    获取树莓派所在局域网的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连接你局域网的树莓派了
    端口号记得改成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.不要直接运行这种命令
    你的机器上没有这个文件会直接报错,这个是要自己新建的自启服务
    这个方法比较好用,很方便
    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
  • 相关阅读:
    抓不住重点
    打瞌睡的一周
    培养专门领域技能的同时不要忘记通用性和可迁移性技能
    H.265 Video Encoder IP Core
    人最重要的能力---转载
    写写视频多媒体的内容
    关于做开发的一点感想
    android安全技术技能清单
    Callable,Future,FutureTask
    软件工程作业汇总(网络14、15、16)
  • 原文地址:https://www.cnblogs.com/cg-ww/p/12758700.html
Copyright © 2011-2022 走看看