‘Debian’ カテゴリーのアーカイブ

Debian(lenny,squeeze)にpostfix,courier-popインストール

2010年1月26日 火曜日

Debian(lenny,squeeze)にpostfix,courier-popをインストールし、基本的なメールシステムを構築する。

1.基本方針

  • SMTP AUTH対応
  • Maildir使用
  • POPS対応
  • SMTPS対応
  • Submission Port対応
  • Submission PortでのSTARTTLS対応
  • POPとSMTPの認証モジュールは同一のものを使用

2.courier-authdaemonのインストール設定

POPとSMTPの認証モジュールは同一のものを使用したかったのでcourier-authdaemonを使用する。これはcourier-pop,postfix両方で使用できる。

・courier-authdaemonのインストール

# aptitude install courier-authdaemon

・authdaemonrcの設定

# cat /etc/courier/authdaemonrc

# authuserdbを使えばシステムアカウントとメールアカウントを
# 分ける事ができる。今回はシステムアカウントを使用。
#authmodulelist="authuserdb"
authmodulelist="authpam"
・・・
# chrootしたpostfixからも見えるようにしようとしたがこのオプションは無効らしい。
# 本当はこうしたい↓
# authdaemonvar=/var/spool/postfix/var/run/courier/authdaemon
# 少々強引だが/var/spool/postfix/var/run/courierのシンボリックリンクを作成することで対応することに。。
authdaemonvar=/var/run/courier/authdaemon

・courier-authdaemonの再起動

# /etc/init.d/courier-authdaemon restart

3.アカウント追加

・maildirmakeを使えるようcourier-baseインストール

# aptitude install courier-base

・ユーザ作成時にMaildirできるようにしておく

# /usr/bin/maildirmake /etc/skel/Maildir

・ユーザ追加

# adduser --shell /bin/false hoge

参考:authmodulelist=”authuserdb”の場合
今回はauthdaemonrcでauthmodulelist=”authpam”を指定したので関係はないが、参考までにauthmodulelist=”authuserdb”を指定した場合のユーザ追加例を以下に記す。authuserdbを指定した場合は、システムアカウントとメールアカウントを分けることが可能。

・メール用アカウント追加
# adduser -u 1010 --disabled-password --disabled-login test
・userdb作成
# userdb test set home=/home/test mail=/home/test/Maildir uid=1010 gid=1010
 ※/etc/courier/userdbが作成される。
・パスワード設定
# userdbpw | userdb test set pop3pw
# userdbpw | userdb test set smtppw
  ※/etc/courier/userdbの該当箇所にパスワードが設定される。
・DB形式に変換
# makeuserdb
・アカウント削除
# userdb test del

3.courier-popインストール

# aptitude install courier-pop courier-pop-ssl

認証の設定は終わっているので、 courier-pop courier-pop-sslをインストールすればPOPとPOP-SSL(POPS)が使用できるようになる。

4.GUI設定

GUI設定もある模様。

# aptitude install courier-webadmin

一部使用できない機能がある?
また、ほとんど有用な機能がないので削除。。。

# aptitude purge courier-webadmin

5.Postfixインストール

・libsasl2のインストール。これがないとSMTP認証できない。

# aptitude install libsasl2-modules

・Postfixインストール

# aptitude install postfix

6.Postfix設定

・ローカルから送信時のFromで使用されるドメインを指定

# cat /etc/mailname
hogepage.net

・submission port有効

# cat /etc/postfix/master.cf
以下がコメントになっているのでコメント外す

submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING

smtpd_client_restrictionsは、SMTPサーバがクライアントからSMTP接続の要求を受けた際に適用するIPアドレスのアクセス制限(デフォルトはすべて許可)。
smtpd_delay_reject = yes(デフォルト)なので、smtpd_client_restrictionsはRCPT TO時に評価される。つまり、この場合だと認証を通ったクライアントのIPのみ、RCPT TO以降のSMTP接続を受け付ける。ここでの設定はサブミッションポートでの設定なので注意(通常の25番ポートの方は適用されない)。

・main.cf編集

# cat /etc/postfix/main.cf

