More from: linux

Windows98SEから接続できなかったのはSambaのバージョンが上がったからだった。

先週末のPC移動でWindows98SEのPCがsambaサーバーに接続できなかったのは、サーバ側のsambaのバージョンが3.0系から3.5系に上がっていたからだった。
その後の調査で3.2系から認証設定のデフォルトが強化され、そのままではWindows9x系やOS/2クライアントからの接続が出来なくなっていたことが判明。
これはLanManパスワード等のプレインテキストでのパスワード送信を受け付けなくなったため。
プレインテキストでの認証を認めるようにするにはsmb.confファイルの[global]セクションで
lanman auth = yes
client lanman auth = yes
client plaintext auth =yes
と記述する必要があるとのこと。
実際にはこの記述の後に
ntlmv2 auth = yes
client ntlmv2 auth = yes
の2行も追加して接続できるようになった。
これでなんとか業務に使えるようになって一安心だ。

←クリックしてくれると嬉しいです。

つながらないー(涙)

昨日はPCの移動があって、それに伴いネットワーク環境を大きく変更する作業だった。
問題は発生したものの大半のPCはなんとか環境の変更は済ませることが出来たが、1台だけファイルサーバに接続できないPCが出た。
殆どのPCのOSはWindowsNT系(Xpもしくは7)なのだが、このPCはなんとWindows98SE。
そのためなのかファイルサーバのsambaのバージョンが3.0から3.5になったせいなのか、とにかく「net use」コマンドでネットワークドライブの割り当てが出来ない。
今まで使っていたサーバにはネットワーク越しでも接続できるので、ネットワーク環境の変更が影響している訳でも無さそう。
#実際にはサーバが別ネットワークに所属することになったので、サーバのアドレスを認識できずに接続タイムアウトを起こしていたが、「Netbeui」をインストールすることでlmhostsに書いたアドレスを認識できるようになった。

このPCの設定が終わらなかったので今日(6/10)も現場での作業になってしまったが、午後からでないと現場に入れないのでそれまでにヒントでも見つからないかなぁ?

←クリックしてくれると嬉しいです。

smtpポートの問題ではなかった(汗)

一個前の記事の問題はsmtpとかメーラーの問題ではなかった・・・・・

実はsmtp接続には全く問題が無く、メーラーが設定時にサーバのPOP3ポートにアクセスしてアカウントの有効性を確認する際にタイムアウトを起こしていてアカウント設定が出来ない状態であったことが判明。
このメーラは設定されたアカウントがサーバ上に存在するかを設定時にチェックするのだが、その際にsmtpポートが開いているかを確認するらしく、そのためサーバのmaillogに「NOQUEUE: Null connection from」のメッセージが記録されており、これを送信時のエラーと勘違いしたのが25番ポートを疑うようになった原因。
#25番ポートにアクセスしてもなにも送信しないで接続を切るとこのメッセージが記録される。

実は今回の問題は25番ポートではなく110番ポート(pop3)が開いていなかったことが原因だった。
110番ポートが開いていなかったのでアカウントの確認が出来ずに設定が完了せず、Mailの送信が出来なかったということだった。

他のメーラを使ってテストメールを送信したら問題なく送信されたが、受信が全く出来ずにタイムアウトを起こしていた。
その際のMailサーバのログを見ても全くアクセスが記録されていないので、おかしいとは思っていたが自分で使っているサーバからは110番ポートへのアクセスが出来ていたので塞がっているとは思わなかった(汗)。
試しに同じネットワークにある別のサーバからMailサーバの110番ポートにアクセスしたら応答が返って来なかったので110番ポートが開いていないことが判明。
自分が使っているサーバからのみ限定的に110番ポートを開けていたので、気付くのに時間がかかってしまった・・・・・

まぁ原因が判ったのでポートを開けて貰うことでなんとかなりそうだ。

←クリックしてくれると嬉しいです。

NOQUEUE: Null connection from・・・・・・・

