学校批了一间办公室,不要电费,空调随便开。哎呀,路过科技市场,脚一滑,不知道怎么的就上2楼了,不知道怎么了就配了台服务器回来。本文主要讲解R730服务器的一些特点,以及设置IDRAC直通,和利用已有云服务器配置ssh隧道的过程。


待机功耗56瓦,风扇确实安静,白天根本听不出来
服务器配置
| 组件 | 规格 / 备注 | 价格(元) |
|---|---|---|
| 戴尔 R730 3.5英寸 8盘位准系统 | 含 H730 阵列卡、提升卡、8个硬盘架(装满) | 750 |
| CPU | 单路 Intel Xeon E5-2696v4 | 280 |
| 内存 | 16GB DDR4 ECC 一根 | 320 |
| 硬盘 | 512GB 机械硬盘(赠送) | 0 |
| 合计 | 1350 |
我是直接在科技市场线下买的,价格可能偏贵,如果在淘宝可能会更便宜。
设置为默认命令行启动
NOTE我的服务器安装的主系统是
Debian 13 (Trixie), 桌面环境是Xfce,通过以下设置可使系统默认以纯命令行启动,并且可以自由启动和退出图形化界面。

通过 systemd 的 multi-user.target (纯命令行) 和 graphical.target (带桌面环境) 来控制默认启动模式。
sudo systemctl set-default multi-user.target运行以下命令确认设置成功,若输出为 multi-user.target 即成功:
systemctl get-default手动启动和退出桌面环境
使用 startx 命令启动桌面环境,如果提示未找到命令,需先安装 xinit 包。
startx如需退出桌面环境,直接在桌面环境中点击注销即可,注意注销后桌面环境中未保存的工作将会丢失。
idrac 配置为直通模式
NOTE戴尔服务器有一个独立于主系统的管理系统idrac,默认是独立的网络,在主系统内访问不到idrac,这样设计的好处是可以在服务器出现故障,或是主系统未启动时依然可以访问idrac,还可以远程重装系统。
我没有多的设备对idrac进行独立穿透了,所以我选择将idrac设置为直通模式,通过主系统访问并转发到云服务器,但这样会使idrac的访问必须依赖主系统的运行。
- 重启服务器
- 在bios启动显示以下界面时根据左上角的提示按
F2进入System Setup

- 选择并进入
iDRAC Settings菜单

- 找到并进入
Communications Permissions(通信权限)

- 在
OS to iDRAC Pass-through设置项,选择USB NIC模式 - 在下方的
OS IP中输入自定义的ip,这里设置为169.254.0.1,后面要用

