harddisks="/dev/sda /dev/sdb" hdparm_opts="-S 240"

Linux, FreeBSD, 酒,…
Debian/etch
ApacheとCourire-IMAPでSSLを使う際に必要な証明書を自己認証で作る。
特定の者だけが使う「第四種オレオレ証明書」としての使用を想定。
オレオレ証明書の区分 第三版
http://takagi-hiromitsu.jp/diary/20071117.html#p02
作業用のディレクトリに移る(どこでも良い)。
# cd /etc/apache2/ssl/WORK
秘密鍵を作る。
# openssl genrsa -des3 -rand /var/log/syslog -out httpd.key 1024
68379 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
…………………………………..++++++
..++++++
e is 65537 (0×10001)
Enter pass phrase for httpd.key:
Verifying – Enter pass phrase for httpd.key:
パスフレーズは適当に(二回)。
-randで乱数の種を指定する。なんでもいいのでとりあえずsyslogを使ってみる。
秘密鍵からパスフレーズを外す。
# openssl rsa -in httpd.key -out server.key
Enter pass phrase for httpd.key:
writing RSA key
生成時に入れたパスフレーズを入れる。
パスフレーズを外さないとApacheの起動時にパスフレーズを尋ねられ、自動起動できなくなる。
証明書を作る。
# openssl req -new -x509 -days 366 -key server.key -out server.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:xxxxx
Locality Name (eg, city) []:xxxxx
Organization Name (eg, company) [Internet Widgits Pty Ltd]:xxxxx
Organizational Unit Name (eg, section) []:.
Common Name (eg, YOUR name) []:*.example.com
Email Address []:webmaster@example.com
-daysは有効期間の指定(366: 一年(閏年))。
State or Province Name以下は適切に。
Common Nameでワイルドカード(*)が使用できる。ホスト名を指定するとそのホストでしか使えない。バーチャルホストで複数の名前を使う際にはワイルドカードを活用すべし。
以下のように、-configオプションでconfigファイルを明示する必要があるかもしれない。
# openssl req -new -x509 -days 366 -key server.key -out server.crt -config /etc/ssl/openssl.cnf
証明書のパーミッションを設定する。
# chmod 600 httpd.key server.crt server.key
証明書を適切な場所に移す(Apache用)。
# cp -a server.crt server.key /etc/apache2/ssl
この場所はApacheの設定ファイル(/etc/apache2/sites-available/local_machineとか)で指定している。SSLCertificateFileとSSLCertificateKeyFileがそれ。
FreeBSDの場合、portsでインストールしたのなら、/usr/local/etc/apache2/ssl.confで指定している。
Courier-IMAP用の証明書を作って配置する。
# cat server.crt server.key > courier.pem
# chmod 600 courier.pem
# mv /etc/courier/courier.pem /etc/courier/courier.pem.OLD
# cp -a courier.pem /etc/courier
ApacheとCourier-IMAP(関連)を再起動する。
reloadでもいいのかもしれないが、Courier-IMAP関連はたくさんあるので一通り立上げ直す。以下のスクリプトを利用。
#!/bin/sh
/etc/init.d/courier-pop-ssl stop
/etc/init.d/courier-pop stop
/etc/init.d/courier-imap-ssl stop
/etc/init.d/courier-imap stop
/etc/init.d/courier-authdaemon stop
/etc/init.d/courier-authdaemon start
/etc/init.d/courier-imap start
/etc/init.d/courier-imap-ssl start
/etc/init.d/courier-pop start
/etc/init.d/courier-pop-ssl start
/etc/init.d/apache2 restart
無料で証明書を発行してくれるサイトもあるらしい。
CACert.orgで無料のSSLサーバを動かすメモ
http://freebsd.fkimura.com/cacert-a0.html
無料のSSL証明書
http://psst.jp/syn/archives/000170.html
しかし、タダで誰にでも発行してくれる証明書って信頼していいんだろうか?
自ドメインから直接メイルを受けとってくれないサイトへの対応。
/etc/postfix/transport
nikon.co.jp :[mail.asahi-net.or.jp] .nikon.co.jp :[mail.asahi-net.or.jp] ocn.ne.jp :[mail.asahi-net.or.jp] .ocn.ne.jp :[mail.asahi-net.or.jp] ezweb.ne.jp :[mail.asahi-net.or.jp] .ezweb.ne.jp :[mail.asahi-net.or.jp] yahoo.co.jp :[mail.asahi-net.or.jp] .yahoo.co.jp :[mail.asahi-net.or.jp]
# postmap /etc/postfix/transport
apt-getやapt-fileといったapt関係のコマンドやdpkg関係のコマンドでperlがwarningを出しまくることがある。
# apt-file search /etc/crontab
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = “ja_JP.eucJP”,
LC_CTYPE = “ja_JP.eucJP”,
LANG = “ja_JP.UTF-8″
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
原因はlocaleがきちんと設定されていないため。
対策としては、
# dpkg-reconfigure locales
を行なうか、/etc/locale.genを適切jに編集して
# locale-gen
を走らせる。/etc/locale.genはこんな感じか。
en_US ISO-8859-1
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
% snmpwalk -v 1 -c public localhost system
はちゃんと動くが、
% snmpwalk -v 1 -c public hostname system
とやるとtimeoutする。当然、他のホストからアクセスできない。
調べてみると、/etc/default/snmpdでアクセス制限がかかっていた。
SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1′
の行の127.0.0.1を削除し
SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid’
としてsnmpdを起動し直せばOK。
マザーボード等、ハードウェアを一新して以前のシステムを移行した。基本的にはうまくいったが、ネットワークにつながらない。ifconfigで見るとeth0がない。しかし、ブートメッセージではeth0で認識していることがわかる。試しに、/etc/network/interfacesの設定ををeth1にしてみたらうまく認識してくれた。
でも、理由がわからないのは気持ち悪い。
(eth1の設定で)ブートメッセージを追っかけると、最初はeth0で認識しているが、途中でeth1を生かしていることがわかる(MACアドレスは一応伏字)。
% dmesg | grep eth\[0-9\]
sky2 eth0: addr 00:1f:c6:xx:xx:xx
sky2 eth1: enabling interface
ADDRCONF(NETDEV_UP): eth1: link is not ready
sky2 eth1: Link is up at 1000 Mbps, full duplex, flow control both
ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
eth1: no IPv6 routers present
いろいろ調べた結果、etchからはインタフェース名とMACアドレスをヒモ付けるようになったらしい。
/etc/udev/rules.d/z25_persistent-net.rules
このファイルに設定が書き込まれている。
SUBSYSTEM==”net”, DRIVERS==”?*”, ATTRS{address}==”00:20:ed:xx:xx:xx”, NAME=”eth0″
SUBSYSTEM==”net”, DRIVERS==”?*”, ATTRS{address}==”00:1f:c6:xx:xx:xx”, NAME=”eth1″
対処法は、
rebootコマンドを実行すると、シャットダウン手続きを一通り終えた後、
machine restart
と言ったきり固まる場合には、ブートオプションに、
reboot=bios
を付けてみるべし(grubのmenu.lst)。
参照:
Restart ‘hang’ with PowerEdge 2400 & RH Linux 7.2 (2.4.17 kernel)
man bootparam
カーネル構築パラメータ
make xconfigでのたどり方。
Power management option
|–CPU Frequency scaling
| |–Default CPUFreq governor = ondemand
| | (CPU_FREQ_DEFALT_GOV_ONDEMAND)
|
|–ACPI Processor P-States driver (X86_ACPI_CPUFREQ) = m
モジュールのロード
/etc/modules に以下を記述。
acpi_cpufreq
ツール
# apt-get install cpufrequtils
cpufrequtilsの設定と使い方
/etc/default/cpufrequtils の設定
ENABLE=”true”
GOVERNOR=”ondemand”
MAX_SPEED=2527000
MIN_SPEED=1596000
MAX_SPEEDとMIN_SPEEDは
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
の結果の最大値と最小値。両方とも0でも良さそう?
/etc/default/cpufrequtils のコメント参照。
CPU情報の確認
% cpufreq-info
これまでの設定で自動的にクロックが変化するが、
強制的に設定するならcpufreq-setを使う。詳細はヘルプ参照。
# cpufreq-set –help
おまけ: CPUクロックのモニタリング
% watch grep MHz /proc/cpuinfo
ハードウェアを更新した。今じゃ、HDDはSATAが主流のようで、売っているドライブもほとんどSATAだし、M/BもSATAを使うのが当然のようになっている。まぁ、Intelのchip setがIDEをサポートしていないんだからしょうがないか。
それはそれとして、これまでは、HDDのアクセスがなくなったらドライブの電源が切れるようにnoflushdを使っていたが、こいつはSATAには対応していない模様。
いろいろ調べたところ、なーんだ、hdparmでできるじゃないか。-Sオプションの存在をこれまでしらなんだ。
Debian etch的には、/etc/default/hdparmに
harddisks="/dev/sda /dev/sdb" hdparm_opts="-S 240"