« Previous | Next » (Home)     [カテゴリー:FreeBSD ]

2010.04.18

sshで接続できない・・・(FreeBSD)

sshを立ち上げて、自宅内ではtelnetよりsshでサーバーに接続していた。
自宅内ならsshにする必要もないのだが、TeraTerm Proでloginするとき、設定してしまえばsshの方がlogin操作が楽なので、そうしていた。
さて、自宅外からTeraTerm Proでsshで接続しようとすると、Pass Phraseの入力画面で固まってしまう。
理由は、何のことはない/etc/hosts.allowに許可の記述がなかったからだ。

# sshd : xxx.xxx.xxx.xxx/255.255.255.0 : allow

を入れたら、すんなり接続できた。
しかし、sshは/etc/rc.confで下記のように起動している。

sshd_enable="YES"

inetd.confの記述で起動したときのみ、hosts.allowの記述が有効と思っていたのが間違いで、inetdに頼らず起動しても、hosts.allowの記述が必要であったのである。
FreeBSDを使い始めて10年ぐらい経つが、まだまだ知らないことが多い。

2009.08.16

mount_smbfsの使用方法・・・(FreeBSD)

smbclientよりmount_smbfsでリモートのWindowsのディレクトリーをマウントする方が、良く使われると思われるので、これも書いておく。

# mount_smbfs -I 192.168.1.100 //nakamura@hogehoge/share /mnt
Password:xxxxxx
# ls /mnt
Thumbs.db       calendar.tcl    mn8300.pdf      pspbrwse.jbf    satoru
# umount /mnt

こちらの方が使い易いと思うのだが、好みの問題か。

smbclientの使用方法・・・(FreeBSD)

極めて簡単なのだが、やはりしばらく使わないと使用方法を忘れてしまう。
まず、Windows XPで動いているデスクトップPCのホスト名がhogehogeとすると、下記のコマンドで、アクセス可能なディレクトリーを表示させる。

# smbclient -I 192.168.1.100 -L hogehoge/C$ -U nakamura
Password:xxxxxxx
Domain=[HOGEHOGE] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Sharename       Type      Comment
---------       ----      -------
E$              Disk      Default share
EPSONPM-        Printer   EPSON PM-A850
IPC$            IPC       Remote IPC
D$               Disk      Default share
print$          Disk      プリンタ ドライバ
share           Disk
ADMIN$       Disk      Remote Admin
C$                Disk      Default share
Domain=[HOGEHOGE] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Server               Comment
---------            -------
Workgroup            Master
---------            -------

この中で、共用設定をしているディレクトリーはE Drive内に作ったshareだけなので、そこをアクセスしてみる。

# smbclient //hogehoge/share
Password:
Domain=[HOGEHOGE] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: > ls
.                                   D        0  Sun Jun 28 16:57:47 2009
..                                  D        0  Sun Jun 28 16:57:47 2009
calendar.tcl                  A        3234  Sat Jan 17 09:05:48 2009
mn8300.pdf                  A       1471542  Sat Sep 27 01:01:34 2003
pspbrwse.jbf                 A       25967  Sun May 17 09:56:50 2009
satoru                           D        0  Sun Jun 28 16:57:21 2009
Thumbs.db                   AHS    97280  Tue Aug  4 20:39:23 2009
38534 blocks of size 2097152. 29452 blocks available
smb: > q
#

2009.03.28

dmesgのバッファーサイズを増やす・・・(FreeBSD)

FreeBSDやLinuxでは、bootの過程で何が起きたかをdmesgコマンドで見ることが出来る。
しかしながら、表示内容が長くなると最初の部分が消えて見ることができない。私の例では、Firewallを設定して韓国、中国からのアクセスをブロックした途端に、その表示の長さのために、boot過程は全く見えなくなってしまった。
これを解決するためには、dmesgのバッファーサイズを広げればよいが、このためには、MSGBUF_SIZE というオプションを指定してカーネルの再構築をする必要がある。
/usr/src/sys/i386/confに移動して、GENERICを別名(MYPCなど)でコピーして、編集する。

# cd /usr/src/sys/i386/conf
# cp GENERIC MYPC
# vi MYPC

そして、下記のようにoptionsでMSGBUF_SIZE=xxxxxを追加する。
サイズはデフォルトでは4096であり、この整数倍に設定する。

options         STOP_NMI                # Stop CPUS using NMI instead of IPI
options         AUDIT                   # Security event auditing
options         MSGBUF_SIZE=409600

これで、kernelをコンパイルして入れ替えれば、バッファーサイズが増え、全てのメッセージを見ることが出来るようになる。

2009.03.07

atacontrolで故障HDDの交換・・・(FreeBSD)

FreeBSDではATAインターフェイスをコマンドでattach, detach出来る機能があり、gmirror構成したディスクの1台が壊れても、サーバの運用を続けながらhot replaceで交換きる。まず、root権限でatacontrolでlistを表示してみる。

# atacontrol list
ATA channel 0:
    Master: acd0 <TSSTcorp CD-ROM TS-H192C/B504> ATA/ATAPI
    Slave:       no device present
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4 <ST3808110AS/3.AJJ> Serial ATA v1.0
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <Hitachi HDS721680PLA380/P21OABEA> Serial ATA II
    Slave:       no device present

使用しているサーバはHPのProLiant M110であり、IDEのPrimaryとSecondaryがATA channel 0とATA channel 1として表示され、SATAがそれぞれATA cahnnel 2とATA channel 3として表示されている。

この例ではATA channel 2のMasterにad4が接続されており、ATA channel 3にad6が接続されている。

atacontrolでは、channel単位にattach, detachができるので、例えばATA channel 3につながっているad6を交換したいのであれば、このチャネルをdetachする。detachしてリストを表示すると、

# atacontrol detach ata3
# atacontrol list
ATA channel 0:
    Master: acd0 <TSSTcorp CD-ROM TS-H192C/B504> ATA/ATAPI
    Slave:       no device present
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4 <ST3808110AS/3.AJJ> Serial ATA v1.0
    Slave:       no device present
ATA channel 3:
    Master:      no device present     ← HDDが消えた
    Slave:       no device present

となり、ad6として動作していたHitachiの160GBのドライブが消える。
ここで、このドライブをサーバ運用のまま交換し、attachする。

# atacontrol attach ata3
# atacontrol list
ATA channel 0:
    Master: acd0 <TSSTcorp CD-ROM TS-H192C/B504> ATA/ATAPI
    Slave:       no device present
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4 <ST3808110AS/3.AJJ> Serial ATA v1.0
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <Hitachi HDP725025GLA380/GM2OA5CA> Serial ATA II
    Slave:       no device present

ここの例では、Hitachの250GBのドライブに交換した。
あとはgmirrorを再構成するだけである。

# gmirror statua           ← statusの表示
    Name         Status   Components
  gmirror/gm0   DEGRADED      ad4
# gmirror forget gm0           ← 構成情報のリセット
# gmirror status           ← 再度statusの確認
    Name         Status   Components
  gmirror/gm0   COMPLETE      ad4   ← DEGRADEDからCOMPLETEになる
# gmirror insert gm0 ad6        ← ad6の組み込み
    Name         Status   Components
  gmirror/gm0   DEGRADED      ad4
               ad6(1%)   ← 進行が%で表示される

あとは、同期化が進行して完了する。

« Previous | Next »