UDP port 137宛のパケットがインターネットに飛ぶのをDHCP optionで元から断つ


NBTはまだ生きている

ルータのログを見ていると、どういうわけかインターネット上のホストに向かってUDPポート137番宛のパケットが出ているのが観測されます。LAN内の通信だけなら気にすることもないのだけども。
Windows 10 1709以降でSMB 1.0が無効化されましたが、NBT(NetBIOS over TCP/IP)は有効のままです。LAN内PCのブラウジングのために残されているようです。
アプリの作りにも拠るのでしょうが、そもそもNBTを無効にすればこんなパケットは出なくなるはず。

なお、NBTを無効化するとLAN内の名前解決ができなくなる等の副作用があるかもしれません。LAN内DNSサーバーやmDNS,WS-Discovery等で対処できると思います。

クライアント側でNBTを無効化する場合

NBTを無効化する方法としてよく出てくるのはこれ。

  • ネットワークアダプタのプロパティ > TCP/IPv4 > 詳細設定 > WINSタブ > 「NetBIOS over TCP/IPを無効にする」

ネットワークアダプタ毎の設定なので、有線・無線それぞれに設定しないといけないし、台数が多いと面倒です。

DHCP optionでNBTを無効化

上記のNetBIOS設定が「既定値」のままであれば、DHCP optionでクライアントを一括設定できます。
NBTを無効化するには、DHCPのVendor specific option (43番)にバイナリで 01 04 00 00 00 02 をセットします。

設定値の説明はこちら
Vendor-Specific Option Code 0x01 - Microsoft Disable NetBIOS Option

当たり前ですが、MS DHCP serverであればGUIから設定できるようです。

YAMAHAルータでの設定例

dhcp scope option 1 43=01,04,00,00,00,02

動作確認

  • ipconfig /allNetBIOS over TCP/IP無効 と表示される
  • netstat -a でUDP 137,138/TCP 139がLISTENされていない

変更履歴

2021/5/24 タイトルと「NBTはまだ生きている」の節をリライト