Mailを送信しようとメールソフトを設定し、実際に送信動作をさせると、タイトルのようなエラーが出て送れないという相談が来た。
問題のPCはMailサーバとは別ネットワークにあるので、最初はsendmail.cfでアクセス制限を掛けているせいかと思ったが、問題のPCと同じネットワークにある別のサーバからは問題無くMailの送信が出来ているので、制限が掛かっているわけでは無い。
実際に別のサーバにログインしてtelnetでMailサーバの25番ポートにアクセスし、完全に手動でメールの内容を入力してみても正しく送ることが出来た。
#HELOコマンドからMAIL FROM: RCPT TO: DATAコマンドまでをターミナルから入力して送信してみた。
以下は実際に入力したコマンドで、ホスト名やIPアドレス等は本物では無い。
行頭が”>”の行はMailサーバ側からの応答。
—————————————————-
# telnet XXX.YYY.XXX.AAA(MailサーバのIPアドレス) 25
Trying XXX.YYY.XXX.AAA…
Connected to XXX.YYY.XXX.AAA (XXX.YYY.XXX.AAA).
Escape character is ‘^]’.
>220 XXX.YYY.XXX.AAA ESMTP Sendmail バージョン番号; Thu, 7 Jun 2012 16:38:37 +0900
HELO ドメイン名等
>250 XXX.YYY.XXX.AAA Hello [クライアントのIPアドレス], pleased to meet you
MAIL FROM: <差出人のMailアドレス>
>250 <差出人のMailアドレス>… Sender ok
RCPT TO: <宛先アドレス>
>250 <宛先アドレス>… Recipient ok
DATA
>354 Enter mail, end with “.” on a line by itself
Subject: 件名
From: <メーラに表示される差出人>
To: <メーラに表示される宛先>

メール本文
. →本文の最後を示すピリオド
>250 QAA04352 Message accepted for delivery
QUIT
221 Mailサーバのホスト名もしくはIPアドレス closing connection
Connection closed by foreign host.
———————————————————
以上の入力で宛先には正しく届いたのでネットワーク間の通信の問題では無いことが確認できた。

件名のエラーメッセージはサーバの25番ポートにアクセスしても何も送信せずに接続を切断した際に出るものなので、メールソフトが何らかの理由で接続を確立出来ず(と判断して勝手)に切断しているような感じがする。
うーん、、、、、

←クリックしてくれると嬉しいです。

負荷が高くてmailが配信されない・・・・・・・・

職場のmailサーバに外からのmailが届いていないが何かあったのか?
という問い合わせがあった。
調べてみるとサーバの負荷が高くてsendmailが配信をストップしていた模様・・・・・・・

sendmailはデフォルトでシステム負荷(Load Average)の数値が12を超えると接続を拒否する仕様になっている。
これは外部からのmailbombによる攻撃でシステムが止まる事を防ぐためで、この数値の設定はsendmailの設定ファイルであるsendmail.cfで変更可能だ。
sendmail.cf内に
# load average at which we refuse connections
#O RefuseLA=12
という行があるので、2行目の行頭の#を外して行末の数字を書き換えて保存し、sendmailのプロセスを再起動するか、kill -HUP ”sendmailのプロセス”で初期化すればOK。
sendmailのプロセスNoは
ps ax | grep sendmail
とでもすれば判る。

それにしても今まで負荷が高くて配信が止まる事は殆ど無かったのに今日になって起きるなんて不思議だ・・・・・
もしかして攻撃されているのか?(笑)
#直接外部に晒していないから大丈夫だとは思う。

←クリックしてくれると嬉しいです。

Perlのバージョンを上げてみた。

職場のサーバでPerlのバージョンが低くてパッケージのインストールが出来ないのがあったのは昨日書いた通り。
今日、そのサーバにPerlの5.6.2をソースからコンパイルして入れてみた。
#最初rpmパッケージを探したけど見つけられなかったorz
コンパイル-インストールにはそれほど問題は無く、無事にインストール出来た。
動作にも問題は無かったのだが、肝心のパッケージのインストールは相変わらず出来ない状態。
今度はPerlの問題ではなく、インストールスクリプトが途中でコールしているmkinitrdが異常終了してしまうためで、恐らくはmodules.confが無いためと思われる。
#カーネルが2.2.9なのでモジュール管理をmodules.infoファイルで行っているのが原因か。
うーん、なかなか一筋縄では行かないね(汗)。

←クリックしてくれると嬉しいです。

Perlのバージョンを・・・・・・

職場で動作させているLinuxサーバの内の1台がPerlのバージョンが古くて必要なパッケージがインストール出来ない。
インストールをお願いした業者さん曰く、「5.6以降のバージョンが必要ですが、現在インストールされているのは5.0です。」だそうなので、5.6以降のバージョンを探してきてインストールしなくてはならない。
まぁこれは探してくればなんとかなるのだけど、同じディストリビューションのLinuxが他にもあって、そちらには5.6以降のPerlがインストールされていたのは不思議だ・・・・・・
どっちのサーバも私が構築したものなんだけど、なんでバージョンが違うんだろ?
両方とも明示的にPerlを使うようなことはしていないから、後からバージョンを上げた記憶は無いんだけどなぁ?

