VMWareのBIOS画面
VMWareの仮想マシンを起動してブートメニューを出したり、BIOS画面を出したりと、メニュー画面を出したいんだけど、速すぎてESCキーを押すのが間に合わないんじゃボケッという方に(2ch情報)
*.vmx(構成ファイル)へ以下を追加
5秒 (5000ミリ秒) 待つ
bios.bootDelay = "5000"
必ずBIOSメニューに入る
bios.forceSetupOnce = "TRUE"
VMWareの仮想マシンを起動してブートメニューを出したり、BIOS画面を出したりと、メニュー画面を出したいんだけど、速すぎてESCキーを押すのが間に合わないんじゃボケッという方に(2ch情報)
*.vmx(構成ファイル)へ以下を追加
5秒 (5000ミリ秒) 待つ
bios.bootDelay = "5000"
必ずBIOSメニューに入る
bios.forceSetupOnce = "TRUE"
サブネットとか計算してくれるツールをたまたま発見したのでメモ
◆必要なパッケージ
yum install perl-Net-IP
◆サブネットの計算した表を表示
$ iptab +----------------------------------------------+ | addrs bits pref class mask | +----------------------------------------------+ | 1 0 /32 255.255.255.255 | | 2 1 /31 255.255.255.254 | | 4 2 /30 255.255.255.252 | | 8 3 /29 255.255.255.248 | | 16 4 /28 255.255.255.240 | | 32 5 /27 255.255.255.224 | | 64 6 /26 255.255.255.192 | | 128 7 /25 255.255.255.128 | | 256 8 /24 1C 255.255.255.0 | | 512 9 /23 2C 255.255.254.0 | | 1K 10 /22 4C 255.255.252.0 | | 2K 11 /21 8C 255.255.248.0 | | 4K 12 /20 16C 255.255.240.0 | | 8K 13 /19 32C 255.255.224.0 | | 16K 14 /18 64C 255.255.192.0 | | 32K 15 /17 128C 255.255.128.0 | | 64K 16 /16 1B 255.255.0.0 | | 128K 17 /15 2B 255.254.0.0 | | 256K 18 /14 4B 255.252.0.0 | | 512K 19 /13 8B 255.248.0.0 | | 1M 20 /12 16B 255.240.0.0 | | 2M 21 /11 32B 255.224.0.0 | | 4M 22 /10 64B 255.192.0.0 | | 8M 23 /9 128B 255.128.0.0 | | 16M 24 /8 1A 255.0.0.0 | | 32M 25 /7 2A 254.0.0.0 | | 64M 26 /6 4A 252.0.0.0 | | 128M 27 /5 8A 248.0.0.0 | | 256M 28 /4 16A 240.0.0.0 | | 512M 29 /3 32A 224.0.0.0 | | 1024M 30 /2 64A 192.0.0.0 | | 2048M 31 /1 128A 128.0.0.0 | | 4096M 32 /0 256A 0.0.0.0 | +----------------------------------------------+
◆IPの範囲をいれるとサブネット等を計算してくれる
IPの範囲でフィルタしたりするとき便利?
$ ipcount 192.168.0.0 - 192.168.10.0 192.168.0/21 192.168.0.0 - 192.168.7.255 [2048] 192.168.8/23 192.168.8.0 - 192.168.9.255 [512] 192.168.10.0/32 192.168.10.0 - 192.168.10.0 [1] 192.168.0.0/21,/23,/32 192.168.0.0 - 192.168.10.0 [2561]
◆サブネットからIPの範囲を計算してくれる
$ ipcount 192.168.0.0/16 192.168/16 192.168.0.0 - 192.168.255.255 [65536] $ ipcount 192.16.0.0/12 192.16/12 192.16.0.0 - 192.31.255.255 [1048576] $ ipcount 10.0.0.0/8 10/8 10.0.0.0 - 10.255.255.255 [16777216]
Office2003のように統合CDのようなものは作れないようで、逆にSPのファイルをUpdatesのフォルダへ放り込んでおけば起動時に適応されるみたい。
例
office2007sp1-kb936982-fullfile-ja-jp.exe /extract:"c:\temp\Updates"
でできた「Updates」の中身をオフィスのイメージの中にある「Updates」のフォルダへいれておけばOKです。
メールサーバ(Postfix)にDKIM(DomainKeys)の対応をしてみる。SPFと違い出ていくメールにも仕掛けが必要、今回はdkim-milterとdk-milterを使用する。また、稼働環境は開発環境がインストールされていないのでRPMを作成してインストールする。
SPF対応はこちら
追記(2008/06/17)
ある先からメールが来ないらしく、以下のようなログが出てたので対応
Jun 17 16:11:11 server postfix/cleanup[32502]: 41B331E789E: milter-reject: END-OF-MESSAGE from hoge.example.com[xxx.xxx.xxx.xxx]: 4.7.1 Service unavailable - try again later; from=to= proto=ESMTP helo=
ダメなメールをみるとDKIM-Signature,DomainKey-Signature,SPF が全部入るパターンなのですが、よくわからず、「dkim-milter-2.4.4 + dk-milter-0.6.0」から「dkim-milter-2.6.0 + dk-milter-1.0.0」へバージョンアップしたところ通過するようになりました。
必要なパッケージのインストール(パッケージ作成用)
yum groupinstall "Development Tools" yum install sendmail-devel openssl-devel checkinstall
ソースのダウンロード
http://sourceforge.net/projects/dkim-milter/ http://sourceforge.net/projects/dk-milter/
バイナリの作成とRPMパッケージの作成
tar xvzf dk-milter-1.0.0.tar.gz tar xvzf dkim-milter-2.6.0.tar.gz
dkim-milterにdk-milterもリンクさせる
(DomainKeysのチェックもできるようにする)
cd dkim-milter-2.6.0 ln -s ../dk-milter-1.0.0/libdk ./
設定ファイルの作成
cp site.config.m4.dist devtools/Site/site.config.m4 DomainKeysも検査するようにする define(`bld_VERIFY_DOMAINKEYS', `true') 最終行にでも追加Manページの場所を変更 define(`confMANROOT', `/usr/share/man/man')
コンパイル
sh ./Build
RPMパッケージファイルの作成
checkinstall -R
インストール
rpm -ihv /usr/src/redhat/RPMS/i386/dkim-milter-2.6.0-1.i386.rpm
dkim-milter用ユーザの作成(groupはmailにする)
useradd -g mail -m -d /var/milter -s /sbin/nologin milter chmod 755 /var/milter
秘密鍵、証明書の作成
今回は「/etc/pki/dkim-milter」に必要なファイルを作成します。
mkdir /etc/pki/dkim-milter cd /etc/pki/dkim-milter dkim-genkey -s セレクタ名 -d ドメイン名 ex) dkim-genkey -s selector -d example.com chmod 440 selector.private chown milter:mail selector.private
署名をつけるInternalネットワークのリストを設定
/etc/pki/dkim-filter/ilist 127.0.0.1 192.168.1.0/24
chmod 440 ilist chown milter:mail ilist
DNSへの設定
DNSのゾーン情報に情報を追加します。selectorの行は上のdkim-genkeyでできるselector.txtの中身をそのまま貼り付けます
_policy._domainkey IN TXT "t=y; o=~" _domainkey IN TXT "t=y; o=~" selector._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p= ~省略~" ; ----- DKIM selector for example.com
dkim-milterの起動スクリプト作成
/etc/init.d/dkim-milter
#!/bin/bash # # # dkim-milter: # # chkconfig: 2345 75 35 # processname: dkim-milter # description: dkim milter source /etc/rc.d/init.d/functions PROG=/usr/bin/dkim-filter PID=/var/milter/dkim-milter.pid SOCKET=inet:10026 #SOCKET=/var/milter/dkim-milter.socket #Socketの場合 DOMAINLIST="example.com" #カンマ区切り SELECTOR="selector" #セレクタ名 KEY="/etc/pki/dkim-milter/${SELECTOR}.private" ILIST="/etc/pki/dkim-milter/ilist" RETVAL=0 start() { echo -n $"Starting dkim-milter: " daemon --user milter \ "umask 117; $PROG -p $SOCKET -d $DOMAINLIST -k $KEY -l -P $PID -s $SELECTOR -i $ILIST" # "umask 117; $PROG -p local:$SOCKET -d $DOMAINLIST -k $KEY -l -P $PID -s $SELECTOR -i $ILIST" #Socketの場合 RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dkim-milter return $RETVAL } stop() { echo -n $"Shutting down dkim-milter: " killproc $PROG # rm -f $SOCKET RETVAL=$? echo [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/dkim-milter return $RETVAL } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) status $PROG RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|status}" RETVAL=1 esac exit;
chmod 755 dkim-milter chkconfig --add dkim-milter chkconfig dkim-milter on
/etc/postfix/main.cf
#DKIM smtpd_milters = inet:10026 #smtpd_milters = unix:/var/milter/dkim-milter.socket #Socketの場合 non_smtpd_milters = $smtpd_milters milter_default_action = accept
「milter_default_action」はdkim-milterが死んでいたときはスルーさせるため「accept」にしておく
その他
amavisとかPostfixで他のポートへも転送したりしているものもある場合は、それぞれに「smtpd_milters」の設定をはずしておかないとダメかも
smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o smtpd_milters= 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_milters= policy unix - n n - 0 spawn user=nobody argv=/usr/bin/perl /usr/local/lib/policyd-spf-perl -o smtpd_milters=
確認
DKIMに対応しているアドレス(gmailなど)とやりとりしてヘッダーにDKIMの情報があるか確認
Authentication-Results: hoge.example.com; domainkeys=pass (testing) header.sender=hoge@gmail.com Authentication-Results: hoge.example.com; dkim=pass (1024-bit key) header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; ~省略
以下のアドレスへメールを送るとチェックしてメールが返信されてくる。(SPF,DKIM,DomainKeysなどがチェックできる)
check-auth@verifier.port25.com sa-test@sendmail.net http://senderid.espcoalition.org/
参考URL
CentOS5へのメール環境構築 (2007/11/01)(TOSAKA.ORG)
CentOS5で,DKIM/SPF/Domainkeyなど使ってみる(Hizumi Blog)
dkim-milter 2.4.2へのアップデート(yellowback’s blog)
メールサーバ(Postfix)をSPF(Sender Policy Framework)の検査に対応してみる。相手にチェックさせるだけであればDNSにレコードがあるだけでいいので、DKIM,DomainKeysと比べて実装はしやすい。自身に届くメールのチェックをするにはPosftfixの「check_policy_service」でチェックするようにする。
DKIM(Domainkeys)対応はこちら
必要なパッケージのインストール
yum install perl-Mail-SPF perl-Sys-Hostname-Long
SPFのチェック用のモジュールはパッケージではないのでソースをダウンロードしてくる(perlスクリプト)
http://www.openspf.org/Softwareのあたりから、postfix-policyd-spf-perl-2.010.tar.gzをダウンロードしてくる。
ファイルの配置
tar xzvf postfix-policyd-spf-perl-2.010.tar.gz cp postfix-policyd-spf-perl-2.010/postfix-policyd-spf-perl /usr/local/lib/postfix-policyd-spf-perl
/etc/postfix/master.cf
policy unix - n n - 0 spawn user=nobody argv=/usr/bin/perl /usr/local/lib/policyd-spf-perl
/etc/postfix/main.cf(Postgreyと併用)
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023, check_policy_service unix:private/policy policy_time_limit = 3600
DNSのレコードにSPFの情報を記述(例)
spf01 IN TXT "v=spf1 +ip4:xxx.xxx.xxx.xxx/24 ~all" spf02 IN TXT "v=spf1 +ip4:yyy.yyy.yyy.yyy/24 ~all" @ IN TXT "v=spf1 include:spf01.example.com include:spf02.example.com ~all"
確認
SPFに対応しているアドレス(gmailなど)とやりとりしてヘッダーにSPFの情報があるか確認
Received-SPF: none ~ Received-SPF: pass ~ Received-SPF: softfail ~
以下のアドレスへメールを送るとチェックしてメールが返信されてくる。(SPF,DKIM,DomainKeysなどがチェックできる)
check-auth@verifier.port25.com sa-test@sendmail.net http://senderid.espcoalition.org/
<追記>
デフォルトだと、「fail」になった時に550でrejectしてしまうので、チェックだけしてスルーするように変更してみた。
< return "550 $helo_authority_exp"; --- > #return "550 $helo_authority_exp"; > return "PREPEND $helo_spf_header" > unless $cache->{added_spf_header}++; 297c299,301 < return "DEFER_IF_PERMIT SPF-Result=$helo_local_exp"; --- > #return "DEFER_IF_PERMIT SPF-Result=$helo_local_exp"; > return "PREPEND $helo_spf_header" > unless $cache->{added_spf_header}++; 371c375,377 < return "550 $mfrom_authority_exp"; --- > #return "550 $mfrom_authority_exp"; > return "PREPEND $mfrom_spf_header" > unless $cache->{added_spf_header}++; 374c380,382 < return "DEFER_IF_PERMIT SPF-Result=$mfrom_local_exp"; --- > #return "DEFER_IF_PERMIT SPF-Result=$mfrom_local_exp"; > return "PREPEND $mfrom_spf_header" > unless $cache->{added_spf_header}++;
</追記>
最近のコメント