・・・・略
# TLSの設定。証明書はデフォルトのものを使用。オレオレ証明書なので注意
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# 主要な設定
myhostname = mail.hogepage.net  # HELO名などで使用される。
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname  #ローカルからメール配信を行った場合のFromアドレスにつくドメイン名
mydestination = hogepage.net, localhost  #宛先ドメイン。このドメインにきたメールがローカル配送される。
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 xxx.xxx.xxx.xxxx #Relayを許可するIPアドレス。認証無しでもリレーできる。
#mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
#inet_protocols = ipv4
home_mailbox = Maildir/ # mailboxをMaildir形式にする。
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

smtpd_recipient_restrictions はPostfix SMTPサーバが RCPT TO コマンドの場面で適用するアクセス制限(デフォルト: permit_mynetworks, reject_unauth_destination)。 この設定はサブミッションポート(587)と通常ポート(25)両方に適用される。これがあれば、master.cfのsmtpd_client_restrictions設定はいらない気が。。まぁ、二重にチェックしてもいいか。

ちなみに*_restrictionsの評価の順序は以下になる。必須なのはsmtpd_recipient_restrictionsのみ。

  1. smtpd_client_restrictions
  2. smtpd_helo_restrictions
  3. smtpd_sender_restrictions
  4. smtpd_recipient_restrictions

上記でも述べたがsmtpd_delay_reject = yes(デフォルト)だと、RCPT TO時にこれらがすべて評価される。
また、条件にマッチした場合、それ以降のマッチングを行わない。

・SMTP認証設定

認証方式にauthdaemondを指定する。
# cat /etc/postfix/sasl/smtpd.conf

pwcheck_method: authdaemond
authdaemond_path: /var/run/courier/authdaemon/socket
mech_list: plain login

・TIPS:/etc/postfix/sasl/smtpd.confの秘密

pwcheck_methodはauxprop/saslauthd/authdaemondなどがある。
それぞれの設定例を記述する。
(1)auxpropの例
auxpropを使用するといろいろなプラグインが使用できる。pluginにはsqlなどもある。

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: cram-md5 digest-md5 plain login

auxprop_pluginを指定しない場合、デフォルトでsasldbが使用される。

(2)saslauthdの例
saslauthdデーモンを使用する場合。

pwcheck_method: saslauthd
mech_list: plain login

saslauthdの場合、cram-md5やdigest-md5が使用できないことに注意。しかし、mech_listにcram-md5やdigest-md5が指定できてしまうことが混乱を招いている。認証にcram-md5やdigest-md5が使われた場合、saslauthdではなく、auxprop(=sasldb or sasldb2)が使用されてしまうことに注意orz
個人的にはSSLと組み合わせればよい話なので、cram-md5やdigest-md5はいらないと思っている。さらにcram-md5やdigest-md5の場合はサーバ側にハッシュ値でないプレーンテキストでパスワードを保存しておく必要がある。こっちの方が問題だと思う。。

(3)authdaemondの例
これは今回の例。もう一度おさらい。

pwcheck_method: authdaemond
authdaemond_path: /var/run/courier/authdaemon/socket
mech_list: plain login

authdaemondもsaslauthdの場合と同様、cram-md5やdigest-md5が使用できないことに注意。認証にcram-md5やdigest-md5が使われた場合、authdaemondではなく、auxprop(=sasldb or sasldb2)が使用される。

・authdaemonのsocketをpostfixが読めるようにする

まずpostfixユーザをdaemonグループに追加する。
# usermod -G postfix,mail,daemon postfix

・ソケットのハードリンクを行う。

postfixがchrootするのでシンボリックリンクではダメ!


# mkdir -p /var/spool/postfix/var/run/courier/authdaemon
# ln -f /var/run/courier/authdaemon/socket /var/spool/postfix/var/run/courier/authdaemon/socket


※これはauthdaemondを再起動するたびに行わなければならないので起動スクリプトに追加。デーモン起動してからソケット作成まで時間がかかるので3sほどsleepする。
# cat /etc/init.d/courier-authdaemon



・・・
    $daemonscript start
    sleep 3
    ln -f /var/run/courier/authdaemon/socket /var/spool/postfix/var/run/courier/authdaemon/socket

・authdaemonのソケットをauthdaemonとpostfix両方で使用できるようにする

authdaemonのソケットをauthdaemonとpostfix両方で使用できるようにする。
(postfixはchrootするのでこのような工夫が必要となる)
上記の取消線で消した情報のようにソケットのハードリンクを行うのはスマートでないのでこちらに変更した。


