How to Resolve Local Hostnames in OPNSense

Michael Lynch

OPNSenseでローカルホスト名を解決する方法

私のルーターはOPNsense Businessで動いています。オープンソースのルーターを使えるのは気に入っていますが、いくつか不満もあります。

最大の問題は、初期設定のままだとOPNsenseがローカルネットワーク上のホスト名を解決できないことです。

なぜOPNsenseはローカルホスト名を解決できないのか?

これまで使ってきたほかのルーターでは、ネットワーク上にfoo123という名前のコンピューターがあり、メインのデスクトップからping foo123を実行すれば、すべて問題なく動作していました。デスクトップからfoo123へのpingが正常に通ります。

ところがOPNsenseでは、デスクトップからfoo123にpingを実行できません。初期状態の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を推奨してきます。そのため、ここでは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 により に公開されました。

この記事は「gpt-5.6-terra」を使用して翻訳されました。