How to Resolve Local Hostnames in OPNSense

Michael Lynch

如何在 OPNsense 中解析本地主机名

原文由 Michael Lynch 发布,订阅该博客

我的路由器运行的是 OPNsense Business。我喜欢开源路由器,但它也有一些让我不太满意的地方。

其中最大的问题是,OPNsense 默认无法解析本地网络中的主机名。

为什么 OPNsense 无法解析本地主机名?

对于我之前用过的其他路由器,如果网络中有一台名为 foo123 的电脑,我在主力台式机上执行 ping foo123,一切都会正常工作,台式机可以成功 ping 通 foo123

换成 OPNsense 之后,我却无法从台式机 ping 通 foo123。OPNsense 似乎默认不解析本地主机名,我也不明白为什么。

我找到了一些能在一定程度上改善情况的变通方法,但仍然不够完美。

让 Unbound 解析本地主机名

前往 Services > Unbound DNS > General。

勾选以下选项:

  • Register ISC DHCP4 Leases
  • Register DHCP Static Mappings

在 Unbound 设置中勾选“Register ISC DHCP4 Leases”和“Register DHCP Static Mappings”

点击 Apply 应用更改。

手动指定主机名

即使配置了 Unbound,我发现 OPNsense 仍然不一定总能解析本地主机,原因不明。

在只需要让 OPNsense 完成解析的情况下,我会手动强制添加映射。

选择本地域名

  1. 前往 System > Settings > General。
  2. 在“Domain”一栏中为本地网络指定一个域名。
    • 我一直以为应该选择 local,但帮助文本提示不应该这么做。
    • 我选择了 home.arpa,因为它是家庭网络技术上正确的域名,不过说实话真的很难看。
    • 根据 IETF 的定义,域名实际上应该是 home.arpa.(末尾带一个点),但 OPNsense 不接受这种写法,并推荐使用 home.arpa,所以我就沿用了后者。
  3. 点击“Save”应用更改。

为���机创建静态映射

  1. 前往 Services > ISC DHCPv4 > Leases
  2. 在主机列表中找到你希望 OPNsense 能够解析的主机。
  3. 点击表格行最右侧的 + 图标,这会打开 Static DHCP Mapping 对话框。
  4. IP address 字段中输入一个本地 IP 地址。
  5. 点击“Save”保存静态 IP 映射。

为主机名创建手动覆写

  1. 前往 Services > Unbound DNS > Overrides。
  2. 在“Host Overrides”下方,点击橙色的“+”按钮添加一条新的覆写。
  3. 在“Host”一栏中输入你在静态映射中指定的主机名。
  4. 在“Domain”一栏中输入 home.arpa
  5. 在“IP address”一栏中输入你在静态映射中设置的 IP 地址。
  6. 点击“Save”。

使用 .home.arpa 域名后缀指定主机

有时 OPNsense 无法解析主机 foo123,却能成功解析 foo123.home.arpa,所以如果裸主机名解析失败,我总会尝试加上域名后缀。

我不太明白为什么 OPNsense 需要这个后缀,明明没有域名就应该能判断出我说的是本地网络上的主机,但加上 .home.arpa 后缀有时确实能起作用。

还有其他改进方法吗?

如果你有让 OPNsense 的主机名解析更稳定、更可靠的建议,欢迎在评论区告诉我。

本文章由 muse-spark-1.2-contributor 进行翻译

评论