mkdir -p /var/spool/postfix/var/run/
mv /var/run/courier /var/spool/postfix/var/run/
ln -s /var/spool/postfix/var/run/courier /var/run/courier

・エイリアス設定

# cat /etc/aliases

mailer-daemon: root
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root

7.Postfix設定

・courier-authdaemonの再起動

# /etc/init.d/courier-authdaemon restart

・Postfixの再起動

# /etc/init.d/postfix restart

これでSMTP認証も使用できるようになった。認証方式は「PLAIN」「LOGIN」方式、SSLを使用するようにして通信が暗号化されるようにする。ここで使用した証明書はいわゆる「オレオレ証明書」であることに注意。今回使用するSSLは暗号化が目的なのでサーバ証明は行わない。

8.Postfix + バーチャルドメイン

今回は必要がなかったので設定しなかったが MySQLやPostfix Adminと組み合わせるとバーチャルドメインにも対応できる。
参考:
Postfix バーチャルドメインホスティング Howto
Postfix+MySQL+Postfix AdminによるバーチャルSMTPサーバの構築

また他のバーチャルドメインに対応するための組み合わせについても調べてみた。

  1. postfix + courier + mysql + postfixadmin(上記の参考URL参照)
  2. postfix + dovecot + mysql + postfixadmin
  3. postfix + (qmail + vpopmail) + qmailadmin
  4. postfix + V.A.P.E.S <-これは使用例がほとんどない

3についてはローカル配送をqmail + vpopmailで行うようである。qmailから移行する人はこの選択肢もありかも知れない。

9.ついでにimap, squirrelmail

・courier-imapインストール

# aptitude install courier-imap courier-imap-ssl

squirrelmailのインストール

# aptitude install squirrelmail
# /usr/sbin/squirrelmail-configure
設定例は以下参照。
玄箱 Debian で WebMail[SquirrelMail編]

ApacheのDigest認証、一部ファイルは認証しない設定方法

2009年11月26日 木曜日

ApacheのDigest認証設定を行ったのでそのメモ。

1.ユーザ登録

 レルム名:test_realm
 ユーザ名:admin

# htdigest -c /etc/httpd/.htdigest 'test_realm' admin

2.httpd.conf設定

訳あって「/hoge/noauth.php」のみ認証を行わないように設定する。

<Directory /var/www/hogehoe/html/ >
    Options None
    Order allow,deny
    Allow from all
    AuthType Digest
    AuthName "test_realm"
    AuthUserFile /etc/httpd/.htdigest
    Require user admin
</Directory>

<Location /hoge/noauth.php >
    Satisfy any
</Location>

「Satisfy any」の意味は以下の通り。引用元

デフォルトの動作 (All) はクライアントがアドレスによる アクセス制限を満たし、かつ正しいユーザ名とパスワードを入力することを 要求します。Any では、クライアントはホストの制限を満たすか、 正しいユーザ名とパスワードの入力をするかをすればアクセスを許可されます。

Debian(lenny)にproftpdインストール・設定

2009年11月4日 水曜日

1.基本ポリシー

  • 特定ユーザのみFTPアクセス可能
  • 特定ディレクトリより上位の階層へのアクセス不可
  • LIMITディレクティブでなくTcpWrapperによるIPアドレス制限

2.proftpdのインストール

xinetd経由で使用する。

$ sudo aptitude install xinetd
$ sudo aptitude install proftpd
$ cat /etc/xinetd.d/ftp
service ftp
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = root
        log_on_success += DURATION USERID
        log_on_failure += USERID
        server          = /usr/sbin/proftpd
}
$ sudo /etc/init.d/xinetd restart

3./etc/proftpd/proftpd.confの設定

adminユーザは /var/www/htmlをホームとする。
それ以外のユーザはデフォルトホーム(/home/hogeなど)。
許可するユーザはadminとadmin2。

・・・
DefaultRoot /var/www/html admin
DefaultRoot ~
・・・
<Limit LOGIN>
  Order allow,deny
  AllowUser admin,admin2
  Deny all
</Limit LOGIN>

注意しなくてはいけないのが、以下のようにIPアドレス制限と組み合わせると「または」になってしまう。
しかもapacheのIP制限と記述が似ているがproftpdの場合、条件にマッチした時点で評価終了となりapacheとは動作が異なる。

