私网Ubuntu主机-------Ubuntu服务器---------私网IP Ubuntu主机
第一部分:公网 Ubuntu 服务器部署 frps(服务端)
步骤 1:安装依赖并下载 frp
# 切换root(避免频繁sudo) sudo -i # 安装wget(若未安装) apt update && apt install wget -y # 查看服务器架构(适配frp下载) ARCH=$(arch | sed 's/x86_64/amd64/; s/aarch64/arm64/; s/armv7l/arm/') # 下载frp(v0.52.3为稳定版,可替换最新版本) wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_${ARCH}.tar.gz -O frp.tar.gz # 解压并移动到系统目录 tar -zxvf frp.tar.gz FRP_DIR=$(ls | grep frp_0.52.3_linux_) mv ${FRP_DIR} /usr/local/frp # 清理压缩包 rm -f frp.tar.gz步骤 2:配置 frps.ini
# 创建并编辑frps配置文件 cat > /usr/local/frp/frps.ini << EOF [common] # frp通信端口(需开放安全组) bind_port = 7000 # 自定义密钥(客户端必须一致,建议设复杂值) token = MyFrpSecret123! # 可选:控制台(监控连接状态) dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin # 日志配置(便于排查问题) log_file = /var/log/frps.log log_level = info log_max_days = 7 EOF步骤 3:创建 systemd 服务(开机自启 + 崩溃重启)
# 编写frps服务文件 cat > /etc/systemd/system/frps.service << EOF [Unit] Description=FRP Server Service After=network.target network-online.target Wants=network-online.target [Service] Type=simple User=root ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini ExecReload=/bin/kill -HUP \$MAINPID Restart=on-failure RestartSec=5s LimitNOFILE=infinity [Install] WantedBy=multi-user.target EOF步骤 4:启动 frps 并验证
# 重载systemd systemctl daemon-reload # 启动frps systemctl start frps # 设置开机自启 systemctl enable frps # 验证服务状态(显示active(running)则正常) systemctl status frps # 验证端口监听(显示7000端口LISTEN则正常) ss -tulnp | grep 7000 # 开放防火墙端口(若启用ufw) ufw allow 7000/tcp ufw allow 6000/tcp ufw allow 6389/tcp ufw allow 7500/tcp ufw reload验证控制台(可选)
浏览器访问 http://公网服务器IP:7500,输入账号admin、密码admin,能看到 frps 状态则配置成功。
我这里已经配置成功了。
-------------------------------------
第二部分:远程 Ubuntu 主机部署 frpc+XRDP(客户端 + 桌面服务)
步骤 1:安装 XRDP 桌面服务(解决黑屏 / 权限问题)
# 切换root sudo -i # 更新软件源 apt update && apt upgrade -y # 安装XRDP(Ubuntu桌面版无需额外装桌面) apt install xrdp -y # 修复Ubuntu 22.04+/24.04 Wayland黑屏问题 sed -i 's/^#WaylandEnable=false/WaylandEnable=false/' /etc/gdm3/custom.conf # 给xrdp添加ssl证书权限(避免连接失败) adduser xrdp ssl-cert # 重启XRDP并设置开机自启 systemctl restart xrdp systemctl enable xrdp # 放行本地防火墙3389端口(XRDP默认) ufw allow 3389/tcp ufw reload # 验证XRDP状态(active(running)则正常) systemctl status xrdp步骤 2:安装并配置 frpc(frp 客户端)
# 安装wget(若未安装) apt install wget -y # 下载同版本frp(和服务端一致) ARCH=$(arch | sed 's/x86_64/amd64/; s/aarch64/arm64/; s/armv7l/arm/') wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_${ARCH}.tar.gz -O frp.tar.gz # 解压并移动到系统目录 tar -zxvf frp.tar.gz FRP_DIR=$(ls | grep frp_0.52.3_linux_) mv ${FRP_DIR} /usr/local/frp rm -f frp.tar.gz # 配置frpc.ini(替换公网服务器IP) cat > /usr/local/frp/frpc.ini << EOF [common] # 公网服务器IP server_addr = braveboy.asia # frp通信端口(和服务端bind_port一致) server_port = 7000 # 密钥(和服务端token一致) token = MyFrpSecret123! # 日志配置 log_file = /var/log/frpc.log log_level = info log_max_days = 7 # SSH映射(可选,用于命令行连接) [remote_ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 # XRDP映射(核心:远程桌面端口) [remote_xrdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 6389 EOF步骤 3:创建 frpc systemd 服务(开机自启)
cat > /etc/systemd/system/frpc.service << EOF [Unit] Description=FRP Client Service After=network.target network-online.target Wants=network-online.target [Service] Type=simple User=root ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini ExecReload=/bin/kill -HUP \$MAINPID Restart=on-failure RestartSec=5s LimitNOFILE=infinity [Install] WantedBy=multi-user.target EOF步骤 4:启动 frpc 并验证
# 重载systemd systemctl daemon-reload # 启动frpc systemctl start frpc # 设置开机自启 systemctl enable frpc # 验证状态(active(running)则正常) systemctl status frpc # 验证日志(无报错则正常) tail -f /var/log/frpc.log第三部分:本地 Ubuntu 主机连接远程桌面
步骤 1:安装 Remmina(Ubuntu 原生远程桌面客户端)
# 安装Remmina(若未预装) sudo apt update && sudo apt install remmina remmina-plugin-rdp -y
步骤 2:配置 Remmina 连接远程桌面
- 打开 Remmina:应用列表搜索「Remmina」或终端执行 remmina;
- 新建连接:点击左上角「+」号,填写以下参数:
- 配置项取值名称自定义(如「远程 Ubuntu 桌面」)协议RDP - Remote Desktop Protocol服务器公网服务器 IP:6389(如 1.2.3.4:6389)用户名远程 Ubuntu 主机的登录用户名(如 ubuntu)密码远程 Ubuntu 主机的登录密码
- 保存并连接:点击「保存」→「连接」,首次连接会弹出证书提示,选择「确认」即可进入远程桌面。
如果出现这个界面的时候,填写需要连接到的私网IP的用户名和密码就好了。
看我已经连接到了;;;;注意的是最后如果出现这个界面的时候