FRP是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账号登陆)
ssh #linux服务器的用户名@#服务器IP地址
按提示输入密码,进入服务器
随后,使用wget指令,下载GitHub上的源文件。目前的版本是0.38.0,根据GitHub上的下载链接调整(国内访问不稳定)
wget --no-check-certificate https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz
输入
ls
查看目录中是否已经有了该安装包。确认后
解压安装包(注意加粗的版本号,以你下载的为准)
tar -xzvf frp_0.38.0_linux_amd64.tar.gz
解压完成后,输入
ls
查看当前位置是否已经有了解压后的文件夹。确定后
重命名该文件夹,因为原名太长了(注意加粗的版本号,以你下载的为准)。
mv frp_0.38.0_linux_amd64 frps
现在,这个文件夹从frp_0.38.0_linux_amd64被重命名为frps。后面打起来容易多了。
使用cd指令进入文件夹
cd frps
根据知乎大佬提示,进入后需要:
# 确保 frps 程序具有可执行权限
chmod +x frps
无误后,使用vi编辑器打开配置文件:
vi frps.ini
这时,你会发现该页面无法编辑。因为vi默认进入了命令模式。输入i进入编辑模式。按照下面的格式自由发挥:(使用时把#后的和括号里的东西去掉)
[common]
# frp 服务端端口
bind_port = 7000(随便设置,如不冲突,可以直接用7000)
# frp 服务端密码
token = 12345678(随便设置,建议别用12345678)
#超时控制,0即是无超时控制
authentication_timeout = 0
# 仪表盘端口,后面在浏览器输入你的ip:这个端口可以进入管理面板
dashboard_port = 7500(随便设置,如不冲突,可以直接用7500)
# 仪表盘访问的用户名密码
dashboard_user = admin(随便设置)
dashboard_pwd = admin(随便设置)
输入完上面的东西后,需要保存并退出vi编辑器:另起一行,输入
:
不要回车也不要空格,紧接着输入
w
意思是保存该文稿
然后以同样的方式输入:q,意思是退出vi。
退出后输入
./frps -c frps.ini
意思是启动frp服务端。
正常情况下,此时已经可以通过浏览器访问控制面板了!
另:如果不行,请自行检查防火墙策略
输入sudo vim /lib/systemd/system/frps.service
,在 root/lib/systemd/system 下面新建一个文件frps.service,并在文件里面写入以下内容:
[Unit]
Description=frps daemon
[Service]
Type=simple
#此处把/root/frp_linux_arm64替换成 你的frps的实际安装目录
ExecStart=/root/frp_linux_arm64/frps -c /root/frp_linux_arm64/frps.ini
[Install]
WantedBy=multi-user.target
服务端的配置告一段落,随后是内网客户端:
在GitHub上下载Windows版本源文件。解压,保留frpc.exe和frpc.ini两个文件,放在一起。(建议放在Windows的用户目录,方便进一步操作)
用记事本打开frpc.ini,按如下格式配置
[common]
# 服务器公网地址
server_addr = xxx.xx.xxx.xx(在这里输入你服务器的公网IP)
# 端口
server_port = 7000(使用前面设置的第一个端口)
# frp 服务端密码(与服务端相同)
token = 12345678
[rd] (随便起一个,要求英文)
# 类型
type = tcp(远程桌面连接是tcp型,其余的自行搜索)
# 本地地址(通常情况下默认127.0.0.1即可)
local_ip = 127.0.0.1
# 本地端口(3389是远程默认端口,如果修改过填写修改后的)
local_port = 3389
# 线上对外暴露端口(后面使用时填写的端口,不冲突即可)
remote_port = 33891
填写完成后保存。
然后,不要双击exe文件!!!
win+R,输入cmd,开启命令行
使用cd指令进入该目录,执行:
./frpc.exe -c frpc.ini
如图所示:
出现success字样提示后,代表内网穿透已经完成。使用时,可以最小化,不要关闭该窗口,否则会导致服务停止。
如使用远程桌面连接,请在pc name处填写服务器公网IP,:后填写在客户端设置的remote_port
至此,内网穿透的配置正式结束了!
Comments | 2 条评论
博主 HaoyuWu
注意,所有符号都应当是英文格式