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]
    
    

  •  参考:

2014年11月21日金曜日

[mac] Yosemiteへのアップグレード関連作業まとめ

しばらく様子を見ていたのですが、大きな問題はなさそうなのでMac Book AirをYosemiteへアップグレードしました。以下、環境設定、遭遇した問題とその対応など、作業ログ的なものを残しておきます。

準備

  • アップグレード失敗に備えてMarvericks環境でTime Machineをセットアップし、バックアップをとった。手順はこちらを参考に。

アップグレード後の作業

  • Marvericks環境で利用していた設定・ソフトのセットアップ
    • キーボートショートカットの設定
      • [設定] - [キーボード] - [ショートカット]に以下の設定を復活
        • この設定がないとGoogle Chrome上でMeta-Wキーが「タブを閉じる」動作になってしまい、Krabinerのemacs keybindの威力が半減してしまいます。その他、以下の設定を追加しています。
          • CTRL-U: 「ソースを表示」
          • ALT-N: 「次を検索」
          • ALT-P: 「前を検索」
          • ALT-W: 「コピー」
    • XQartz
      • Marvericksアップグレード後、XQuarzを最新版にアップデート。一晩待ってもファイル抽出中のダイアログが出たまま終了しない、という症状が出た(PC再起動で強制終了)が、その後特に問題は出ていない模様。
    • Karabiner
      • アップグレード後、自動起動されない状態になったが、一度手動で起動すると、以前の設定が引き継がれ有効になった。
        • emacs keybind設定
        • Use KANA as KANA/EISUU (toggle)で「かな」キーでことえりのon/offがトグルするようになる
  • haskell環境の問題(cabal installでコンパイルエラーが発生)の復旧
    • Mountain LionからMarvericksへのアップグレードでも発生した、cabal installでエラーが発生する問題が今回も再現。前回と同じ手順で復旧。
    • 
      % xcode-select --install
      
      
  • emacsでCTRL-Nが効かなくなった問題に対応
    • ここの情報を参考に対応(助かりました・・・)。[システム環境設定] -> [キーボード] -> 入[力ソース]で[日本語]を選択し、[Windows風キー操作] のチェックを外すとOK!
  • wiresharkが起動できなくなった問題に対応
    • ここの情報を参考に、/opt/X11へのシンボリックリンンクを/usr/X11に作ったところ、正常に起動するようになりました。
    • 
      % cd /usr; sudo ln -s /opt/X11 .
      
      

参考:

[mac] LinuxマシンをTime Machineのバックアップ先ディスクとして利用する方法

ネット上の情報を参考に、Mac Book Airのバックアップ先としてLinux PC(Ubuntu 14.04 LTS)を利用するよう設定することができました。sambaサーバーをバックアップ先に指定して、Time Machineを利用できる状態になります。

Linux PCの設定

  • sambaをインストールし、メインユーザーのホームディレクトリを公開設定する

MacBookAirの設定

  • 以下のサイトの手順に従って設定。
  • Finderのメニューで[移動] - [サーバーに接続]で、Linux PCに接続しておく必要がある
    • 公開設定したホームディレクトリを指定。例: //server-name/public-dir。

バックアップの開始時、終了間際に固まる問題に遭遇しましたが、以下のコマンドを実行して、バックアップ先ファイルのロックを外してあげる?と先に進められるようです。


sudo mdutil -i off /Volumes/TimeMachine/Backups.backupdb


Marvericks環境では、この固まる問題が発生していましたが、Mac Book AirをYosemiteにアップグレードしたところ問題は発生しなくなりました!

参考: