2014年11月22日土曜日

[linux] DHCPでIPを割り当てているサーバーのIPアドレスをクライアントから確認する方法

DHCPで各マシンのIPを割り当ていている環境では、頻繁にIPアドレスが変わります。このような環境で、常時起動ではないPCサーバーを立てているとクライアントからのアクセス時に、接続先のサーバーのIPアドレスがわからず困ることがあります(特にサーバーにディスプレイをつないでいない場合)。
サーバーがsamba(CIFS)のサーバー機能を持っていると、samba経由であればNetBIOS名でのアクセスは可能ですが、HTTPやSSHでのアクセスにはIPアドレスが必須です。このようなケースで、リモートから簡単にIPアドレスが得られる方法を調べたのでメモ代わりに残しておきます。

準備:サーバーにsamba(ファイルの共有)を設定しておく

今回紹介する方法はNetBIOSを利用しているためサーバー上でsamba、ファイル共有を有効にしておく必要があります。

方法1:nbtstat(windows), nmblookup(linux)を利用する。

  • クライアントがWindowsの場合:nbtstatコマンドを利用する
  • C:\Windows\system32>nbtstat -a pc-server
           : (snip)
    
    C:\Windows\system32>nbtstat -c
    
    イーサネット:
    ノード IP アドレス: [172.16.0.119] スコープ ID: []
    
                      NetBIOS リモート キャッシュ ネーム テーブル
    
              名前              種類       ホストアドレス    継続時間 [秒]
        ------------------------------------------------------------
         PC-SERVER       <20>  一意          172.16.0.94         597
         PC-SERVER       <00>  一意          172.16.0.94         597
    
    
  • クライアントがLinux、macの場合:nmblookup (or smbutil lookup)を利用する
  • 
    % smbutil pc-server
    Got response from 172.16.0.121
    IP address of ubuntu2: 172.16.0.121
    
    % nmblookup pc-server
    querying pc-server on 172.16.255.255
    172.16.0.94 pc-server
    
    

方法2:smbclient, findsmbコマンドを利用する

  • smbclientを利用する。-dはデバッグレベル6を意味する。デフォルトは1だが、1だとサーバーのIPアドレスは表示されない…。
  • 
    % smbclient //pc-server/public -d=6 
          :  (snip)
    Connecting to 172.16.0.94 at port 445
          :  (snip)
          :
    
    

  • findsmbを利用する。
  • 
    % findsmb
    
                                    *=DMB
                                    +=LMB
    IP ADDR         NETBIOS NAME     WORKGROUP/OS/VERSION 
    ---------------------------------------------------------------------
    Can't load /opt/local/etc/samba3/smb.conf - run testparm to debug it
    172.16.0.94     PC-SERVER        [WORKGROUP] [Unix] [Samba 4.1.6-Ubuntu]
    
    

  •  参考:

0 件のコメント:

コメントを投稿