关于远程那些事

25年8月份组装了一台台式机,265K+48G+RTX5080,用来跑一些 AI 相关的测试,同时也是继 NAS 之后,想了很久的一套计算中心,和 NAS 一样,大部分时间需要远程访问,经过这一个月的折腾体验,也基本稳定了,简单分享下过程。

工作日主要在深圳,节假日在惠州,所以目前网络和设备环境有

1:深圳移动宽带100M,公网IPv6,内网IPv4

2:惠州联通宽带100M,公网IPv6,公网IPv4

3:中兴F50+联通5G,公网IPv6,内网IPv4

4:移动端Macbook Pro、GPD win mini等

而这台台式机暂时放在深圳,两个米家插座分别控制显示器和主机,人在家使用则双开,远程使用则关闭显示器,以节省电力。主机的插座为常开状态,主要用来监控功率,以及防止开机卡失效的一个强制关机办法。

开机卡选择的用机箱内 9Pin USB2.0 插座供电,完全藏在机箱内,连接主板电源开关以及 LED 指示灯(相当于按了机箱电源)。在手机上用米家 App 很方便的开关机,还能区分是本地操作还是远程操作。米家的这些设备也用了很多年,稳定性很可靠。

软件方面主要有DDNS-GO、UU远程、Rustdesk、Tailscale、微软远程服务,均设置开机启动。优先使用微软远程桌面通过 IPv6 直连,当效果不理想时,切换到UU,或者自建节点的 Rustdesk。

因 IPv6 直连在跨运营商(跨城)可能会有严重限速,丢包。而自建节点的 Rustdesk 因为服务器有流量费,也不会优先考虑,但他的控制端可以无需管理员权限运行,dddd。UU目前体验算不错的,就是不知道以后会不会收费,大部分场景使用下来,都是基于UDP P2P连接,应该不会很耗服务器资源,就是在 MAC 系统下控制端不太能灵活缩放,导致字体有点小,虽然能改受控端的分辨率,但 Windows 那个缩放一旦跟着变了,很多程序要刷新,也够受的。

至于 DDNS-GO 用来配置域名解析到本机的 IPv6。Tailscale 则用来访问一些无需图像界面的服务,也能将两个地方的设备纳入一个局域网管理。当然也还有 WireGuard 用来连接 ECS,那就和本主题无关了。

近几年的主板默认都开启了 ErP Ready 会在关机时关闭大多数设备供电,包括USB、PCI-E,故需要在 BIOS 中关闭此功能,以及开启关机时候 USB 供电。通过插座功率监控可知,Enable 功耗 1w 不到,Disable 功耗 4w 左右。

如果你有更好方案,不妨留言讨论。

Apache Guacamole – All in WEB

1. Ubuntu 20.04 下安装 Docker,添加当前用户到 docker 组
curl -fsSL https://get.docker.com | bash -s docker –mirror Aliyun
sudo usermod -aG docker $USER

2. 拉取镜像
docker pull guacamole/guacamole
docker pull guacamole/guacd
docker pull mysql/mysql-server:5.7

3. 导出 guacamole 中的数据库初始脚本,启动 MySQL 数据库
docker run –rm guacamole/guacamole /opt/guacamole/bin/initdb.sh –mysql > initdb.sql
docker run –name mysql –restart=always -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server:5.7

4. 复制到容器中,进入容器 MySQL Client
docker cp initdb.sql mysql:/initdb.sql
docker exec -it mysql mysql -uroot -p123456

5. 创建数据库、用户密码,导入初始脚本
CREATE DATABASE guacamole;
CREATE USER ‘guacamole’@’%’ IDENTIFIED BY ‘guacamole’;
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO ‘guacamole’@’%’;
FLUSH PRIVILEGES;
USE guacamole;
SOURCE initdb.sql;

6. 启动 guacamole
docker run –name guacd –restart=always -d guacamole/guacd
docker run –name guacamole –restart=always –link guacd:guacd –link mysql:mysql -e MYSQL_DATABASE=’guacamole’ -e MYSQL_USER=’guacamole’ -e MYSQL_PASSWORD=’guacamole’ -d -p 8080:8080 guacamole/guacamole

浏览器打开 http://localhost:8080/guacamole 默认用户名密码 guacadmin。配置好SSH,RDP,VNC,主机可以是内网中任何一台能访问的机器,RDP 注意关闭认证和选上网络级别身份验证(NLA)。配合御花园(https://ifport.com)将 8080 端口映射到公网,随时在浏览器中访问(注意安全)。

自此 All in WEB,Docker 大法好。