zoukankan      html  css  js  c++  java
  • 自建远程桌面过程 vnc + frp

    为何需要自建远程控制桌面

    想要随时随地远程一台电脑?上网搜一下常见方案有teamviewer,向日葵远控,这2宝贝基本满足普通用户的大部分需求。但是如果想特定端口商业环境公司网络,还想在手机上远控。那就得自己DIY了。

    所需硬性条件

    1. 云服务器+公网IP,需自购云或AWS EC2
    2. 用于内网穿透的软件(免费) FRP
    3. 被控电脑装的服务软件(免费) TightVNC
    4. 手机或电脑上进行远控软件(免费) VNCViewer

    单纯内网远控

    在家有多个电脑,想直接用手机远控。那就直接装TightVNC和VNCViewer就足够了。此处唯一需要注意的是

    • TightVNC提供Client Viewer,但不怎么好用。其他直接下一步就成。同时记得设置密码。
    • www.realvnc.com/en/connect/download/viewer 一看就懂,按需下载
    • 连接的服务器地址请填被控电脑的内网地址。可在命令行下敲ipconfig看。

    公网远控

    模拟情景是这样的,用手机4G网络,使用VNCViewer软件连接114.114.114.114:55555服务器。服务器通过frp和某内网电脑192.168.1.55的frp软件通信,frpc则和自身的vnc server服务端口127.0.0.1:5900通讯。

    公网服务器FRPS安装和使用

    1. 以ubuntu为例,直接下载frp https://github.com/fatedier/frp/releases
    2. 解压包,找到frps.ini 进行配置
    [common]
    bind_addr = 0.0.0.0
    bind_port = 55000  //此处端口重要
    
    token = testtoken
    
    //WEB HTTP服务详情查看的端口
    dashboard_port = 55500
    # dashboard 用户名密码,默认都为 admin
    dashboard_user = admin
    dashboard_pwd = adminpsd
    
    log_file = ./home/ubuntu/frps_log.log
    log_level = info
    log_max_days = 3
    
    1. 运行包含指定配置的frps服务器程序

    frps -c ./frps.ini

    服务设置,让frps成为后台服务

    1. 新建一个服务文件 frps.service
    [Unit]
    Description=frps service
    After=network.target syslog.target
    Wants=network.target
    
    [Service]
    Type=simple
    #启动服务的命令(此处写你的frps的实际安装目录)
    ExecStart=/home/ubuntu/frp/frps -c /home/ubuntu/frp/frp_0.20.0_linux_amd64/frps.ini
    
    [Install]
    WantedBy=multi-user.target
    
    1. 复制到ubuntu的服务目录下

    /lib/systemd/system

    1. 通过以下指令来判断frps的服务运行
    //重载列表
    systemctl daemon-reload
    //确认frps是否存在
    systemctl --all | grep frps 
    //确认具体状态
    systemctl status frps 
    //启动
    systemctl start frps 
    
    1. 最后是设置自启动
    //是否自启动
    systemctl is-enabled frps
    //是否已启动
    systemctl is-active frps
    //设置自启动
    systemctl enable frps
    //禁止自启动
    systemctl disable frps
    

    客户端设置

    让被控电脑通过FRPS将VNC服务暴露在公网

    1. 直接下载frp https://github.com/fatedier/frp/releases
    2. 解压包,找到frpc.ini 端口和token设置
    [common]
    server_addr = 114.114.114.114 //公网服务器ip
    server_port = 55000 //frp端口
    token = testtoken //需和frps.ini的设置的一致
    
    [range:VNC]
    type = tcp
    local_ip = 127.0.0.1 //
    local_port = 5900 //TightVNC Service所设置的Main Server port
    remote_port = 55555 //公网VNC访问端口,日后Viewer通过114.114.114.114:55555进行链接
    use_encryption = false
    use_compression = false
    
    1. TightVNC Service设置 - 开启回路

    Access Control -> 勾选 Allow loopback connections

    (可选)Windows下为frpc设自动启动服务

    1. WINSW 来自动设置服务吧
    2. 下载,解压,配置winsw.xml
    <service>
        <id>frpc</id>
        <name>frp0.27.1-windows-amd64</name>
        <description>frpc客户端 这个服务用 frpc 实现内网穿透</description>
        <executable>H:/frp_0.27.1_windows_amd64/frpc.exe</executable>
        <arguments>-c H:/frp_0.27.1_windows_amd64/frpc.ini</arguments>
    	<onfailure action="restart" delay="10 sec"/>
    	<onfailure action="restart" delay="20 sec"/>
    	<log mode="append" />
        <logpath>H:/frp_0.27.1_windows_amd64/frp_logs.log</logpath>
        <waithint>15 sec</waithint>
    	<sleeptime>1 sec</sleeptime>
    </service>
    
    1. 执行命令行安装命令
    //安装服务
    winsw install
    //开启服务
    winsw start
    
    1. 查看结果

  • 相关阅读:
    VSCode 快捷键(整理)
    MySQL数据库插入 100w 条数据用了多久?
    @Transactional事务几点注意及其属性Propagation的使用
    maven deploy时报错 distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter
    Spring Boot+Mybatis 配置多数据源
    IDEA集成MyBatis Generator 插件 详解
    Spring boot中Yml文件的坑
    朝北教室的风筝 初听不知曲中意,再听已是曲中人
    Debug 调试问题-如何找到出问题的方法
    资损问题
  • 原文地址:https://www.cnblogs.com/oplusx/p/13152545.html
Copyright © 2011-2022 走看看