2315 字
12 分钟
折腾家里云: 入手一台戴尔R730服务器,设置IDRAC直通并配置ssh隧道

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

她真漂亮
小彩屏,嘿嘿,小彩屏

待机功耗56瓦,风扇确实安静,白天根本听不出来

服务器配置#

组件规格 / 备注价格(元)
戴尔 R730 3.5英寸 8盘位准系统含 H730 阵列卡、提升卡、8个硬盘架(装满)750
CPU单路 Intel Xeon E5-2696v4280
内存16GB DDR4 ECC 一根320
硬盘512GB 机械硬盘(赠送)0
合计1350

我是直接在科技市场线下买的,价格可能偏贵,如果在淘宝可能会更便宜。

设置为默认命令行启动#

NOTE

我的服务器安装的主系统是Debian 13 (Trixie), 桌面环境是Xfce,通过以下设置可使系统默认以纯命令行启动,并且可以自由启动和退出图形化界面。

Debian 13 Live系统
在服务器上办公(双关)

通过 systemd 的 multi-user.target (纯命令行) 和 graphical.target (带桌面环境) 来控制默认启动模式。

Terminal window
sudo systemctl set-default multi-user.target

运行以下命令确认设置成功,若输出为 multi-user.target 即成功:

Terminal window
systemctl get-default

手动启动和退出桌面环境#

使用 startx 命令启动桌面环境,如果提示未找到命令,需先安装 xinit 包。

Terminal window
startx

如需退出桌面环境,直接在桌面环境中点击注销即可,注意注销后桌面环境中未保存的工作将会丢失。

idrac 配置为直通模式#

NOTE

戴尔服务器有一个独立于主系统的管理系统idrac,默认是独立的网络,在主系统内访问不到idrac,这样设计的好处是可以在服务器出现故障,或是主系统未启动时依然可以访问idrac,还可以远程重装系统。

我没有多的设备对idrac进行独立穿透了,所以我选择将idrac设置为直通模式,通过主系统访问并转发到云服务器,但这样会使idrac的访问必须依赖主系统的运行。

  1. 重启服务器
  2. 在bios启动显示以下界面时根据左上角的提示按F2进入System Setup
bios实拍1
bios启动界面
  1. 选择并进入 iDRAC Settings 菜单
bios实拍2
  1. 找到并进入 Communications Permissions (通信权限)
bios实拍3
  1. OS to iDRAC Pass-through设置项,选择 USB NIC 模式
  2. 在下方的OS IP中输入自定义的ip,这里设置为169.254.0.1,后面要用
bios实拍4
直通设置
  1. 保存退出并继续引导,启动主系统。

测试端口是否开放

Terminal window
nc -zv 169.254.0.1 443
# 参考输出
# Connection to 169.254.0.1 443 port [tcp/https] succeeded!

给R730配置一个连接到云服务器的ssh密钥#

这一段相信大家都会做,不然怎么连上服务器,难道真用桌面吗(x)

Terminal window
ssh-keygen -t rsa -b 4096 -C "在公钥中的描述文字"

xxx.pub文件的内容追加到云服务器的~/.ssh/authorized_keys,如果云服务器设置了允许密码登录(不推荐),则还可以这样上传(会提示输入密码):

Terminal window
ssh-copy-id user@hostname

配置 ssh 隧道#

NOTE

需要一个带有固定公网ip的云服务器作为中转,R730先通过ssh连接到云服务器,将自己本地的ssh端口转发到云服务器的本地回环端口上(远程转发),远程登录时先使用ssh登录云服务器作为跳板,再将云服务器端口转发到本地(本地转发),通过本地ssh连接R730。

ssh 转发格式#

-L 本地转发 (Local)#

Terminal window
ssh -L [绑定地址:]本地端口:目标主机:目标端口 user@ssh服务器
  • 绑定地址(可选):默认 127.0.0.1,表示只允许本机连接该本地端口。若写 0.0.0.0* 则允许其他机器连接(需谨慎)。
  • 本地端口:在客户端机器上监听的端口。
  • 目标主机:目标端口:最终要访问的服务地址,这个地址是从SSH 服务端的角度解析的(即服务端去连接它)

