FC2ブログ

忘れっぽいエンジニアのメモ

Linux,UNIX,Networkに関しての個人的な備忘録です

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

logwatchに出力を追加する方法

logwatchに、とあるディレクトリに保存されているファイルの容量を
出力する要件があったため、設定した時のメモ

まず、logwatchがどのように動いているかを調べる必要がある。

cat /etc/crontab

02 4 * * * root run-parts /etc/cron.daily

[root@xxxx cron.daily]# ls -l
合計 64
lrwxrwxrwx 1 root root 39 10月 18 19:34 0logwatch -> /usr/share/logwatch/scripts/logwatch.pl

ということで、毎日4時02分に、logwatch.plが実行されていることが分かる。

いつもの如く、/etcの下にあるコンフィグを書き替えるだけだろうと考えていたが、

[root@xxxx cron.daily]# cat /etc/logwatch/conf/logwatch.conf
# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)

コンフィグは/usr/share/logwatchの方にあるらしい
ここで全体的な設定をすることが分かった。

以下、細かいことは省いて理解した内容ですが、

/usr/share/logwatch 以下に存在するものは、RPMやOSが設定したもので、
/etc/logwatch 以下に存在するものは、ユーザが個別に設定するものである。

ユーザが個別に作るディレクトリを/etc/logwatch以外に変更できそうなものだが、
logwatch.confには明言されてはいなかった。

で、本題ですが、結局logwatchに追加するには、

conf(default.conf)/services ディレクトリ以下に xxxx.conf を作り、
scripts/services ディレクトリ以下に xxxxのシェルを作る

上記2点を設定すればOKです。xxxxの部分は同一にする必要があります。
両方ともservicesというディレクトリ名のため、理解に苦しんだがconfとscriptsを作ると
理解してなんとか納得しました。
作成方法としては、/usr/share/logwatch 以下にあるzz-disk_space.confを参考にすると
分かりやすいです。

動作確認には、下記を実行すると、サービス単位で
メールで送付される内容の出力確認ができます。

logwatch -service zz-disk_space -print

以上です。
スポンサーサイト

テーマ:Linux - ジャンル:コンピュータ

  1. 2009/02/27(金) 11:54:38|
  2. Linux環境
  3. | トラックバック:0
  4. | コメント:0

MTUとMRUとMSSについて

最近、お客様のインターネットVPN(IPSec)環境でフレッツISDN回線の拠点に
障害が発生し、YAMAHA RTXのconfigを見ていて、MTU,MRU,MSSについてよく理解して
いないことに気づいたので、メモします。

イーサネットでは基本的に以下の通り。windows同士をHUBで
繋いだりするだけだと、MTU1500,MRU1500,MSS1460で通信する。
MTU,MRUはそれぞれ送信、受信なので、同一の値を指定しておけば間違いない。

MTU(Maximum Transmission Unit)は1500byte
MRU(Maximum Receive Unit)は1500byte
IPヘッダは20byte
TCPヘッダは20byte
MSS(Maximum Segment Size)はMTU-IPヘッダ-TCPヘッダで1460byte

Pingはヘッダが8byteなので、MTU-IPヘッダ-ICMPヘッダで、1472byte
windowsでpingを実施する場合、ping -f -l 1472 宛先 がフラグメント化されない最大サイズとなる

ちなみに、CiscoやCheckPointのVPNソフトが起動してると、MTU1300,MSS1272と
デフォルトが設定されていた。これも ping -f -l xxxx 宛先で最大値を探して確認した。

本題だが、ルータをWANに接続すると、それぞれのヘッダをマイナスした
値にMTUを設定する必要がある場合がある。

フレッツADSL,フレッツ光(ISDN除く)の場合は、フレッツ用ヘッダが46byteのため、
ルータには、MTU1454,MRU1454,MSS1414を設定する場合がある。

他のPPPoeの場合は、pppoeヘッダは8byteのため、
ルータには、MTU1492,MRU1492,MSS1452を設定する場合がある。

逆に最低の値は、YAMAHA RTXでは
MTU1280,MSS1240らしい。

ルータにMTUを設定しておくと、外部との通信のMTUを自動的に
調整してくれるため、クライアントPCは特に設定を変更する必要はない。

なおフラグメント化禁止フラグが付いている通信の場合は自動調整されないが、
通信できない場合、ICMPでパケットサイズを知らせるらしい。そこでFireWallなどで
ICMPを禁止していると、クライアントが正常なサイズが理解できずに、
通信が正常に実施できない場合があるようだ。

それとネットで豆知識みたいなのを見つけたが、CiscoはMTUを指定できても
MRUはYAMAHAと違って明示的に指定するコマンドがないらしい。
設定方法は、ip mtu(MTUだけの設定)mut(MTU,MRU両方設定)になるらしい。