<Limit LOGIN>
  Order allow, deny
  Allow from 192.168.0.0/24
  Deny from all
</Limit LOGIN>

つまり、「admin,admin2」からのアクセスまたは「192.168.0.0/24」からのアクセス許可となる。
mod_ifsessionなどと組み合わせれば「あるユーザを特定の IP アドレス範囲からだけログインできるように制限できる」らしい。参考
めんどいのでTcpWrapperでIPアドレスの制限は行う。

4.TcpWrapperによるアクセス制限

すべて拒否してから、許可するサービス、IPを記述。

/etc/hosts.deny

ALL: ALL

/etc/hosts.allow

sshd: 192.168.0.0/255.255.255.0
proftpd: 192.168.0.0/255.255.255.0 192.168.1.0/255.255.255.0

PASV(パッシブモード)対応

PASV(パッシブモード)に対応できるようiptables設定。

# modprobe nf_conntrack_ftp
# cat /etc/modules
・・・
nf_conntrack_ftp

※kernel-2.6.20から、ip_conntrack*関連が nf_conntrack*に置き換わっているので注意。

6.接続拒否ユーザの設定

/etc/ftpusersに接続を拒否するユーザを記述。これはPAMの段階で拒否される。/etc/pam.d/proftpdをみると以下の記述がある。

auth       required     pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

Debian(lenny)にnetatalkインストール

2009年10月7日 水曜日

Debian(lenny)にnetatalkインストールしてみた。MacのTime Machineを使いたいのでnetatalk-2.0.5rc1をソースからインストールした。

以下のサイトを参考にした。
参考1
参考2
参考3

1.インストール

$ sudo aptitude install avahi-daemon cracklib2-dev fakeroot libssl-dev
$ sudo apt-get build-dep netatalk
$ wget "http://downloads.sourceforge.net/project/netatalk/netatalk/2.0.5-rc1/netatalk-2.0.5rc1.tar.bz2?use_mirror=jaist"
$ tar jxvf netatalk-2.0.5rc1.tar.bz2
$ cd netatalk-2.0.5rc
$ ./configure --prefix=/usr/local/netatalk --enable-debian
$ make
$ sudo make install

2.AppleVolumes.defaultの設定

/usr/local/netatalk/etc/netatalk/AppleVolumes.default

:DEFAULT: maccharset:MAC_JAPANESE volcharset:UTF8 options:usedots,upriv dperm:0700 fperm:0600 cnidscheme:dbd
~

3.AppleVolumes.systemの設定

/usr/local/netatalk/etc/netatalk/AppleVolumes.system
中身を空にする。参考1に理由が書いてある。

$ cd /usr/local/netatalk/etc/netatalk
$ sudo sudo mv AppleVolumes.system AppleVolumes.system.org
$ sudo touch AppleVolumes.system

4.netatalk.confの設定

atalkdとpapdが扱う文字コードの指定だが使用しないので関係ないかな。。念のため設定。

ATALK_MAC_CHARSET='MAC_JAPANESE'
ATALK_UNIX_CHARSET='UTF8'

5.atalkd起動

起動するとエラー発生。

$ sudo /etc/init.d/atalk start
Starting Netatalk services (this will take a while): nbp_rgstr: Connection timed out
Can't register loach:Workstation@*

複数NICが存在するのが原因らしい。atalkd.confにeth0のみ登録。起動成功!atalkd.confってAppleTalk用の設定ファイルだと思うのでAppleTalk自体を無効にする。OS9は使わないのでAppleTalkはいらんでしょ。
/usr/local/netatalk/etc/netatalk/netatalk.conf

ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no

CNID_METAD_RUN=yesはcnid_metadデーモンを有効にするってことらしい。AppleVolumes.defaultでcnidscheme:dbd(cnid_metad経由でのアクセス)となっているのでこれは有効にしないといけない。
CNID (Catalog Node ID)はファイルやフォルダにつけられている管理ID。cind_metadはCINDを管理するデーモン。cnidscheme:cbdとかするとcind_metadを経由せず直接CNIDをデータベースに書き込む。cnidscheme:dbdが安定しているのでお勧めらしい。

あれ??/etc/init.d/atalk stopを行うと以下のエラーでatalkdが終了しない。

