在办公室操作家中电脑——FRP内网穿透与远程桌面(二)
Tofloor
poster avatar
张龙于飞
deepin
2019-06-17 20:18
Author
本帖最后由 cnedun 于 2019-6-17 12:40 编辑

接上篇:https://bbs.deepin.org/post/179390
四、FRP内网穿透及远程桌面配置

(一)代理服务器端配置
1、ssh 连接阿里云主机(centos 7)
2、下载:wget https://github.com/fatedier/frp/releases/download/v0.27.0/frp_0.27.0_linux_amd64.tar.gz
下载完成之后解压:tar -zxvf frp_0.27.0_linux_amd64.tar.gz
解压完成后重命名目录:mv frp_0.27.0_linux_amd64 frp
进入frp目录文件夹:cd frp
FRP 默认给出两个服务端配置文件,一个是简版的 frps.ini,另一个是完整版本 frps_full.ini。
删除客户端相关的文件(frpc,frpc.ini,frpc_full.ini)
3、编辑 frps.ini :vim frps.ini
bind_port 为客户端与服务端进行通信的端口
Dashboard 通过浏览器查看 frp 的状态以及代理统计信息展示。
  1. [common]
  2. bind_port = 7000
  3. dashboard_port = 7500
  4. # dashboard 用户名密码,默认都为 admin
  5. dashboard_user = admin
  6. dashboard_pwd = admin
Copy the Code

4.1、设置开机启动和后台运行
vi /etc/systemd/system/frps.service
  1. [Unit]
  2. Description=frps daemon
  3. After=syslog.target  network.target
  4. Wants=network.target
  5. [Service]
  6. Type=simple
  7. ExecStart=/home/frp/frps -c /home/frp/frps.ini
  8. Restart= always
  9. RestartSec=1min
  10. [Install]
  11. WantedBy=multi-user.target
Copy the Code

注意ExecStart中要配置成自己的路径
然后启动frps:sudo systemctl start frps
打开开机自启动:sudo systemctl enable frps
如果要重启应用:sudo systemctl restart frps
如果要停止应用:sudo systemctl stop frps
如果要查看应用的日志:sudo systemctl status frps
4.2、./frps -c ./frps.ini  前端开启,关闭就会失效,使用 nohup 后端运行
nohup ./frps -c ./frps.ini &
5、由于使用阿里云服务器,需要在阿里云控制面板配置安全组规则,添加 7000 7500 33891 33892 8080 端口。其中 7000 和 7500 是 frps.ini 文件开放的端口,33891 是电脑B frpc.ini 指定的映射到本地的远程端口。如果使用的别的服务器,就在防火墙打开这些端口。

6、本地通过浏览器打开  http://[server_addr]:7500 ,访问 dashboard 界面,输入用户名及密码 admin,如果能正常显示,说明运行正常
(二)电脑A(windows10)安装Frp客户端
1、首先需要开启 windows10 远程桌面。打开控制面板=>系统=>高级系统设置,切换到"远程",选择“允许远程连接到此计算机”,并勾选身份验证选项,如下图所示:

2、下载对应的版本,解压,删除与服务端相关的文件(frps.exe, frps.ini,frps_full.ini)
和 FRP 服务端类似,FRP 默认也给出两个客户端配置文件,一个是简版的 frpc.ini,另一个是完整版本 frpc_full.ini。
3、编辑 frpc.ini
  1. [common]
  2. server_addr = 1.2.3.4
  3. server_port = 7000
  4. admin_addr = 127.0.0.1
  5. admin_port = 7400
  6. admin_user = admin
  7. admin_pwd = admin

  8. [RDP]
  9. type = tcp
  10. local_ip = 127.0.0.1
  11. local_port = 3389
  12. remote_port = 33891
Copy the Code

这里配置的远程端口(remote_port)要和前面阿里云开放的端口对应。这里指阿里云主机的 33891 端口映射到本机的 3389 端口。还可以继续添加,映射到本机 80 端口,就可以让本机对外提供 http 服务。
4、启动客户端服务
在frp 目录中新建文件 frp.vbs
  1. dim objShell
  2. set objShell=wscript.createObject("WScript.Shell")
  3. iReturnCode=objShell.Run("C:\WWW\frp\frpc.exe -c C:\WWW\frp\frpc.ini",0,TRUE)
Copy the Code

双击 frp.vbs ,即可启动 frpc 服务。
将 frp.vbs 放在 C:\Users\zmh\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 启动目录中,即可实现开机启动。

(三)电脑B(访问端,Linux)连接电脑A(Win10)远程桌面

电脑B是深度Deepin Linux 系统,Deepin 是国产的基于Debian的系统,和ubuntu系统类似,但是面向国内普通用户做了许多定制,相比其他Linux发行版,开箱即用,使用简单方便。
首先在 Deepin 的应用商店安装 Remmina 工具,Remmina 是一个支持 SSH RDP VNC 等多种协议的远程桌面客户端,运行之后,打开右上角的菜单,选择“首选项”,切换到“RDP”选项卡,质量设置里,可以选择一个预设项,比如“良好”,一定要勾选“平滑字体”,保存。


回到Remmina主程序,点击左上角创建连接,名称由自己定,,协议选择“RDP”,服务器填写自己的阿里云服务器的IP地址,端口号是电脑A frpc.ini 配置文件指定的 33891,如果使用默认的3389端口,可以不填端口号。切换到高级项,将画质设置为“良好”,声音也可以打开,安全项不变。注意:如果电脑A的系统是windows7,安全项一定要设置为"RDP"才能连接。


一切配置就序,连接之后,输入电脑A的Win10系统的用户名密码登录,如图3-1所示,效果非常好,自己感觉要比 TeamViewer 效果好。使用之后,断开连接,如果再回到电脑A,Win10处于锁定状态,输入密码登录,桌面依然会保持断开时的样子。
如果电脑B是 win7以上系统呢,那连接就更简单了,打开windows的远程桌面连接程序(mstsc.exe),输入代理服务器IP及端口,连接即可。

------待续------

(来源:



Reply Favorite View the author
All Replies

No replies yet