- 保存退出并继续引导,启动主系统。
测试端口是否开放
nc -zv 169.254.0.1 443
# 参考输出# Connection to 169.254.0.1 443 port [tcp/https] succeeded!给R730配置一个连接到云服务器的ssh密钥
这一段相信大家都会做,不然怎么连上服务器,难道真用桌面吗(x)
ssh-keygen -t rsa -b 4096 -C "在公钥中的描述文字"将xxx.pub文件的内容追加到云服务器的~/.ssh/authorized_keys,如果云服务器设置了允许密码登录(不推荐),则还可以这样上传(会提示输入密码):
ssh-copy-id user@hostname配置 ssh 隧道
NOTE需要一个带有固定公网ip的云服务器作为中转,R730先通过ssh连接到云服务器,将自己本地的ssh端口转发到云服务器的本地回环端口上(远程转发),远程登录时先使用ssh登录云服务器作为跳板,再将云服务器端口转发到本地(本地转发),通过本地ssh连接R730。
ssh 转发格式
-L 本地转发 (Local)
ssh -L [绑定地址:]本地端口:目标主机:目标端口 user@ssh服务器- 绑定地址(可选):默认
127.0.0.1,表示只允许本机连接该本地端口。若写0.0.0.0或*则允许其他机器连接(需谨慎)。 - 本地端口:在客户端机器上监听的端口。
- 目标主机:目标端口:最终要访问的服务地址,这个地址是从SSH 服务端的角度解析的(即服务端去连接它)。
-R 远程转发 (Remote)
ssh -R [绑定地址:]远程端口:目标主机:目标端口 user@ssh服务器- 绑定地址(可选):默认
127.0.0.1,表示只在 SSH 服务端本地监听该远程端口。若想允许其他机器访问服务端的这个端口,通常需要服务端配置GatewayPorts yes,或显式指定0.0.0.0。 - 远程端口:在 SSH 服务端机器上监听的端口。
- 目标主机:目标端口:最终要访问的服务地址,这个地址是从SSH 客户端(本地)的角度解析的(即客户端去连接它)。
安装并配置autossh
为了连接稳定,使用autossh包代替ssh,拥有自动保活控制。
sudo apt update sudo apt install autossh新建以下systemd服务文件在/etc/systemd/system/autossh-tunnel.service,
[Unit]Description=AutoSSH reverse tunnel for R730After=network.target
[Service]User=<执行服务的本机用户>Environment="AUTOSSH_GATETIME=0"ExecStart=/usr/bin/autossh -M 0 -N -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -o "ExitOnForwardFailure yes" \ -R 7322:localhost:7322 \ # ssh端口 -R 7320:169.254.0.1:443 \ # idrac网页控制端口 -R 5900:169.254.0.1:5900 \ # vnc 端口 -R 5901:169.254.0.1:5901 \ # vnc ws控制端口 <云服务器登录用户>@<云服务器ip>:<云服务器ssh端口>Restart=alwaysRestartSec=60
[Install]WantedBy=multi-user.target写入文件后保存退出并启动服务设置开机自启。
sudo systemctl daemon-reload # 重载服务文件sudo systemctl enable autossh-tunnel.service # 设置开机自启sudo systemctl start autossh-tunnel.service # 启动服务sudo systemctl status autossh-tunnel.service # 查看服务状态参数解释
-
/usr/bin/autosshautossh的可执行文件路径。该工具会在 SSH 连接断开时自动重连。 -
-M 0设置监控端口为 0,即禁用autossh自带的连接检测机制(原本它会通过一个额外端口发送测试数据)。当使用-M 0时,autossh完全依赖SSH自身的保活选项来判断连接是否存活。 -
-N告诉 SSH 不执行远程命令(不分配 shell)。通常用于纯端口转发场景,只建立隧道而不登录到远程主机。 -
-o "ServerAliveInterval 60"设置 SSH 的ServerAliveInterval选项:每隔 60 秒向服务器发送一个保活消息(空包),用于检测连接是否仍在工作。 -
-o "ServerAliveCountMax 3"设置 SSH 的ServerAliveCountMax选项:最多连续 3 次收不到保活消息的响应(即最长 60×3=180 秒无响应),就认为连接已断开,主动关闭连接。 -
-o "ExitOnForwardFailure yes"(非常重要) 设置 SSH 的ExitOnForwardFailure选项:如果端口转发失败(例如本地或远程端口被占用、无法绑定等),SSH 立即退出并报错,等待下一次重连。
NOTE如果R730 ssh连接意外断开(如断网),在云服务器ssh处短时间不会断连,需要等待约180秒自动清理,这会导致远端端口暂时无法被释放,R730重新连接ssh时虽然连接成功,但是建立端口转发会失败,如果加入
"ExitOnForwardFailure yes这个选项,则会让autossh检测到端口转发失败后自动重试。
云服务器ssh配置
通过sudo vim /etc/ssh/sshd_config修改云服务器sshd配置文件,新加入一行。
# 在绑定时删除已有的套接字文件,避免端口已占用报错StreamLocalBindUnlink yes本机ssh_config配置
Host cloud HostName <云服务器公网ip> User <云服务器登录用户> Port <云服务器ssh端口> IdentityFile /home/mint/.ssh/id_rsa # 要使用的密钥的本地路径 LocalForward 7322 localhost:7322 LocalForward 7320 localhost:7320 LocalForward 5900 localhost:5900 LocalForward 5901 localhost:5901Host R730 HostName localhost Port 7322 User <R730登录用户> ProxyJump cloud IdentityFile /home/mint/.ssh/R730_linux_LAPTOP # 要使用的密钥的本地路径下次使用登录可直接使用:
ssh R730使用Server Box作为移动端监控
一个非常好用且高颜值的移动端监控软件:
先连接云服务器,在连接R730时在下方配置跳板服务器为连接好的云服务器,主机直接填localhost即可:


配置IDRAC远程连接
NOTEidrac的远程访问界面有Host检查,必须为本机地址才会放行,远程连接会显示400错误码。需要先登录idrac然后设置禁止Host检查。
登录到R730中,使用ssh连接IDRAC系统:
# 默认用户名是 root,密码是你为 iDRAC 网页界面设置的登录密码, 默认是calvinssh root@169.254.0.1关闭Host检查:
racadm set idrac.webserver.HostHeaderCheck 0重启web服务:
racadm racreset soft然后稍等重启完成后,新建一个终端使用ssh cloud建立端口转发,然后打开浏览器访问https://localhost:7320,注意是https,可能会提示不安全的连接,这是IDRAC内部的证书导致的不影响访问。
检查VNC配置
- 请确认IDRAC许可必须为
Enterprise才可以使用VNC,登录,默认用户名root,密码calvin

- 检查VNC服务器设置是否打开,控制端口设置为
5901

- 在虚拟控制台选项中设置远程端口为
5900,插件类型为HTML5

- 点击
启动虚拟控制台即可

以下是可爱的评论们:

输入用户名和邮箱后自动检查登录状态。登录后用户名和邮箱将被绑定, 只可以修改头像和主页链接。