テーマ:ネットワーク - ジャンル:コンピュータ

  1. 2009/02/18(水) 11:13:58|
  2. ネットワーク全般
  3. | トラックバック:0
  4. | コメント:0

sendmailの宛先確認

Centos5でホスト名をFQDN形式でないものからFQDN形式に変更後に
sendmailの起動でフリーズしてしまい、解決に1時間もかかってしまったことがありました。
(Networkに接続せずに、DNSにアクセスできない状態です)

複数の問題がからんでいたようですが、
どうやら、hostsに記載したホスト名に問題があったようです。
sendmailは下記のようにFQDNでホスト名を書かないとエラーが発生し、起動できません。

127.0.0.1 localhost.localdomain localhost
192.168.1.1 host

下記のように変更したところ、解決できた!と思いきや解決できませんでした。

192.168.1.1 host.xxx.co.jp host

いろいろと調べたところ、sendmailはデフォルトでnsswitch.confを見ないようで、
/etc/service.switch というファイルがあれば、それを見るらしいのです。

nsswitch.conf同様、最初に/etc/hosts、次にDNSという順序にするには、
以下のように記述します。このファイルはディフォルトでは存在しないと思いますので、
新規作成する必要があります。

/etc/mail/sendmail.cf
O ServiceSwitchFile=/etc/mail/service.switch

/etc/service.switch
hosts files dns
aliases files

hostsまたはaliasesとfilesの区切りはTABでないとダメなようです。

ここまでやって、やっと解決できました。
ホスト名をFQDNに変更後、hostsを書いてOKかと思ったのですが、
どうやらsendmailはhostsを見ないで、DNSに名前解決に行って、
そのままtimeoutでフリーズしたようです。(timeout値が不明なので5分ぐらいまでしか待ってません)

  1. 2008/09/16(火) 11:22:31|
  2. メールサーバ
  3. | トラックバック:0
  4. | コメント:0

telnetでメール送信

telnet でのメール送信は、メールサーバ構築でよくやるのだが、
毎回、RCPT TOかRCPTだけでよかったか悩んでしまうので、メモを書きます。

詳しい出力は書きませんが以下の手順通りです。
SMTP-AUTHなどは手順が変わりますが、あまり使わないので書きません。
postfixでhello,client,sender,recipient等でフィルタをしている場合は、
該当コマンド入力後にrejectされることになります。


server# telnet localhost 25

HELO <ホスト名>

MAIL FROM: xxx@xxx.co.jp

RCPT TO: yyy@yyy.co.jp

DATA
From: xxx@xxx.co.jp
Subjet: test
test
.

QUIT
  1. 2008/09/16(火) 10:53:56|
  2. メールサーバ
  3. | トラックバック:0
  4. | コメント:0

Centos5のbootログ出力

ふと気がついたのだが、Centos4までは起動時に出力されていたboot.logが
Cnetos5では出力されなくなっていた。

syslogをsyslog-ngに変更していたため、その影響かと思ったが、どうやら違うようだ。

googlで検索していたら、下記の書き込みを見つけました。
どうやら5から標準では出なくなったようです。

------------------------------------------------------------------------------------------------
ようやく /var/log/messages にデーモンの起動・停止ログが出力されない理由が分かりました。

CentOS 5(RHEL 5)以降 initlog が非推奨となったんですね
/var/log/boot.log だけへの影響かと思ったらしっかりと /var/log/messages にも orz
/etc/rc.d/init.d/functions の success()で initlog を呼び出してるところがコメントアウトされてました

ちなみにコメントアウトを外すと
WARNING: initlog is deprecated and will be removed in a future release
という表示がコンソールには出ますが /var/log/boot.log と /var/log/messages に記録されるようになりました。

---------------------------------------------------------------------------------------------------

ちなみに、Centos5にsyslog-ngをrpmで入れようとすると、sysklogdに含まれている
/etc/logrotate.d/syslog が競合してエラーになります。
ログローテートの設定ファイルなので、強制インストールで上書きして特に問題は無いはずです。
(私の入手したrpm特有の動作の可能性もあります)

logrotateの設定チェックは、logrotate -dv <設定ファイル>で確認できます。
この際、通常読み込まれる/etc/logrotate.confの設定は無視されるので注意して下さい。
  1. 2008/09/11(木) 10:53:03|
  2. Linux環境
  3. | トラックバック:0
  4. | コメント:0
次のページ

プロフィール

manzi007

Author:manzi007
レベル18ぐらいのエンジニア
所有資格:RHCE,CCNA,
  情報処理テクニカルエンジニア
  (ネットワーク、セキュリティ)など

最新記事

月別アーカイブ

カテゴリ

雑記 (0)
Linux環境 (3)
未分類 (0)
サーバ構築 (2)
メールサーバ (2)
ネットワーク全般 (1)

ここで買ってくれると喜びます

検索フォーム

RSSリンクの表示

リンク

訪問履歴

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。