外观
网络接口:DHCP、静态 IP 与 DNS
做完这一篇,NAS 会有一个固定的访问地址和可用的 DNS,你也清楚 网络 → 接口(Network → Interfaces)里每个字段改的是什么。
先决定:固定地址由谁来管
NAS 的地址一变,书签、SMB 映射盘、容器里写死的 IP 都会失效,所以要让它「固定」。两种做法都可以:
| 做法 | 在哪里设置 | 优点 | 代价 |
|---|---|---|---|
| 路由器 DHCP 预留 | 在路由器里按 NAS 的 MAC 地址绑定一个 IP,NAS 保持 DHCP | 地址集中管理;NAS 这边出错很容易救 | 依赖路由器;换网卡、改 Bond 或桥接后 MAC 可能变,要同步核对预留 |
| NAS 上设静态 IP | 本篇的步骤 | 不依赖 DHCP 服务 | 地址、网关、DNS 填错就失联;要避开路由器的 DHCP 地址池,免得冲突 |
OMV 官方文档建议服务器用静态地址(前提是有独立的路由器和交换机)。拿不准就先用 DHCP 预留,网络稳定后再决定要不要改静态。
应用网络变更会让当前连接中断
- 影响范围:应用后,浏览器里的 Web 界面、SSH 会话、客户端已连接的 SMB 和 NFS 都会断开;写死旧 IP 的容器、脚本和书签失效。
- 前置条件:手边有本机控制台(显示器加键盘、IPMI,或虚拟机控制台);记下现在的地址、子网掩码、网关和 DNS;新地址在同一网段、没有被别的设备占用,最好在路由器 DHCP 地址池之外。
- 回退:点 应用 之前,用黄色提示条上的 撤销;已经应用并且失联,到控制台运行
omv-firstaid,见改坏网络后怎么救。
认识接口页
网络 → 接口 只列出在 OMV 里配置过的网卡。ISO 安装之后通常已经有一行,是安装时在用的那块网卡(方式为 DHCP);列表是空的,说明安装器写的网络配置没有同步进来(官方文档的说法),直接创建一条即可。
列表的列:设备、类型(默认隐藏)、方式、地址、子网掩码、网关、MTU、WOL、标签。IPv4 和 IPv6 在同一格里分两行显示。「设备」是系统里的网卡名,不一定叫 eth0,常见的是 eno1、enp3s0 这一类。
工具栏上的按钮多是图标,悬停才显示文字:
| 按钮 | 作用 |
|---|---|
| 创建(加号菜单) | 新建以太网(Ethernet)、Wi-Fi、汇聚(Bond)、VLAN、桥接(Bridge)。后四种见本章后面的文章 |
| 编辑 | 修改选中的接口 |
| 显示详情 | 查看系统里的实时状态:硬件地址、MTU、状态、IPv4 与 IPv6 地址 |
| 识别 | 让选中的以太网口指示灯闪 5、10、15 或 30 秒(调用 ethtool --identify),多网口机器用它确认哪个口是哪个设备;需要网卡驱动支持 |
| 删除 | 从配置里删除接口,应用后生效 |
改成静态 IP
- 打开
网络 → 接口,选中现有网卡那一行,点 显示详情 或 编辑,把当前的地址、子网掩码、网关和 DNS 抄下来。 - 点 编辑(铅笔图标)。
- 在 IPv4 一栏,把 方式(Method)选为 静态(Static),然后填:
- 地址(Address):新的 IP,例如
192.168.1.20。 - 子网掩码(Netmask):点分十进制,例如
255.255.255.0,不能写成/24。 - 网关(Gateway):路由器的地址,例如
192.168.1.1。
- 地址(Address):新的 IP,例如
- 在表单下方的 高级设置(Advanced settings)里填 DNS 服务器(DNS servers)。静态且填了网关时这一栏必填,规则见后面的「DNS 怎么填」。
- IPv6、指标(Metric)、MTU、MAC 地址保持默认。
- 点页面底部的 保存(Save)。页面顶部出现黄色提示条「待应用的配置更改」(Pending configuration changes)。
- 点提示条上的 应用(对勾图标),在确认框里点 是。浏览器会失去响应,这是正常的。用新地址
http://<新的 IP>重新打开并登录。
静态地址就用现在 DHCP 分到的那个
官方文档提到,如果静态 IP 填的就是 DHCP 当前分到的地址,应用后通常不需要重新登录。第一次改静态 IP 可以这样做,动静最小。
新建一条以太网配置时,IPv4 和 IPv6 的方式默认都是 禁用(Disabled)。保存前一定改掉,否则这块网卡没有任何 IP。
| 方式 | 含义 |
|---|---|
| 禁用(Disabled) | 这块网卡不配这一族地址 |
| DHCP | 向路由器要地址 |
| 静态(Static) | 手工填写地址、掩码、网关 |
| 自动(Automatic) | 仅 IPv6:按路由器通告自动配置(SLAAC) |
高级设置里的字段:
| 字段 | 说明 |
|---|---|
| MAC 地址(MAC address) | 强制网卡使用指定的 MAC,一般留空 |
| DNS 服务器 | 一个或多个 IP,用逗号或分号分隔 |
| 搜索域名(Search domains) | 解析短主机名时附加的域 |
| MTU | 0 表示用默认值;改大(例如 9000)要整条链路上的设备都支持 |
| 网络唤醒 WOL(Wake-on-LAN) | 让网卡响应魔术包。官方文档提醒:网卡要支持,BIOS 里也要打开 |
| 指标(Metric) | 多块网卡都配了网关时,数字小的优先;单网卡不用管 |
DNS 怎么填
- 静态:必须自己填。IPv4 为静态且填了网关(或 IPv6 为静态且填了网关)时,界面要求 DNS 不能为空。官方文档强调不要留空,因为更新要靠它;例子是填网关地址,拿不准就用一个你信任的公共 DNS。
- DHCP:留空时使用 DHCP 下发的 DNS 和搜索域;只要你填了,OMV 就在 netplan 里关掉 DHCP 下发的这一项,只用你填的。
- 系统的 DNS 由 systemd-resolved 管理,
/etc/resolv.conf是指向它的链接,不要手改。 - 主机名和域名不在这里,在
网络 → 常规(Network → General),见时间、时区与主机名。
IPv6
默认是禁用。需要时可以选 DHCP、自动或静态;静态要填地址、前缀长度(默认 64)和网关。IPv6 的做法和暴露风险见 IPv6,不用就保持禁用。
OMV 在背后做了什么
保存只是把配置写进数据库(config.xml 里的 conf.system.network.interface)并标记为待应用;点 应用 之后,Salt 才部署 systemd-networkd 状态:
| 步骤 | 内容 |
|---|---|
| 写 netplan 文件 | 在 /etc/netplan/ 下生成 10-openmediavault-default.yaml(渲染器为 networkd),以及按类型编号的接口文件:20-(以太网)、30-(Wi-Fi)、40-(Bond)、50-(VLAN)、60-(桥接),形如 20-openmediavault-<设备>.yaml,权限 0600 |
| 先清后写 | 每次部署都会先删掉所有名字含 openmediavault- 的 netplan 文件,再按数据库重写 |
| 匹配网卡 | 物理网卡按永久 MAC 地址匹配;MAC 是软件设定的等其他情况,才按接口名匹配 |
| 生效 | 执行 netplan apply,由 systemd-networkd 配置网卡 |
| 连带更新 | /etc/hosts 和控制台登录前的提示(/etc/issue,会列出各网卡地址)也会重写 |
所以不要手改这些 netplan 文件,下一次应用就会被覆盖。名字里没有 openmediavault- 的 netplan 文件不会被删,但可能和 OMV 生成的配置冲突;界面做不到的配置怎么加,见自定义网络配置。/etc/network/interfaces 已不再使用,里面只剩一条 source-directory 指令作占位。整个「保存、标脏、应用」的机制见 OMV 是怎么工作的。
检查结果
回到
网络 → 接口,选中该行点 显示详情,确认状态正常、地址是你设置的。在 OMV 的 shell(本机控制台或 SSH,root)里确认:
sh# 在 OMV 的 shell 里执行 ip -br addr # 网卡应有你设置的地址 ip route # 应有一行 default via <网关> resolvectl status # 查看实际生效的 DNS getent hosts deb.debian.org # 能解析出地址,说明 DNS 可用在客户端电脑上
ping <NAS 的 IP>,并重新连接一次 SMB 共享。想确认配置在重启后仍然有效,可以在 Web 界面右上角的电源菜单里重启一次,再重复前面几步。
常见问题
应用之后网页打不开了。 先确认浏览器用的是新地址。仍然不通,多半是地址、掩码或网关填错,或网线没接好。到本机控制台按改坏网络后怎么救处理;Web 界面本身的问题见 Web 界面打不开。
保存时提示 DNS 服务器不能为空。 静态且填了网关时必填,补上一个 DNS 即可。
接口页是空的。 直接 创建 → 以太网,设备下拉框里选网卡。下拉框只列出还没有以太网配置、也没被 Bond、桥接或 VLAN 占用的网卡。
能访问内网,不能访问外网(更新失败)。 检查网关和 DNS。用 ip route 看默认路由,用 getent hosts deb.debian.org 测 DNS。
设备名不是 eth0。 现代 Linux 按硬件位置命名网卡,enp3s0 这类名字是正常的。换了网卡或调整了 PCI 设备后名字可能变化,原来的接口配置就对不上了,需要在界面里重新选设备(必要时按改坏网络后怎么救处理)。