「内网远程桌面」搭建frp实现内网穿透
「内网远程桌面」搭建frp实现内网穿透
AstrophelFRP是GitHub上一个有名的开源项目。借助这个简单易懂程序,我们可以轻松实现搭建自己的内网穿透。
Step1:分析
使用这套程序的起因是我想使用Mac远程连接一台位于复杂内网环境中但可以联网的Windows10 PC。
通常情况下,可以使用软件teamviwer或者向日葵实现。但这种方案需要控制端安装相应软件,且商业版需要付费,故弃之。
也可以使用网络上内网穿透提供商的服务,如花生壳。但其免费版限速严重,故弃之。
最后,考虑到自己有一台闲置的Linux服务器,且拥有固定公网IP,所以选择自建内网穿透服务器。几经考(zhe)虑(teng),选择了简单的frp作为工具。
另:这篇笔记的对象主要是没有Linux操作经验的小白。
Step2:准备
服务端使用ubuntu 64位系统,客户端为Windows10。
Step3:操作
在开始前,先感谢知乎大佬的这篇文章给我的帮助。然后附上FRP项目在GitHub上的地址:点此跳转
首先是服务端的配置:
服务端配置过程中主要用到的指令有:
ssh(远程连接Linux服务器)、wget(用于下载GitHub上的程序原文件)、tar(源文件是压缩包,该指令用于解压)、mv(源文件名字太长,mv用于给源文件重命名)、cd(切换工作目录,用于打开文件夹)、vi(Linux下好用的文本编辑器,用于编辑frp的配置文件)等
首先使用ssh指令远程连接服务器:(建议使用root账号登陆)
1 | ssh #linux服务器的用户名@#服务器IP地址 |
按提示输入密码,进入服务器
随后,使用wget指令,下载GitHub上的源文件。目前的版本是0.38.0,根据GitHub上的下载链接调整(国内访问不稳定)
frp项目的下载链接页面
1 | wget --no-check-certificate https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz |
输入
1 | ls |
查看目录中是否已经有了该安装包。确认后
解压安装包(注意加粗的版本号,以你下载的为准)
1 | tar -xzvf frp_0.38.0_linux_amd64.tar.gz |
解压完成后,输入
1 | ls |
查看当前位置是否已经有了解压后的文件夹。确定后
重命名该文件夹,因为原名太长了(注意加粗的版本号,以你下载的为准)。
1 | mv frp_0.38.0_linux_amd64 frps |
现在,这个文件夹从frp_0.38.0_linux_amd64被重命名为frps。后面打起来容易多了。
使用cd指令进入文件夹
1 | cd frps |
根据知乎大佬提示,进入后需要:
1 | # 确保 frps 程序具有可执行权限 |
无误后,使用vi编辑器打开配置文件:
1 | vi frps.ini |
这时,你会发现该页面无法编辑。因为vi默认进入了命令模式。输入i进入编辑模式。按照下面的格式自由发挥:(使用时把#后的和括号里的东西去掉)
1 | [common] |
输入完上面的东西后,需要保存并退出vi编辑器:另起一行,输入
1 | : |
不要回车也不要空格,紧接着输入
1 | w |
意思是保存该文稿
然后以同样的方式输入:q,意思是退出vi。
退出后输入
1 | ./frps -c frps.ini |
意思是启动frp服务端。
正常情况下,此时已经可以通过浏览器访问控制面板了!
另:如果不行,请自行检查防火墙策略
输入sudo vim /lib/systemd/system/frps.service
,在 root/lib/systemd/system 下面新建一个文件frps.service,并在文件里面写入以下内容:
1 | [Unit] |
服务端的配置告一段落,随后是内网客户端:
在GitHub上下载Windows版本源文件。解压,保留frpc.exe和frpc.ini两个文件,放在一起。(建议放在Windows的用户目录,方便进一步操作)
用记事本打开frpc.ini,按如下格式配置
1 | [common] |
填写完成后保存。
然后,不要双击exe文件!!!
win+R,输入cmd,开启命令行
使用cd指令进入该目录,执行:
1 | ./frpc.exe -c frpc.ini |
如图所示:
出现success字样提示后,代表内网穿透已经完成。使用时,可以最小化,不要关闭该窗口,否则会导致服务停止。
pc name处填写服务器公网IP,:后填写在客户端设置的remote_port
如使用远程桌面连接,请在pc name处填写服务器公网IP,:后填写在客户端设置的remote_port
至此,内网穿透的配置正式结束了!