|
| ||||||||
|
巻き戻し中。
|
|
2005-09-09(金) 途中経過
_ カーボンタンク
製作が進み始めたようだ。
一昨日のReplyだと底面は出来ていて上はこれからと言うところだったのが、パーツは両方とも出来たようだ。
写真は、型から出したばかりの上部。
これから、上下を接合して漏れないように確認、塗装に進むとのこと。
丁度自分の誕生日プレゼントぐらいで届くかな。
2007-09-09(日) 続き・・・
_ 違いは?
4.9と6.2で案外困ること。。。
sendmailは自分の設定したヤツに入れ換えた。*1
apacheも使っていないssl関係を抜いて再コンパイル。
デバイス名の修正程度は覚悟の内だが、困った(と言うか予想外)だったのは、
よく使われるtarコマンドのオプションが変わってしまったこと。
結構ツールにも仕込んであるので要注意だな。
sshはキーの作成が必要だと面倒だ。一応動いている振りしてるけど。
でもって、あらかたの動作確認が済んだのでSATAをもう一基繋いでバックアップ。
また、昨日の寝ぼけた状態を忘れてfdisk/partitonで悩むこと1時間。
il||li▄█▀█●il||li
*1 当然だ。saslとか必要。
_ 処理能力
今回はP4-3GでHTTも有効。
apacheのmakeで時間を見るとかなり速くなっている。
SpeedStep有効にしてあるので、仕事のない時はヒートシンクもぬるい程度。
案外良さそうだ。
それにしても、6.2のkernelのコンパイルは重いなぁ。
P3でやったらお茶飲んでタバコ吸って帰ってきてもまだやっていそうだ。
_ シリアル
結局1Uケースを加工するのは今後のために良くないし、リアパネルだけで何とかしてみた。
丁度、パラレルポートとLAN/USBのコネクタの間にシリアルコネクタがピッタリ!
アルミ板を加工してパラレルと共締め。*1
バックパネルはハンドニプラでチョキチョキ。
これでUPSもおk!
*1 板を挟んだ側は少し短いネジにして高さもバッチリ。
2008-09-09(火) 救急の日
_ だったのね
福岡の仕事が終わって、折尾駅から電車に乗ろうとしたら( ゜Д゜)ヒョエー。
ホーム行きのエレベーターに乗ったら、何だかブラバンの音がする。
2階に付いたら、消防の音楽隊がホームで演奏しているど真ん中。
え、荷物引っ張って作業着のおいら、こんな所を通過していいのかしら??
(°°;))。。オロオロッ。。・・((;°°)
_ 熊本
博多から特急で90分。
折尾から博多は特急で30分強。
合計2時間ですな。
結局社内で報告書書いたり、遠隔から鯖を弄ってあっという間。
いや、7時前に着いたから繰り出そうと思っていたのだが、ベッドにごろっと転がったら朝の4時。
晩飯すら食い忘れとる。。。
_ BOINC
メイン鯖は50%程度でチョロチョロと火を焚いていたのだが、どうも6.2.14にしてからRAIDがTimeoutエラーを吐く。
やはり、メモリ認識量がマイナスって時点で「マイナスのマイナスはプラスじゃろ?」って「-60%」とかやっていたのはあまり宜しくないようだ。
メモリリークくさい。
とりあえず昨晩停止させて、色々検討。
以前のFreeBSDportsで入れた5.10.32は既に戻れない。
何故かコンパイルでエラーが出るのだ。
多分、関連するlibが更新されてしまったからだろうな。
で、調べた結果Linuxエミュでそのまま5.10.xのバイナリを走らせようとケテーイ。
まずはおいら鯖で実験。
但し、5.10.xでも5.10.45はGLIBC_2.4が必要なのでFreeBSD7.0以降にFedora6以降のエミュを入れないと動かないらしい。
で、5.10.43を拾ってきてここのページを参考に、fstabへ
linproc /usr/compat/linux/proc linprocfs rw 0 0
を追加したらあっさり動く。
「ca-bundle.crt」が/var/db/boincに無くて怒られたが、ここのQ&Aから拾ってきた。
後でよく見たらプログラムと同じディレクトリに落ちて他のは(-ω-#)y-~~~~ごにょごにょ。
開始と終了のスクリプトはちょっと改変が必要。
終了時の処理はちょっとやっつけ。
これで普通のセッティングで動くし、計算出来ない宿題もなくなった。お米以外の計算も頼むわ。
エラーは暫く要監視だな。
悔しいのはCPU数もメモリも正しく認識しているけど、エミュレーション故にベンチマークで見ると能力は以前の70%程度に落ちること。
そのうちちゃんと動くネイティブ版portsが出ることを期待しますかね。
【/usr/local/bin/rc.d/boinc】
#!/bin/sh # # $FreeBSD: ports/net/boinc-client/files/boinc.sh.in,v 1.4 2006/03/15 10:44:46 pav Exp $ # PROVIDE: boinc # REQUIRE: LOGIN # KEYWORD: shutdown . /etc/rc.subr name="boinc" rcvar=`set_rcvar` boinc_user=root # boinc_user=boinc boinc_home=/home/boinc # boinc_home=/var/db/boinc boinc_flags="-dir ${boinc_home}" program_file=run_client # program_file=boinc_client program_path=/usr/local/BOINC/${program_file} syslog_facility=daemon.err load_rc_config $name : ${boinc_enable="NO"} start_cmd=boinc_start stop_cmd=boinc_stop boinc_start() { if checkyesno boinc_enable then if [ ! -x ${program_path} ] then logger -sp ${syslog_facility} -t ${program_file} \ "unable to start: ${program_path} is missing." exit 72 fi if ps axo ucomm | egrep ${program_file}; then logger -sp ${syslog_facility} -t ${program_file} \ "unable to start: ${program_file} is already running." exit 72 fi echo "Starting BOINC client." sysctl kern.elf32.fallback_brand=3 idprio 31 su - ${boinc_user} -c "${program_path} ${boinc_flags} >/dev/null &" fi } boinc_stop() { # killall ${program_file} 2> /dev/null killall boinc 2> /dev/null } run_rc_command "$1"
_ わし@管理者 [今確認したら、5.10.32もFreeBSD版はswap量が見えてない。エミュだとちゃんと見える。。ぁゃιぃ 但し、..]
2010-09-09(木) 誤作動?
_ 監視
pingdomからの通知、9/4から9/9までずっと落ちていたという案内。
意味ワカンネ・・・∩( ・ω・)∩
もちろん、今までちゃんと運用できていましたけど(゜Д゜ )ナニカ?
pingdomの20ヶ所近くあるセンサのうち、ワシントンDCのAPだけはFirewallで弾いているので仕方が無いのだけど、何でそう判別したのか覚えていないなぁ。
(・ω・ )モニュ?
2011-09-09(金) ハンダ
_ ラスベガスの土産?
CTFでLVに行ってきた会社の人が買ってきた面白そうなブツ。
ハンダ付けが必要なアイテムなので、頼まれた。
ガスのコテは工具セットと共に会社の引き出し常備。
一応電気のコテと、コテ台とハンダ吸い取り器も家から持参。*1
スルーホールもハンダ揚げされてるのでキレイにできるなぁ。
モノはRJ45コネクタが4個と、コンデンサが2個というシンプルな回路。
出来上がりはこんな感じ
*1 帰りに職質されたらアウトだなw
_ アイデア商品
ネットワークのパケットモニタするのに、今なら
・SW-HUBでミラーポート設定して引っ張り出す
・ダムHUBを挟む
といった対応が必要なわけだけど、ミラーはできないスイッチもあるし、挿入するにしても高価。
ダムHUBって今は市場にあまり出てないのね。
あってもやたらに高価。
前職で2台ぐらい寄贈して来ちゃった。
もったいない(;´Д`)
で、今回作ったのは、HUB側、端末側それぞれのTxラインからC結合で信号引っ張り出して別々のモニタポートのRxに出してくれるタップ。
多分、長いケーブルとかだと遠端側はキャプチャできるかぁゃιぃ。
でも1,000円以下で作れるし、条件が良ければ以下の方法でダムHUBの代わりになる。
・モニタポートは上り/下りで別々。
・なのでUSBとかでLANポートを2口にして、両方をキャプチャ/データをマージ。
多分、損失や基板のパターンの品質から100Mpbsがせいぜいだと思うけど、お勉強用にはお手軽でよろしいんじゃないかと。
つか、GbEは4対8芯使うからダメだね。
お、10Mbpsだけど随分安いな。。。
↑買うならこれだな。スイッチだけどちゃんとフラッディングでフレームコピーできるスイッチがあるしGbEまでおk。
ちなみに↓IDSハブとか馬鹿みたいに高くてふざけんなって感じだわw
2012-09-09(日) 国別
_ IPリスト
自動でipfwに突っ込むツール作成完了。 引数にipfwのルール番号と2文字の国コード入れればおk。 APNICのリストは、wgetのspiderモードで"Last-Modified"が変わったときだけ落とすようにした。 IP+個数をCIDRに変換するperlはこちらのスクリプトを流用。*1 これね 【convert_cidr.pl】# convert_cidr.pl #!/usr/bin/perl # # 各RIRのIPアドレスデータベース・ファイルより各レコードの開始IPとホスト数をCIDR表記に変換 # # ARIN: ftp://ftp.arin.net/pub/stats/arin/delegated-arin-latest # RIPE NCC: ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest # APNIC: ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-latest # LACNIC: ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest # AfriNIC: ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest # # 使い方 # /usr/bin/perl convert_cidr.pl < delegated-arin-latest > output.txt # # 一行出力 sub printrule { my $Country=$_[0]; my $Address=$_[1]; my $AddressCount=$_[2]; # my $SubnetMaskBinCnt = sprintf "%b", scalar($AddressCount); $SubnetMaskBinCnt =~ s/1//g; my $SubnetBit = (32 - length($SubnetMaskBinCnt)); # # calc subnet mask my $SubnetMaskBit=(1 << 31); my $SubnetMaskVal=0; for($j=0; $j<$SubnetBit; $j++) { $SubnetMaskVal|=$SubnetMaskBit; $SubnetMaskBit>>=1; } my $SubnetMaskVal1=($SubnetMaskVal >> 24)&255; my $SubnetMaskVal2=($SubnetMaskVal >> 16)&255; my $SubnetMaskVal3=($SubnetMaskVal >> 8)&255; my $SubnetMaskVal4=$SubnetMaskVal&255; # print "$Country\t$Address/$SubnetBit\n"; } # while(で、同じディレクトリに下記のshellを置いてcronで叩く。){ @TextArray = split(/\|/, $_); # # IPv4のみパース実行 if (lc(@TextArray[2]) eq "ipv4") { # # ホスト数を10進数から2進数に変換 $SubnetMaskBin = sprintf "%b", scalar(@TextArray[4]); $SubnetMaskBinCnt = $SubnetMaskBin; $SubnetMaskBinCnt =~ s/0//g; # # ドットアドレスをドットで分割 @AddressArray = split(/\./, @TextArray[3]); if($#AddressArray < 3){ next; } # # 要素数を判定し代入 $AddressValue = scalar(@AddressArray[0]) << 24; $AddressValue |= scalar(@AddressArray[1]) << 16; $AddressValue |= scalar(@AddressArray[2]) << 8; $AddressValue |= scalar(@AddressArray[3]); # # 2進数に変換のホスト数の長さ(バイト数)繰り返す for($i=0; $i 0){ $AddressStr = sprintf "%d.", ($AddressValue >> 24) & 255; $AddressStr .= sprintf "%d.", ($AddressValue >> 16) & 255; $AddressStr .= sprintf "%d.", ($AddressValue >> 8) & 255; $AddressStr .= sprintf "%d", $AddressValue & 255; # while($AddressCount > 0){ $AddressCountSub = $AddressCount; # while(($AddressValue & ($AddressCountSub - 1)) > 0){ $AddressCountSub /= 2; } # $AddressStr = sprintf "%d.", ($AddressValue >> 24) & 255; $AddressStr .= sprintf "%d.", ($AddressValue >> 16) & 255; $AddressStr .= sprintf "%d.", ($AddressValue >> 8) & 255; $AddressStr .= sprintf "%d", $AddressValue & 255; # printrule(@TextArray[1], $AddressStr, $AddressCountSub); # $AddressValue += $AddressCountSub; $AddressCount -= $AddressCountSub; } }else{ $AddressStr = sprintf "%d.", ($AddressValue >> 24) & 255; $AddressStr .= sprintf "%d.", ($AddressValue >> 16) & 255; $AddressStr .= sprintf "%d.", ($AddressValue >> 8) & 255; $AddressStr .= sprintf "%d", $AddressValue & 255; $AddressCount = 2 ** (length($SubnetMaskBin) - $i - 1); # printrule(@TextArray[1], $AddressStr, $AddressCount); # $AddressValue += $AddressCount; } } } } }
【IP-country-BL.sh】
*1 あのページ、そのまま表示をコピーしてもエスケープされてる文字列があるので動きません。ソース見てコピーしないとね(;´Д`)
#!/bin/sh # WGET_CMD="/usr/local/bin/wget" WGET_URL="http://ftp.apnic.net/pub/stats/apnic/delegated-apnic-latest" TIME=`date +%Y%m%d%H%M%S` LOG_DIR="/var/log/ipfwcount" IFNAME="msk0" IPFW_CMD="/sbin/ipfw" C_DIR="/usr/local/etc/IP-country-list" PERL_CMD="/usr/bin/perl" # # Parameter check if [ "$1" = "" ];then echo 'Usage: IP-country-BL.sh [IPFW-number] [Country code(2byte)]' exit 1 fi if [ "$2" = "" ];then echo 'Usage: IP-country-BL.sh [IPFW-number] [Country code(2byte)]' exit 1 fi # Log dir check if [ ! -d $LOG_DIR ];then mkdir $LOG_DIR fi # Set variable IPFWNUM=`echo $1` COUNTRY=`echo $2` # File move if [ -f $C_DIR/IP-country-BL_$COUNTRY.sh ];then mv $C_DIR/IP-country-BL_$COUNTRY.sh $C_DIR/IP-country-BL_$COUNTRY.sh.prev else touch $C_DIR/IP-country-BL_$COUNTRY.sh fi # Get IP list from APNIC with checking diff if [ -f $C_DIR/delegated-apnic-latest ];then $WGET_CMD -S $WGET_URL --spider -o $C_DIR/wgetlog.tmp TIME_STAMP=`grep "Last-Modified" $C_DIR/wgetlog.tmp|awk '{print $4$5$6$7}'` TIME_STAMP_LATEST=`grep "Last-Modified" $C_DIR/wgetlog.latest|awk '{print $4$5$6$7}'` echo $TIME_STAMP echo $TIME_STAMP_LATEST if [ $TIME_STAMP != $TIME_STAMP_LATEST ];then rm -f $C_DIR/delegated-apnic-latest $WGET_CMD -S $WGET_URL --spider -o $C_DIR/wgetlog.latest $WGET_CMD $WGET_URL -O $C_DIR/delegated-apnic-latest fi else rm -f $C_DIR/delegated-apnic-latest $WGET_CMD -S $WGET_URL --spider -o $C_DIR/wgetlog.latest $WGET_CMD $WGET_URL -O $C_DIR/delegated-apnic-latest fi # Exec convert $PERL_CMD $C_DIR/convert_cidr.pl < $C_DIR/delegated-apnic-latest > $C_DIR/CIDR.txt /usr/bin/grep $COUNTRY $C_DIR/CIDR.txt|\ awk -v IPFWCMD=`echo $IPFW_CMD` -v IPFWNUM=`echo $IPFWNUM` -v IFNAME=`echo $IFNAME` '{ print IPFWCMD" add "IPFWNUM" deny ip from "$2" to any via "IFNAME }' > $C_DIR/IP-country-BL_$COUNTRY.sh # Check diff for each countries /usr/bin/diff $C_DIR/IP-country-BL_$COUNTRY.sh $C_DIR/IP-country-BL_$COUNTRY.sh.prev DIFF=`echo $?` if [ $DIFF != "0" ];then $IPFW_CMD -a list |grep 00$IPFWNUM > $LOG_DIR/ipfwcount_$COUNTRY.log.$TIME $IPFW_CMD delete $IPFWNUM /bin/sh $C_DIR/IP-country-BL_$COUNTRY.sh exit 2 fi exit 0
_ でもって
crontabにはこんな感じで突っ込むと、中韓さよなら(´ー`)/~~
############ IP blacklist by Country ############# 5 2 * * * /usr/local/etc/IP-country-list/IP-country-BL.sh 170 CN 7 2 * * * /usr/local/etc/IP-country-list/IP-country-BL.sh 171 KR
_ 念のため
再起動時も既存のリストを反映するように、下記をrc.localに]追記。
/bin/sh /usr/local/etc/IP-country-list/IP-country-BL_CN.sh /bin/sh /usr/local/etc/IP-country-list/IP-country-BL_KR.sh
2017-09-09(土) 交換手順
_ どうせ
ESXi入れ直し確定なので、新しいディスクでRAID再構築から。
というか、そもそも交換手順ミスってるし(;^ω^)
密林で2本ポチった。
前回は東芝2発だったが、今回はやはり日立にする。
2.5インチの1TB、ずいぶん安くなったなぁ。
Tweets by RC31E | |||||||||
| |||||||||
| |||||||||
|
_ たか@あすは籾すり [月末から最近にかけて会社の動向が騒がしい。書けないけど。]