LinuxからWindowsの名前解決
ローカルネットワーク内の
WindowsにHTTP サーバを立てたのですが、
サーバのIPアドレスがDHCPで取られてて
起動の度に変更される。
(まあ固定してしまえばいいんでしょうけど、
出来ない理由もあるので)
でマシン名でアクセスしようと思ったが、
Linux Windows間の名前解決をしてくれない。
ググレカスってことでしらべました。
nmblookupってコマンドがあることが判明
「nmblookup は、NetBIOS over TCP/IP が使われているネットワークにおいて、NetBIOS 名の問い合わせや、IP アドレスへの変換に使われる」
らしい。
nmblookup -f マシン名 xxx
キター成功
でもこれだといちいちシェルでコマンドを引いてそれを分解して
みたいな事をしないとならない。
物事はエレガントに~っていうのが一応の目標なのでこれでは10点
他の方法を調べてみると・・・ありました。
sambaが入ってることが前提なのですが、まあsambaぐらい入れましょう。
で設定はというと
/etc/nsswitch.confの変更
hosts: files dns この記述を
hosts: files wins dns に変更
/etc/samba/smb.conf の書き換え
[global]のところに
wins support = yesを追加
(wins support = no であるならそれを変更)
変更が終わったらsambaをリスタート(リロード)
/etc/init.d/smb restart
変更したLinux(CentOS5だけどね)
ping NetBios名
キター
なんかちょっと問い合わせが遅い気もするけどまあOK
以上
ローカルネットワーク内の
WindowsにHTTP サーバを立てたのですが、
サーバのIPアドレスがDHCPで取られてて
起動の度に変更される。
(まあ固定してしまえばいいんでしょうけど、
出来ない理由もあるので)
でマシン名でアクセスしようと思ったが、
Linux Windows間の名前解決をしてくれない。
ググレカスってことでしらべました。
nmblookupってコマンドがあることが判明
「nmblookup は、NetBIOS over TCP/IP が使われているネットワークにおいて、NetBIOS 名の問い合わせや、IP アドレスへの変換に使われる」
らしい。
nmblookup -f マシン名 xxx
キター成功
でもこれだといちいちシェルでコマンドを引いてそれを分解して
みたいな事をしないとならない。
物事はエレガントに~っていうのが一応の目標なのでこれでは10点
他の方法を調べてみると・・・ありました。
sambaが入ってることが前提なのですが、まあsambaぐらい入れましょう。
で設定はというと
/etc/nsswitch.confの変更
hosts: files dns この記述を
hosts: files wins dns に変更
/etc/samba/smb.conf の書き換え
[global]のところに
wins support = yesを追加
(wins support = no であるならそれを変更)
変更が終わったらsambaをリスタート(リロード)
/etc/init.d/smb restart
変更したLinux(CentOS5だけどね)
ping NetBios名
キター
なんかちょっと問い合わせが遅い気もするけどまあOK
以上