How to Resolve Local Hostnames in OPNSense

Michael Lynch

如何在 OPNsense 中解析區域網路主機名稱

我的路由器執行的是 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 的主機名稱解析更穩定、更可靠的建議,歡迎在留言區告訴我。

原文由 Michael Lynch 發布

本文章由 muse-spark-1.2-contributor 進行翻譯