• frp内网穿透


    原理

    在这里插入图片描述
    1、在公网中转服务器上面搭建FRP服务器。同时,在内网服务器上面安装FRP客户端。
    2、按照UP的FRP客户端配置文件进行说明。7000端口是FRP服务端开放的端口用来使得FRP客户端任意随机端口x1和FRP服务端建立连接和保持连接用的。而其中的remote_port=6000,local_port=22,意思是当FRP客户端在跟FRP服务端建立连接之后,客户端会一直告诉服务器端,请你在中转服务器的FRP服务中把6000端口打开,使得外网的电脑它的随机端口x2端口可以跟中转服务器的6000端口建立连接并传输数据所用。同时,FRP服务器会开启一个随机端口x3和FRP客户端的22端口相连,目的是为了从6000端口收到的数据从x3端口全部转给FRP内网客户端22端口。
    3、说的可能有些绕,总共三根线。
    第一根:FRP客户端X1端口连FRP服务端7000端口。作用建立跟保持连接。
    第二根:外网电脑X2端口连FRP服务端6000端口。作用连接并传输外网到内网的数据。
    第三根:FRP服务端X3端口连FRP客户端22端口。作用将6000收到的数据,转到自己身上的X3端口,再传给FRP客户端的22端口。
    总的来说开启22端口是为了SSH连接,那么同理要是内网服务器开启HTTP服务的话,那么FRP也可以进行代理的,只需要开启相应的端口就行。

    如果没有配置ssh,需要先配置ssh

    在这里插入图片描述
    ssh -V
    ssh安装成功
    在这里插入图片描述
    都改成自动
    在这里插入图片描述
    Get-Service -Name *ssh*
    在这里插入图片描述
    查看ssh是否默认监听22号端口
    netstat -an | findstr :22
    在这里插入图片描述
    ipconfig
    查看电脑的ip地址
    在这里插入图片描述
    局域网测试
    ssh "微软账号"@内网ip地址

    免密登录到pc

    在这里插入图片描述
    在本地创建公钥和私钥一路enter
    ssh-keygen
    在这里插入图片描述
    将本地公钥打开并复制
    在这里插入图片描述
    内网服务器在.ssh中创建authorized_keys.txt,粘贴到这里再将后缀去掉即可。
    如果是linux的本地想免密访问也是得先创建公钥私钥ssh-keygen,然后ls ~/.ssh查看公钥私钥,再vim .ssh位置的公钥复制粘贴到内网服务器的authorized_keys.txt,具体见如下操作。
    这里我有两个本地服务器,公钥都粘贴到这里了。
    在这里插入图片描述
    把后缀txt去掉
    在这里插入图片描述
    更改内网服务器的sshd_config配置
    在这里插入图片描述在这里插入图片描述
    重启sshd服务
    在这里插入图片描述
    然后测试免密登录即可
    ssh -p 6000 "微软登录邮箱"@公网ip

    内网穿透流程

    首先确定中转服务器开启6000和7000端口号
    在这里插入图片描述
    首先运行windows上的内网服务器frpc
    在这里插入图片描述
    填写中转服务器的公网ip地址
    在这里插入图片描述
    运行frp客户端
    frpc.exe -c ./frpc.ini
    在这里插入图片描述
    再运行linux的中转服务器frps服务端
    ./frps -c frps.ini
    在这里插入图片描述
    连接ssh
    ssh -p 6000 "微软登录邮箱"@公网ip
    输入密码后既可登录成功-》远程连接成功
    在这里插入图片描述

    frp自启动

    frps自启动

    增加自启动配置
    vim /lib/systemd/system/frps.service

    [Unit]
    Description=Frp Server Service
    After=network.target
    [Service]
    Type=simple
    User=root
    Restart=on-failure
    RestartSec=5s
    ExecStart=/root/frp_0.45.0_linux_amd64/frps -c /root/frp_0.45.0_linux_amd64/frps.ini
    LimitNOFILE=1048576
    [Install]
    WantedBy=multi-user.target
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    需要更改的位置,一个是你的linux服务器用户名,另外就是你的frps路径
    在这里插入图片描述
    systemctl daemon-reload
    systemctl enable frps
    systemctl start frps
    查看frps是否自启动成功
    systemctl status frpservice
    中转服务器frps自启动成功
    在这里插入图片描述

    frpc自启动

    新建frpc_autostart.bat
    在这里插入图片描述
    复制下面粘贴到新建的txt中,再去掉txt后缀
    不能自己退出

    @echo off
    if not defined TAG (
     set TAG=1
     start wt -p "cmd" %0
     exit
    )
    :home
    frpc -c frpc.ini
    goto home
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    能自己退出

    @echo off
    if not defined TAG (
     set TAG=1
     start wt -p "cmd" %0
     exit
    )
    @REM :home
    frpc -c frpc.ini
    @REM goto home
    exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    点击frpc_autostart.bat
    frpc自启动成功
    在这里插入图片描述
    测试连接
    ssh -p 6000 "微软登录邮箱"@公网ip

  • 相关阅读:
    Java开发注意事项和细节说明
    (Matlab)使用竞争神经网络实现数据聚类
    Qt中的JSON支持
    在NetSuite中实现合作伙伴管理
    从零开始利用MATLAB进行FPGA设计(七)用ADC采集信号教程2
    【状语从句练习题】because / because of / although / in spite of
    java计算机毕业设计风情旅游网站源码+mysql数据库+系统+lw文档+部署
    6.jQuery中的Ajax上传文件
    安全机密管理:Asp.Net Core中的本地敏感数据保护技巧
    短视频矩阵系统源码====3年技术公司源头开发商交付
  • 原文地址:https://blog.csdn.net/Jiaodaqiaobiluo/article/details/127971320