←クリックしてくれると嬉しいです。

sambaサーバでのアクセス制限

ファイルサーバとして使っているLinuxサーバでアクセス制限を掛ける方法を調べている。
やりたいのは共有をかけているディレクトリ単位にIPアドレスで制限を掛けるということ。
具体的には
/var/share/AAA
というディレクトリには
192.168.1.0/24 からだけアクセスを許し、
/var/share/BBB
192.168.255.0/24 からだけアクセスを許すというようなこと。

これを実現するには設定ファイル(smb.conf)内にアクセスを許可するIPアドレス(グループ)を記述する必要がある。
サーバ全体へのアクセスを制限するには
[global]
セクションに
hosts allow = 192.168.1. 127.
と書けば192.168.1.0/24とローカルホスト(サーバ自分自身)からのアクセスのみを許可することになる。
同じことを各ディレクトリ単位にしたい場合はこの
hosts allow =
の行を各ディレクトリ毎のセクションに記述すればOK。
つまり、上のほうに書いたようなことを実現するには、
[AAA]
    path = /var/share/AAA
(中略)
    hosts allow = 192.168.1.
[BBB]
    path = /var/share/BBB
(中略)
    hosts allow = 192.168.255.
と書けば良いことになる。

反対に特定のIPアドレス(グループ)からのアクセスを拒否したい場合は「hosts allow」の代わりに「hosts deny」と書けば良いのかと思ってやって見たけど上手く拒否されずにアクセスが出来てしまった。
今のところ拒否のほうは上手くいかないけど、とりあえず目的を達することは出来るので、denyのほうはおいおい調べていこうか。

←クリックしてくれると嬉しいです。

NFSマウントしたファイルシステムをsambaでクライアントに公開するには?

現場にあるPCサーバ(Linux)にはクライアントPCで共有するファイルを置くためのディレクトリを用意して、そこをsambaで公開している。
数年前に設置した当初はそれほど容量を必要としない筈だったので、用意したパーティションの容量は10GB程度。
ところが運用が始まると画像データの置き場にされてしまい、あっと言う間に容量不足となってしまった。
なので現在はクライアントPCの一台をファイルサーバとして使っている状態。
本当はサーバにファイルを置きたいのだが物理的にHDDの容量が足りず、かといって現場が遠隔地なので気軽にHDDを増設しに行くことも出来ない。
そこで思いついたのは他の現場にあるHDD容量の多いサーバにNFSでつないで、その領域をsambaで開放するという手段。
早速調べてみるとsambaユーザー会辺りのMLで「速度が実用に耐えない」との投稿があったorz
そのMLではSANとSANサーバをNFSで接続して(ネットワークはGbit)、SANサーバがsambaで領域を公開しているが、クライアントからのファイルコピーで実測1kBps未満の速度しか出なかったとのことだ。
やり取りを読んでみると最終的にはなんとか使えそうな速度にはなった(マウントオプションに”nolock”を付ける)とのことが書かれていたが、安易に行うと痛い目を見ることになりそうだ。
それでもやりかたによってはなんとかなりそうな気がしてきたので、今度じっくり試してみようかと思う。

←クリックしてくれると嬉しいです。

WindowsエクスプローラーでFTPサーバに接続した時の日本語ファイル名が化ける件

昨日書いた記事「Windowsからftpサーバへの接続メモ」の続きだけど、WindowsエクスプローラーでFTPサーバへの接続は可能になったけど、日本語のファイル/ディレクトリ名が文字化けしてしまって読めない件はFTPサーバーをvsftpdからProFTPdに切り替えることで解決できそうな気配。
早速現時点での最新ソース「proftpd-1.3.4rc3.tar.gz」を落としてきてコンパイルしてインストールしたが、デフォルトでは文字コード変換のモジュールが無いのでproftpd.confに文字コードの設定を書いてもエラーになってしまい(←当たり前)文字化けは直らない。
で、その文字コード変換のモジュールを探しているのだが、1.3.0用のパッチ(proftpd-1.3.0-iconv.patch.gz)が置いてあるサイトに接続できずダウンロードが出来ない。
うーん、どっかにミラーされていないのかなぁ?

←クリックしてくれると嬉しいです。