• Linux下配置frp实现Windows远程桌面连接


    需要准备一台公网IP的Linux服务器

    安装

    sudo apt-get update
    sudo apt-get upgrade
    

    依次执行以下四条命令

    sudo wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
    sudo chmod 700 ./install-frps.sh
    sudo ./install-frps.sh install
    

    此时,会弹出配置的信息,全部用默认配置,最后我生成的配置信息如下
    image.png
    进入frps的安装目录,我的目录是:/usr/local/frps下,如果你不知道目录在哪里,可以执行以下命令:

    whereis frps
    

    在/usr/local/frps目录下,先备份frps.ini 脚本

    cd /usr/local/frps
    sudo cp frps.ini frps.ini.backup
    

    编辑frps.ini文件
    增加如下内容:

    [rdp]
    type = tcp
    custom_domains = xxx.xxx.xxx.xxx  
    

    其中的xxx.xxx.xxx.xxx修改为你的Linux服务器的公网ip地址

    然后重启frps服务

    sudo frps restart
    

    然后配置你需要远程的电脑,首先,你需要下载一个版本和服务器上安装的frps版本一致的frps客户端安装包:
    首先查看一下服务器的frps版本

    ubuntu@VM-0-16-ubuntu:/usr/local/frps$ frps -v
    Frps version 0.33.0
    

    在:https://github.com/fatedier/frp/releases 中选对应的包即可,因为我需要远程的是Windows系统,所以我选择了frp_0.33.0_windows_amd64.zip这个安装包

    解压到Windows系统自定义一个目录即可,我的放在C:frp目录下
    在C:frp目录下
    复制一份frpc.ini为frpc.ini.backup
    编辑C:frpfrpc.ini

    [common]
    # xxx.xxx.xxx.xxx 替换成你的Linux服务器的公网IP
    server_addr = xxx.xxx.xxx.xxx
    server_port = 5443
    # 这个和上面设置的服务端key要一样
    token = xxxxxxxx
    [rdp]
    #远程连接TCP类型
    type = tcp
    #本机的IP地址
    local_ip = 127.0.0.1
    local_port = 3389
    remote_port = 3390
    # xxx.xxx.xxx.xxx替换成你的Linux服务器的公网IP
    custom_domains = xxx.xxx.xxx.xxx
    

    以上配置信息可以参考之前在Linux上安装frps后的配置信息填写

    因为我们remote_port设置的是3390,所以在Linux服务端需要打开3390的防火墙权限,具体命令如下

    1. 安装iptables
    sudo apt-get install iptables
    
    1. 添加规则

    在终端输入

    sudo iptables -I INPUT -p tcp --dport 3390 -j ACCEPT
    

    中间的3390为所需要开放的端口

    1. 保存规则
    sudo iptables-save
    

    完成上述命令我们就完成了开放指定的端口,但是如果此时服务器重启,上述规则就没有了,所以我们需要对规则进行一下持续化操作

    这里我们需要在安装一下工具来帮我们实现,这里我们使用 iptables-persistent

    1. 安装iptables-persistent
    sudo apt-get install iptables-persistent
    
    1. 持久化规则
    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    

    完成上述操作就可以永久打开我们需要的端口了

    Windows的远程桌面需要启用,Windows10的配置如下,其余版本的Windows可以自行百度配置
    image.png

    Windows下,在frp目录下(我的目录在C:frp)打开命令行窗口,执行:frpc.exe
    image.png
    出现以上信息,即可
    找到另外一台可以联网的Windows机器,
    打开远程桌面:Win+R,输入:mstsc
    输入:Linux的公网ip:3390
    输入用户名、密码
    即可远程连接到这个Windows机器上了。

    Mac/iPhone/iPad上也有Window远程桌面这个App,也可以通过这个App进行远程操作。

    更多地

    我们可以在Windows上把frpc.exe注册成服务,并且开机启动,这样就不需要每次远程的时候,都要命令行启动frpc.exe
    具体操作如下:
    下载nssm
    http://nssm.cc/download 并解压
    解压后如下:
    image.png
    找到自己Windows对应的版本,我的是64位,所以选择win64下的nssm.exe,将这个exe复制到frp目录下,我的frp目录是:C:/frp下,

    然后在frp目录下,(以管理员身份)打开控制台,执行:nssm install frpc
    image.png
    如上图操作后,打开windows的服务
    image.png
    frpc服务即可做到开机启动。

  • 相关阅读:
    了解运行时类型信息(RTTI)
    linux培训笔记1
    Delphi 的各种错误信息(中英文)
    delphi XML 原来可以玩接口
    wxWidgets初学者导引(2)——下载、安装wxWidgets
    Delphi中ADO异步执行方式
    模态运行EXE程序
    window.setTimeout()函数的使用
    应用程序的关闭退出(在FMX中,Activity替代了Form的概念)
    Dll方式的线程,需要引用这个
  • 原文地址:https://www.cnblogs.com/greyzeng/p/12985065.html
走看看 - 开发者的网上家园