• frp内网穿透服务器搭建(自建frp内网穿透)


    一、简介

    frp是一款跨平台的内网穿透工具,支持Windows系统,支持linux内核的系统,支持软路由系统,支持群晖nas系统。可以实现多种服务的穿透,以我个人为例,我就通过frp实现了路由器的远程管理,nas的远程访问,pve虚拟机的远程管理,办公电脑的远程桌面。通过一段时间的使用感觉frp就是神器!

    无线路由器-网关-dtu

    我目前通过frp穿透的一些服务和应用

    二、搭建frp需要准备的材料:

    1、一台腾讯云或者阿里云的轻量化服务器,我用的是腾讯云的轻量化服务器。新用户59元每年,感觉这个价格还是可以承受的。

    2、下载frp服务器软件和客户端软件:
    https://github.com/fatedier/frp/releases/tag/v0.42.0,选择对应平台即可

    3、ssh工具MobaXterm.exe

    三、详细步骤

    第一步:购买轻量化服务器,给服务器装系统,推荐安装Ubuntu18.04,占用资源少而且相关教程特别多

    第二步:进入GitHub下载对应客户端服务器软件,安装Ubuntu的话直接下载
    frp_0.42.0_linux_amd64.tar.gz,这个压缩包里面既包含了Linux服务器软件又包含了Linux客户端软件,其中frps和frps.ini是服务器软件和配置文件,frpc和frpc.ini是客户端软件和配置文件。

    无线路由器-网关-dtu

    第三步:服务器端软件安装配置和开机启动

    通过ssh工具MobaXterm.exe远程登陆进服务器,将压缩包上传到服务器,root目录然后解压解压,然后进入frp目录

    tar -zxvf frp_0.42.0_linux_amd64.tar.gz

    cd frp_0.41.0_linux_amd64/

    nano frps.ini

    [common]

    bind_addr=0.0.0.0

    bind_port = 7000

    dashboard_user = admin

    dashboard_pwd = xxxx(登录网页管理界面的密码)

    dashboard_port = 8088

    token = 1234567890(设置令牌,我的只是演示)

    把红色部分代码复制到frps.ini配置文件,Ctrl+x Y enter退出

    然后在这个目录下设置开机启动

    sudo mkdir -p /etc/frp

    sudo cp frps.ini /etc/frp

    sudo cp frps /usr/bin

    sudo mkdir /usr/lib/systemd/system

    sudo cp systemd/frps.service /usr/lib/systemd/system/

    sudo systemctl enable frps

    sudo systemctl start frps

    第四步添加服务器规则放行端口

    进入服务器,添加防火墙规则,设置内网穿透时的远程访问端口和frp管理面板的端口

    管理端口的地址是8088

    frp的服务端口7000

    其他放行端口根据自己喜好

    无线路由器-网关-dtu

    第五步,客户端配置

    下载对应客户端平台的客户端软件,windows64就下载
    frp_0.42.0_windows_amd64.zip ,更改frpc.ini文件

    [common]

    server_addr = 服务器公网地址

    server_port = 7000

    token = 1234567890

    pool_count = 5

    [ssh1](名字根据自己情况起)

    type = tcp

    local_ip = 127.0.0.1

    local_port = 3389 (本地需要映射的端口)

    remote_port = 7001 (服务器规则里放行的端口)

    cmd切换到frpc所在目录使用frpc.exe -c frpc.ini 命令就可以开启frp实现穿透了

    四、入门到精通–哈哈

    第一个:如果想在一台客户端主机上实现多个端口穿透也是可以实现的,请看如下代码

    [common]

    server_addr = 服务器公网地址

    server_port = 7000

    token = 1234567890

    pool_count = 5

    [range:xxx](名字根据自己情况起)

    type = tcp

    local_ip = 127.0.0.1

    local_port = 3389,80,22 (本地需要映射的端口)

    remote_port = 7001,7002,7003 (服务器规则里放行的端口)

    只要在服务器端放行相应的端口就行了

    第二个 windows平台开机启动

    因为Windows系统下从命令行启动frp内网穿透工具后,如果关闭命令行的黑窗口,frp内网穿透服务就停止了,并且任务栏上一直有个命令行窗口也很不方便,所以要开机后启动并且要隐藏frp内网穿透工具的窗口,方法是这样的:新建一个文本文件,文件内写入如下内容,frp的文件路径根据自己的实际情况修改,然后重命名这个文本文件为frp.vbs ,注意txt的扩展名也要改为vbs,然后把这个frp.vbs放到Windows的启动目录里面。 Windows的启动目录位于“C:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp”(如果找不到这个目录可以在运行里面输入: “shell:startup” 或者输入“%programdata%MicrosoftWindowsStart MenuProgramsStartup”)

    set ws=WScript.CreateObject(“WScript.Shell”)

    ws.Run “d:frpc.exe -c d:frpc_net.ini”,0

    第三个linux客户端配置开机启动

    sudo mkdir -p /etc/frp

    sudo cp frpc.ini /etc/frp

    sudo cp frpc /usr/bin

    sudo mkdir /usr/lib/systemd/system

    sudo cp systemd/frpc.service /usr/lib/systemd/system/

    sudo systemctl enable frpc

    sudo systemctl start frpc

    frp内网穿透程序后台停止

    先找到这个进程

    ps -aux|grep frp| grep -v grep
    root 3600 0.1 0.1 110188 9484 pts/0 Sl 15:04 0:00 ./frpc -c ./frpc.ini
    执行之后如果显示这样则成功了

    然后kill -9 进程号

    kill -9 3600

    解决frp使用过程中总是断掉的问题
    如何解决frps使用过程中总是断掉的问题?在我们使用frp过程中,发现服务端的frps一定时间之后就会断掉,今天就来说说这个问题的解决方案;一、我们在/lib/systemd/system目录下创建一个文件frps.service内容入下:

    [Unit]
    Description=fraps service
    After=network.target syslog.target
    Wants=network.target
    
    [Service]
    Type=simple
    #启动服务的命令(此处写你的frps的实际安装目录)
    ExecStart=/your/path/frps -c /your/path/frps.ini
    
    [Install]
    WantedBy=multi-user.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    然后就启动frps
    sudo systemctl start frps

    再打开自启动
    sudo systemctl enable frps

    重启应用
    sudo systemctl restart frps

    停止应用
    sudo systemctl stop frps

    查看应用的日志
    sudo systemctl status frps

  • 相关阅读:
    设计模式学习笔记--责任链模式
    Python画图之散点图(plt.scatter)
    Transformer模型 | Python实现基于LSTM与Transfomer的股票预测模型(pytorch)
    oracle 比 mysql 查询快的原因_Oracle 查询速度慢的原因总结
    3.zigbee开发,OSAL原理及使用(类似操作系统)
    论文降重,你都用了什么奇特的方法?
    第1章 Java基础知识
    Redis数据缓存(Redis的缓存击穿和穿透的区别)
    经典文献阅读之--PL-SLAM(点线SLAM)
    二、W5100S/W5500+RP2040树莓派Pico<DHCP>
  • 原文地址:https://blog.csdn.net/longwuxin001/article/details/133173715