2012年 8月 の記事

CentOS 6 で Reverse Path Filtering (rp_filter) を無効にする方法

CentOS 6 で Reverse Path Filtering (rp_filter) を無効にする方法は以下の通り。

/etc/sysctl.conf を修正

net.ipv4.conf.default.rp_filter = 0

これが有効( = 1 )になっていると、Linuxルーターを複数台使ってルーティングさせる場合
経由するLinuxルーターのルーティングテーブルとは逆方向だとみなされるパケットが破棄されてしまう。

例えば、経由するLinuxルーターが保持しないネットワークを送信元としたパケットが
デフォルトルート側から転送されてきた場合に、パケットが破棄されてしまう。

環境:
CentOS 6.3 (x86_64)

CentOS の ルーティングテーブルから 169.254.0.0 を削除する方法

CentOS の ルーティングテーブルから 169.254.0.0 を削除する方法は以下の通り。

1. /etc/sysconfig/network に以下の一行を追加

NOZEROCONF=yes

2. ネットワークの再起動

# /etc/init.d/network restart

(設定前)

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.100.1   0.0.0.0         UG    0      0        0 eth0

(設定後)

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.100.1   0.0.0.0         UG    0      0        0 eth0

yum で ファイル名からパッケージを検索する方法

yum で ファイル名からパッケージを検索する方法は以下の通り。

# yum provides <ファイル名>

(例)

# yum provides */smbclient

yum で 依存するパッケージを確認する方法

yum で 依存するパッケージを確認する方法は以下の通り。

# yum deplist <パッケージ名>

(例)

# yum deplist httpd

yum で update 対象のパッケージを確認する方法

yum で update 対象のパッケージを確認する方法は以下の通り。

# yum check-update

CentOS でパスワードを自動生成する方法

CentOS でパスワードを自動生成する方法は以下の通り。

# yum -y install expect
# mkpassword

パスワードの長さを10文字に指定する場合

# mkpassword -l 10

自動生成したパスワードをユーザー(hoge)に設定する

# mkpassword hoge

CentOS 6 等、passwdコマンドの応答が日本語の場合はLANGを指定して実行

# LANG=C mkpassword hoge

Monit のアラートメールを日本語化する方法

Monit のアラートメールを日本語化する方法は以下の通り。

・件名だけ日本語化するなら、MIMEエンコードすれば良い。
・set mail-format でフォーマットを指定する。
・メールを直接送信するのではなく、一時メールサーバーに送信する。
・procmailでメールのヘッダーを書き換える。
・本来の宛先へメールを転送する。

設定例

一時メールサーバー: localhost
一時メールアドレス: hoge@localhost
本来の宛先: hoge@example.com

1. monit.confまたはmonitrcに以下の設定が有効になっていることを確認

include /etc/monit.d/*

2. set mail-format でフォーマットを指定するためのファイルを用意

header.txt

set mail-format {
   from: monit@example.com

subject.txt

   subject: monitアラート $EVENT $SERVICE

message.txt

   message:
日時:$DATE
ホスト名:$HOST
イベント:$EVENT
サービス名:$SERVICE
アクション:$ACTION
説明:$DESCRIPTION
}

3. set mail-format でフォーマットを指定

ディレクトリ(/etc/monit.d/)が存在しない場合は作成しておく

# cat header.txt > /etc/monit.d/mail-format.conf
# cat subject.txt | nkf -Mj >> /etc/monit.d/mail-format.conf
# cat message.txt | nkf -j >> /etc/monit.d/mail-format.conf

4. monit.confまたはmonitrcの宛先とメールサーバーを変更

set alert hoge@localhost
set mailserver localhost

5. procmailのインストール

# yum -y install procmail

6. 転送用のファイルを作成

# su - hoge

~/.forward

"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #hoge"

~/.procmailrc

:0
* ^Content-Type:
| /usr/bin/formail \
-I "Content-Type: text/plain; charset=iso-2022-jp" \
-I "To: hoge@example.com" \
| sendmail -oi -t

7. Monitの再起動

$ exit
# /etc/init.d/monit restart

環境:
CentOS 6.3 (x86_64)
Monit 5.4
procmail-3.22-25.1.el6.x86_64

rpmパッケージに含まれるスクリプトを確認する方法

rpmパッケージに含まれるスクリプトを確認する方法は以下の通り。

# rpm -qp --scripts <rpmパッケージ>

CentOS 6 に Monit をインストールする方法 (source)

CentOS 6 に Monit をインストールする方法は以下の通り。

1. 必要なパッケージをインストール

# yum -y install openssl-devel pam-devel

gccやmakeがインストールされていない場合はこれもインストール。

# yum -y install gcc make

2. 一般ユーザーでログイン

3. ソースのダウンロード・インストール

$ wget http://mmonit.com/monit/dist/monit-5.4.tar.gz
$ tar zxvf monit-5.4.tar.gz
$ cd monit-5.4
$ ./configure
$ make
$ su
# make install

4. 設定ファイルの準備

# chown root. monitrc
# chmod 0700 monitrc
# cp -p monitrc /etc/monitrc

5. 起動ファイルの準備

# chmod +x contrib/rc.monit
# cp -p contrib/rc.monit /etc/init.d/monit
# chkconfig --add monit
# ln -s /usr/local/bin/monit /usr/bin/monit

環境:
CentOS 6.3 (x86_64)
monit-5.4.tar.gz

CentOS 6 に Monit をインストールする方法 (rpm)

CentOS 6 に Monit をインストールする方法は以下の通り。

1. パッケージのダウンロード

# wget http://apt.sw.be/redhat/el6/en/x86_64/dag/RPMS/monit-5.4-1.el6.rf.x86_64.rpm

i386の場合は http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/monit-5.4-1.el6.rf.i686.rpm

2. パッケージのインストール

# rpm -ivh monit-5.4-1.el6.rf.x86_64.rpm

環境:
CentOS 6.3 (x86_64)
monit-5.4-1.el6.rf.x86_64.rpm

TOP

INFORMATION

当サイトは備忘録であり、その内容を保証するものではありません。 当サイトまたはリンク先によるいかなるトラブルや損害に関しても、一切の責任を負いかねます。 当サイトの内容を無断で転用したり、転載する等の行為はおやめください。