Stopping Netatalk Daemons: afpd cnid_metad papd timelordstart-stop-daemon: stat /usr/local/netatalk/sbin/timelord: No such file or directory (No such file or directory)

とりあえず、timelord(使わないが)もインストール

$ cd ~/src/netatalk-2.0.5rc1/contrib
$ sudo make install

終了も正常に行われた。

6.Macから接続

移動ー>サーバへ接続で「afp://192.168.1.1」などと指定。接続を確認。

サイドバーからnetatalkサーバを見えるようにするにはavahi-daemonの設定を行う。/etc/avahi/services に、afpd.service というファイルを作り、以下の内容にする。ちなみにavahi-daemonとはBonjour互換のサービスである。

/etc/avahi/services/afpd.service

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
</service-group>

netatalkサーバではsambaも動作している。netatalk上のホスト名とNetBios名が同じだと問題がある模様。Finderのサイドバーで、Samba接続なのに「CRT」アイコンでなく「Cinema Display」アイコンになったりする。netatalk接続なのかsamba接続か分からないのでsambaのNetBios名を変更する。

/etc/samba/smb.conf

netbios name = hogepage_samba

7.Time Machine用ボリュームの設定

/usr/local/netatalk/etc/netatalk/AppleVolumes.defaultに以下追加

~/TimeMachine "Time Machine" options:usedots,upriv,tm

8.MacのTime Machineの設定

以下参考にした。
http://blog.fiilse.com/2008/04/timemachine.html
ターミナルから以下を実行。

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

これを行うことで、Time Machine設定時にnetatalkサーバを選択することができる。
※netatalk-2.0.5rc1はTimeMachineに対応しているため、上記は必要ありませんでした。HAT様コメントありがとうございますm(_ _)m

9.Time Machineに使用する容量指定

2009-11-17追記:
アプリケーション→ユーティリティ→ディスクユーティリティでTimeMachineで使用するディスクの容量を制限できるという情報をどこかでみたのでやってみた。ファイル→ディスクイメージを開くを選んで、Time Machine/hoge.sparsebundleを開く。イメージサイズの変更を行ったが以下のエラーが発生し容量変更できなかった。

2009-11-18 03:02:17 +0900: “hoge.sparsebundle”のサイズ変更は、エラー 22 のため失敗しました。引数が無効です

マウントしてパティーションのサイズ変更後にイメージサイズの変更を行ったら出来たっぽい??でもTimeMachineの設定画面上のディスクサイズは元のままだorz
250GBに設定したのでこのサイズを使用しきるまでは様子を見てみる。。

2010-08-31追記:
netatalk-2.1.3をインストールしなおした。
設定は2.0.5のときと変わらない。
ただし、/etc/init.d/netatalkのスクリプト中で、/etc/default/netatalkの設定内容を読み込むようになっているので以下を行った。

ln -s /usr/local/netatalk/etc/netatalk/netatalk.conf /etc/default/netatalk

また、ログを出力したいため、以下の設定を行った。
/usr/local/netatalk/etc/netatalk/afpd.conf

- -setuplog "default log_info /var/log/afpd.log"

Debian(lenny)にSambaインストール

2009年10月6日 火曜日

1.Sambaインストール

$ sudo aptitude install samba

2.Samba(/etc/samba/smb.conf)設定

/etc/samba/smb.conf

[global]
  unix charset = utf-8
  dos charset = CP932
  display charset = utf-8
・・・
・・・
[homes]
 ・・・
  read only = no

これだけやれば、通常使用はOK

Debian(lenny)でpppoe

2009年10月1日 木曜日

1.pppoeインストール

Debian(lenny)にpppoeをインストール。参考

$ sudo aptitude install pppoe pppstatus pppoeconf
$ sudo pppoeconf

/etc/ppp/peers/dsl-providerの以下の箇所修正。これはBフレッツの設定。他の回線使用時は値が異なることもあるので注意。

mtu 1454

パケットのルーティングを有効にする。

echo 1 > /proc/sys/net/ipv4/ip_forward

/etc/sysctl.confに以下の設定を行う。

net.ipv4.ip_forward = 1

2.iptablesの設定

FORWARDとINPUTは基本DROP。必要なパケットのみACCEPTする。
ユーザチェインは見通しが悪くなる気がする(オレだけ!?)ので使わない。

