前言

通过华为云耀服务器给的优惠,购买了一个镜像实例,用来配置远程桌面服务,采用frp进行内网穿透,云服务环境为Ubuntu22.04。

配置

1.服务器端frp配置
cd /usr/local    # 进入默认的程序安装路径
wget clone https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_arm64.tar.gz    # 下载frp文件
tar -zxvf frp_0.51.3_linux_arm64.tar.gz    # 解压文件
mv frp_0.51.3_linux_arm64 frp    # 对文件夹更名
rm frp_0.51.3_linux_arm64.tar.gz    # 删除安装包
cd frp    # 进入文件夹
# 完成后会进入frp文件夹中

只保留有关服务器的文件

rm frpc    # 删除客户端
rm frpc.ini    # 删除客户端配置文件

配置frps.ini

[common]
bind_port = 7000
dashboard_port = 7500
token = 1q2w3e!Love
dashboard_user = xman
dashboard_pwd = 1a2s3d!Love
vhost_http_port = 10080
vhost_https_port = 10443

后台运行frps,使用systemctl来控制启动

[Unit]
Description=Frp Server Service # 服务描述
After=network.target # frps 将会在 network.service 启动完毕之后再启动

[Service]
Type=simple # 不论进程是否启动成功,systemctl start 都执行成功
User=nobody # 设置进程在执行时使用的用户
Restart=on-failure # on-failure 表示仅在服务进程异常退出时重启
RestartSec=5s # 设置在重启服务前暂停多长时间
ExecStart=/usr/local/frps -c /usr/Local/frp/frps.ini # 在启动该服务时需要执行的命令行

[Install]
WantedBy=multi-user.target # 用于 systemctl enable 时创建软连接

华为云安全组策略如下:

frpc 客户端启动_windows

2.Windows10客户端配置

下载frp的Windwos端,解压至C盘。由于是客户端,配置frpc.ini。

[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
token = xxxxxxxxxx

[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389

[smb]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 7002

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

字段解释如下:

[common]
server_addr = 你的服务器IP地址,如果有域名,填写域名即可
server_port = 你在服务器端设置的监听接口
token = 刚刚在服务器端设置的token,类似于密码之类的东西,如果密码不对是没法连上服务器的

[rdp]#	这里就是个名字,可以自己随便取
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389
#	这一段是在配置远程桌面的接口,Windows的RD Client一般为3389接口

[smb]#	这里是配置网络文件共享系統,直接照抄即可
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 7002

[ssh]# 配置ssh接口,直接照抄即可
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
# 上面所有的remote port都可以自己定,定完之后一定要记得在服务器的安全组或者是防火墙打开对应的端口,安装了宝塔的还要再关一次。

使用PowerShell打开,命令为:

.\frpc.exe -c frpc.ini

为了方便,采用bat脚本,新建txt文件

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
cd C:\frp
frpc -c frpc.ini
exit

将文件名设置为frp.bat,双击这个文件,ssh到云服务器,输入指令systemctl status frp,查看日志,若出现以下信息说明成功。

frpc 客户端启动_学习_02

3.Window10远程桌面设置

在设置中系统一项里选择远程桌面。

frpc 客户端启动_frpc 客户端启动_03


点击启动网络发现,保存更改后退出。

frpc 客户端启动_frp_04


在高级设置中打开网络验证。

frpc 客户端启动_frpc 客户端启动_05


frpc 客户端启动_frp_06

4.从iPad的RD Client连接远程桌面

在RD Client软件中输入主机公网ip和账号密码即可

5.将frp注册成Windows服务

在官网NSSM - the Non-Sucking Service Manager下载NSSM,解压后在win64文件夹下找到nssm.exe,在PowerShell中运行以下:

.\nssm.exe install frpc

配置程序运行文件和运行参数:

frpc 客户端启动_windows_07


写服务名及描述:

frpc 客户端启动_华为云_08


写输出文件:

frpc 客户端启动_学习_09


可见服务创建成功:

frpc 客户端启动_华为云_10