-R 远程转发 (Remote)#

Terminal window
ssh -R [绑定地址:]远程端口:目标主机:目标端口 user@ssh服务器
  • 绑定地址(可选):默认 127.0.0.1,表示只在 SSH 服务端本地监听该远程端口。若想允许其他机器访问服务端的这个端口,通常需要服务端配置 GatewayPorts yes,或显式指定 0.0.0.0
  • 远程端口:在 SSH 服务端机器上监听的端口。
  • 目标主机:目标端口:最终要访问的服务地址,这个地址是从SSH 客户端(本地)的角度解析的(即客户端去连接它)

安装并配置autossh#

为了连接稳定,使用autossh包代替ssh,拥有自动保活控制。

Terminal window
sudo apt update
sudo apt install autossh

新建以下systemd服务文件在/etc/systemd/system/autossh-tunnel.service

/etc/systemd/system/autossh-tunnel.service
[Unit]
Description=AutoSSH reverse tunnel for R730
After=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=always
RestartSec=60
[Install]
WantedBy=multi-user.target

写入文件后保存退出并启动服务设置开机自启。

Terminal window
sudo systemctl daemon-reload # 重载服务文件
sudo systemctl enable autossh-tunnel.service # 设置开机自启
sudo systemctl start autossh-tunnel.service # 启动服务
sudo systemctl status autossh-tunnel.service # 查看服务状态

参数解释#

  • /usr/bin/autossh autossh 的可执行文件路径。该工具会在 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配置文件,新加入一行。

/etc/ssh/sshd_config
# 在绑定时删除已有的套接字文件,避免端口已占用报错
StreamLocalBindUnlink yes

本机ssh_config配置#

~/.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:5901
Host R730
HostName localhost
Port 7322
User <R730登录用户>
ProxyJump cloud
IdentityFile /home/mint/.ssh/R730_linux_LAPTOP # 要使用的密钥的本地路径

下次使用登录可直接使用:

Terminal window
ssh R730

使用Server Box作为移动端监控#

一个非常好用且高颜值的移动端监控软件:

lollipopkit
/
flutter_server_box
Waiting for api.github.com...
00K
0K
0K
Waiting...

先连接云服务器,在连接R730时在下方配置跳板服务器为连接好的云服务器,主机直接填localhost即可:

Server Box截图1
配置跳板服务器
Server Box截图2
连接成功

配置IDRAC远程连接#

NOTE

idrac的远程访问界面有Host检查,必须为本机地址才会放行,远程连接会显示400错误码。需要先登录idrac然后设置禁止Host检查。

登录到R730中,使用ssh连接IDRAC系统:

Terminal window
# 默认用户名是 root,密码是你为 iDRAC 网页界面设置的登录密码, 默认是calvin
ssh root@169.254.0.1

关闭Host检查:

Terminal window
racadm set idrac.webserver.HostHeaderCheck 0

重启web服务:

Terminal window
racadm racreset soft

然后稍等重启完成后,新建一个终端使用ssh cloud建立端口转发,然后打开浏览器访问https://localhost:7320,注意是https,可能会提示不安全的连接,这是IDRAC内部的证书导致的不影响访问。

检查VNC配置#

  1. 请确认IDRAC许可必须为Enterprise才可以使用VNC,登录,默认用户名root,密码calvin
Idrac截图1
IDRAC登录界面
  1. 检查VNC服务器设置是否打开,控制端口设置为5901
Idrac截图2
VNC服务器设置
  1. 在虚拟控制台选项中设置远程端口为5900,插件类型为HTML5
Idrac截图3
虚拟控制台设置
  1. 点击启动虚拟控制台即可
Idrac截图4
VNC连接成功
折腾家里云: 入手一台戴尔R730服务器,设置IDRAC直通并配置ssh隧道
https://www.mintlab.top/posts/tries/r730-setup/
作者
Mint
发布于
2026-05-17
许可协议
CC BY-NC-SA 4.0
发表评论

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

未登录
昵称
邮箱
填写头像链接与主页链接

头像链接为空默认使用gravatar头像

头像
主页
人机验证
评论列表

以下是可爱的评论们:

暂无评论, 呜呜, 快来评论喵!