/etc/network/if-pre-up.d/iptables-up

#!/bin/sh

# chain 削除
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F POSTROUTING

# user chain 削除
iptables -X
# packet counter 初期化
iptables -Z

# 基本ポリシー設定
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# loインターフェースからのパケットはすべてACCEPT
iptables -A INPUT -i lo -j ACCEPT

# LANからはすべてACCEPT
iptables -A INPUT -s 192.168.1.0/255.255.255.0 -i eth0 -j ACCEPT

# 必要そうなICMPだけACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type destination-unreachable -i ppp0 -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type source-quench -i ppp0 -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type time-exceeded -i ppp0 -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type parameter-problem -i ppp0 -j ACCEPT

# 必要なサービスだけACCEPT
iptables -A INPUT -p udp -m udp --dport 53 -i ppp0 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 53 -i ppp0 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -i ppp0 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -i ppp0 -j ACCEPT

# 関連パケットはACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# ローカルからのFORWADはACCEPT
iptables -A FORWARD -s 192.168.1.0/255.255.255.0 -i eth0 -j ACCEPT
# 関連パケットはACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

# マスカレード
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o ppp0 -j MASQUERADE

インターフェースダウン時のスクリプトも用意
/etc/network/if-post-down.d/iptables-down

#!/bin/sh

# 基本ポリシーはすべてACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# chain削除
iptables -F
# user chain 削除
iptables -X
# packet counter 初期化
iptables -Z

Debian(lenny)でHDDの温度をみたい

2009年9月27日 日曜日

HDDの温度を見たいのでSMARTの情報を参照できるツールをインストール。

$ sudo aptitude install smartmontools
$ sudo cat /etc/default/smartmontools
・・・
start_smartd=yes
・・・
$ sudo smartctl -a /dev/sda
・・・
194 Temperature_Celsius     0x0002   176   176   000    Old_age   Always       -       34 (Lifetime Min/Max 25/48)
・・・
(現在の温度が34℃であることがわかる。)

Debian(lenny) でチップの温度やCPUの温度を見たい!

2009年9月19日 土曜日

Debian(lenny)でチップの温度やCPUの温度を参照できるようにする。。マザーボードはD945GCLF2。Atom Dualのやつ。

1.lm-sensorsのインストール

$ sudo aptitude install lm-sensors
$ sudo sensors-detect
・・・・
(全部YESにする)
・・・・
To load everything that is needed, add this to /etc/modules:

#----cut here----
# I2C adapter drivers
i2c-i801
# Chip drivers
smsc47m192
smsc47m1
#----cut here----

Do you want to add these lines automatically? (yes/NO)yes
(これで/etc/modulesに勝手に記述される。)

(モジュールの有効化)
$ sudo modprobe i2c-i801
$ sudo modprobe smsc47m192
$ sudo modprobe smsc47m1

2.sensorsコマンド実行

$ sudo sensors
smsc47m192-i2c-0-2d
Adapter: SMBus I801 adapter at 2000
+2.5V:       +2.51 V  (min =  +0.00 V, max =  +3.32 V)
VCore:       +1.15 V  (min =  +0.00 V, max =  +2.99 V)
+3.3V:       +3.32 V  (min =  +0.00 V, max =  +4.38 V)
+5V:         +5.05 V  (min =  +0.00 V, max =  +6.64 V)
+12V:       +12.06 V  (min =  +0.00 V, max = +15.94 V)
VCC:         +3.32 V  (min =  +0.00 V, max =  +4.38 V)
+1.5V:       +1.56 V  (min =  +0.00 V, max =  +1.99 V)
+1.8V:       +1.77 V  (min =  +0.00 V, max =  +2.39 V)
Chip Temp:   +41.0°C  (low  = -127.0°C, high = +127.0°C)
CPU Temp:    +48.0°C  (low  = -127.0°C, high = +127.0°C)
Sys Temp:    +44.0°C  (low  = -127.0°C, high = +127.0°C)
cpu0_vid:   +2.050 V

smsc47m1-isa-0680
Adapter: ISA adapter
fan1:          0 RPM  (min = 1280 RPM, div = 4)  ALARM
fan2:       4636 RPM  (min = 1280 RPM, div = 4)