Raspberry Pi にホスト名でアクセスできない原因と Samba を使った NetBIOS 解決方法

2026年6月3日

Raspberry Pi を DHCP で運用していると IP アドレスが変わる可能性があるため、ホスト名でアクセスできるように設定したいケースがあります。しかし Raspbian にはホスト名解決のための Avahi(mDNS)が標準インストールされているにもかかわらず、Windows からホスト名でアクセスできない場合があります。本記事ではその原因と、Samba を使った NetBIOS によるホスト名解決の方法を解説します。

ホスト名解決の仕組み — DNS・mDNS・NetBIOS・LLMNR

ホームネットワーク内でのホスト名解決には主に以下の3つの仕組みが使われます。

  • mDNS:ローカルネットワーク内でマルチキャストを使ってホスト名を解決する。Raspbian には Avahi として標準搭載
  • NetBIOS(NBNS):Windows で古くから使われるローカルネットワーク内のホスト名解決
  • LLMNR:IPv6 向けに登場したホスト名解決。IPv4 でも動作するが IPv6 有効が前提

Wireshark で通信をキャプチャして確認すると、Windows から raspberrypi.local でアクセスした際の問い合わせ結果は以下のようになっています。

Wireshark でキャプチャしたホスト名解決の問い合わせ結果
  • DNS:知らないと返答される
  • NBNS(NetBIOS):応答してくれる
  • LLMNR:応答しない

Windows から mDNS でアクセスできない理由

ネット上の情報では Raspbian に avahi-daemon をインストールすれば解決すると書かれていますが、最新の Raspbian には最初からインストールされています。それでもアクセスできない理由は、Windows がデフォルトで mDNS に対応していないからです。

「Bonjour for Windows」や「iTunes」をインストールすれば解決しますが、できれば入れたくないケースも多いです。そこで Raspberry Pi 側で NetBIOS を有効にする方法を使います。

Samba のインストールで NetBIOS を有効にする

Samba は Raspberry Pi のファイルをWindows のネットワークドライブのように扱えるようにするサービスです。Samba をインストールする際に「WINS を有効にするか?」と聞かれ、ここで「Yes」と答えるだけで NetBIOS が有効になります。

Samba インストール時に WINS の有効化を確認するダイアログ
インストール中に WINS サポートを有効にするか確認される画面

「Yes」を選択すると Raspberry Pi の NetBIOS が有効になり、ホスト名.local(デフォルトは raspberrypi.local)で SSH などのアクセスができるようになります。

Samba のインストール手順

インストール

sudo apt-get install samba

インストール中に WINS サポートの有効化を確認されるので「OK」を選択します。

設定ファイルのバックアップと編集

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bk

/etc/samba/smb.conf の最終行に以下を追記します。

[pi]
comment = Share
path = /home/pi
public = yes
read only = no
browsable = yes
force user = pi

Samba ユーザーの追加

sudo smbpasswd -a pi

サービスの再起動

sudo systemctl restart smbd

以上で設定完了です。PC から raspberrypi.local で SSH アクセスできるようになります。