2014年12月25日木曜日

1e100.netというgoogleの踏み絵

chrome汚染が酷いので、googleサービスを取捨選択して使用しようと思い立った。
まずchrome自体をダウンロードできなくするために、dl.google.comへのhttp、httpsアクセスを止めた。
あと広告配信を1e100.netからやっているようなので、これも止めた。
するとどうだろう。ssl通信を必要とするほぼほぼ全てのgoogleサービスにアクセスできない。
アクセスしてもタイムアウトする。iptablesがうまく動いている証拠と言えば証拠だが・・・。
慌ててsquidのログを確認すると、216.58.216.XXXを恐ろしい回数ドロップしている。
1e100.netである・・・。

1e100.netについて調べると、http://www.herdprotect.com/に行き当たった。

docs.google.com
http://www.herdprotect.com/domain-docs.google.com.aspx
dl.google.com
http://www.herdprotect.com/domain-dl.google.com.aspx

結局1e100.net(のサブドメイン)を使っているのだ・・・。
なので、iptablesで1e100.netをはじくとさっぱり繋がらなくなる。
また、docs.google.comやdl.google.comをブロックしても、同じ状況に陥る。
ただし、必要な1e100.net群をブロックしていなければ、そこそこ繋がるという不思議状況にもなる。
ワンチャンかけてdl.google.comをブロックするのもありだが、あまりお薦めはしない。
また、何回か試していると、いつも決まった1e100.net(のサブドメイン)を参照している「わけではない」ようなので、余計にたちが悪い。

結局squidでhttpのみdl.google.comや1e100.netをはじく対処で落ち着いた。
落ち着いた?気休めである。そう、問題は何も解決していない。
googleはSSLを推奨しており、わざわざhttp接続にしても、ご丁寧にhttps接続に切り替えてくれる。

https://support.google.com/drive/answer/1211661?hl=ja
で、ファイヤーウォールの設定が書いてあるが、
結局大元の1e100.netを止めてしまっては元も子もないということである。不親切。
また、
https://support.google.com/faqs/answer/174717?hl=ja
に1e100.netについて書いてある(が、日本語にならない。)

we started using a single domain name to identify our servers across all Google products

と記述されているので、まあ「そういうこと」なのだろう。
googleサービスを使うのであれば、1e100.netへのSSLアクセスは必要で、拒否することは出来ない。

そう、抵抗は無意味だ。

2014年12月20日土曜日

3wareとLSIのRAIDディスク状態情報をテキストで書き出したい>grepで複数の単語をつかんでリダイレクト。

3wareのRAIDcontroller状況は3dm2をインストールすることでブラウザ閲覧していたのだけれども、
LSIはブラウザではなく、MEGARAID STRAGE MANAGERで管理することになった。
このMegaRAID Strage Managerがすこぶる使いづらい。
外部PCからはポートを開放しないと参照できないし、何より管理PCにMegaRAID Storage Managerをインストールしなければならない。
3071,5571とか正直わざわざ開けたくない。
そこで、CUIで動く3ware CLIと、MegaRAID CLIで出した情報をテキストに書き込むシェルを書いて対応した。
MegaRAID CLIも使い勝手はかなり微妙。大文字小文字入り乱れるわ、インストール時にパス通してくれないわ・・・。
そもそも見たい情報が分かりやすく出てこない。
LSIは買収したのだから、そろそろ3wareの新商品を出してほしいものである・・・。
気を取り直して


3ware CLIについては
http://www.clustcom.com/content/view/149/32/

MegaCLIについては

http://www.maruko2.com/mw/MegaRAID%E3%81%AE%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B

http://d.hatena.ne.jp/mtkys+tech-memo/20121215/1355591665

を参考にした。

単純にほしい情報をgrepでつかんでリダイレクトさせる。
grepは"-e"で連続してつかんでくれるので、それを利用する。
まず書き出し日時をdateで書き出し。次に情報を追記する。
それをcronに突っ込むと、定期的に書き出してくれる(たとえば/etc/cron.daily/に実行権限をつけて入れておく)。
(foobarには書き出したいディレクトリを指定)

3wareは

#! /bin/sh
#書き出しファイル指定
writefile=/foobar/raidstatus.txt
#日時
date > $writefile
#スロットナンバーと、書き出したいディスク状態、ディスクデータを指定する
tw_cli show >> $writefile
#/c0のところはサーバによって違うことがあるので、必ず事前に確認する
tw_cli /c0 show >> $writefile

megaraidは

#!/bin/sh
#書き出しファイル指定
writefile=/foobar/raidstatus.txt
#日時
date > $writefile
#スロットナンバーと、書き出したいディスク状態、ディスクデータを指定する
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep -e Slot -e state >> $writefile
echo '-----------------------------------------------------'
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep -e Slot -e Raw -e Inquiry >> $writefile

以下のようなテキストファイルができあがるので、参照しやすいところに直書きだしするようにすればいい。
ただし、改行コードがLFなので、LFを正しく解釈する、たとえばワードパッドやnoeditor等で開かないと、
すごく長い一行を読まされる。

3ware CLIは以下--------------------

Wed Dec 10 00:00:00 JST 2014

Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c0    9650SE-8LPML 8         8        3       0       1       1      OK      


Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-10   VERIFYING      -       12%     256K    5587.9    RiW    ON    
u1    SPARE     OK             -       -       -       1863.01   -      OFF   
u2    SPARE     OK             -       -       -       1863.01   -      OFF   

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   1.82 TB   SATA  0   -            ST2000DM001-1CH164 
p1    OK             u0   1.82 TB   SATA  1   -            ST2000DM001-1CH164 
p2    OK             u0   1.82 TB   SATA  2   -            ST2000DM001-1CH164 
p3    OK             u0   1.82 TB   SATA  3   -            ST2000DM001-1CH164 
p4    OK             u0   1.82 TB   SATA  4   -            ST2000DM001-1CH164 
p5    OK             u0   1.82 TB   SATA  5   -            ST2000DM001-1CH164 
p6    OK             u1   1.82 TB   SATA  6   -            ST2000DM001-1CH164 
p7    OK             u2   1.82 TB   SATA  7   -            ST2000DM001-1CH164 

Name  OnlineState  BBUReady  Status    Volt     Temp     Hours  LastCapTest
---------------------------------------------------------------------------
bbu   On           Yes       OK        OK       OK       220    10-May-2014 



LSI MegaRAIDは以下--------------------


2014年 12月 10日 水曜日 10:00:00 JST
Slot Number: 0
Firmware state: Online, Spun Up
Slot Number: 1
Firmware state: Online, Spun Up
Slot Number: 2
Firmware state: Online, Spun Up
Slot Number: 3
Firmware state: Online, Spun Up
Slot Number: 4
Firmware state: Online, Spun Up
Slot Number: 5
Firmware state: Online, Spun Up
Slot Number: 6
Firmware state: Hotspare, Spun down
Slot Number: 7
Firmware state: Hotspare, Spun down
-----------------------------------------------------
Slot Number: 0
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z5XXXXHVST2000DM001-1ER164                      CC43   
Slot Number: 1
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z4XXXX4QST2000DM001-1ER164                      CC43   
Slot Number: 2
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z4XXXXGJST2000DM001-1ER164                      CC43   
Slot Number: 3
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z4XXXXABST2000DM001-1ER164                      CC43   
Slot Number: 4
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z4XXXXJJST2000DM001-1ER164                      CC43   
Slot Number: 5
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z5XXXXZ9ST2000DM001-1ER164                      CC43   
Slot Number: 6
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z5XXXXK6ST2000DM001-1ER164                      CC43   
Slot Number: 7
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z4XXXXQTST2000DM001-1ER164                      CC43   

-----------------------------------------
余談だが、SeagateのST2000DM001がとにかく悩ましい。
よく飛ぶ。というか、環境を選ぶ。
普通の環境(室温24から30度)だと、半年に数台壊れていく。壊れたHDDは東芝に換装。
逆にサーバ室(室温21度)だと年に2台程度。他社とあまり変わらず。
デスクトップ用だよね?これ・・・。

2014年12月15日月曜日

virtualboxで仮想PCが立ち上がらない、DMMとかDRMを使用したコンテンツを再生できないはKB3004394のせい。

windows7上にvirtualboxでlinuxをインストールして使っているのだけれども、どうにも立ち上がらない。

virtualboxは結構不具合があるイメージだったので、仕方ない、再インストールするか、と思い立って再インストールしたのだけれども、やはりエラーを吐いて落ちる。

おかしい、と探し回ったら
http://www.infoworld.com/article/2858014/operating-systems/botched-kb-3004394-triggers-uacs-diagnostic-tool-error-0x8000706f7-amd-catalyst-driver-fail-defende.html

だそうで。

windows updateのKB3004394が入っていると、仮想マシンを立ち上げられないようである。

対処法は、
1・まずKB3004394をコンパネ> プログラム>インストールされた更新プログラムを表示>KB3004394をアンインストール(結構時間かかる)

2・再起動

3・virtualboxをアンインストール。この際、ディスクイメージなど設定は残しておくように。ダイアログが表示される(念のため再起動)

4・virtualboxをインストール。設定を残しておいたら普通に立ち上がる

この手順が書かれた英語サイトがあったけれども失念してしまった。

また、KB3004394はDRMを使用したコンテンツの再生にも引っかかるらしく、知り合いから「DMMのコンテンツをwindows media playerで再生できない」と問い合わせられて、「もしかして」的なノリで削除して貰ったら再生できたという。

一応どれがはまったのか分からないので、その際の手順(試した順序的には実は逆だった)を書いておくが、まず間違いなくKB3004394の削除のみで対応出来そうな気がする。

1・KB3004394を削除して再起動する。これでも駄目なら2へ

2・マイクロソフトからDRMのリセットツールをダウンロードし、実行する
http://support.microsoft.com/kb/976590/ja
より、ResetDRM.exeをダウンロードし、「管理者権限で」実行する。
 詳しくはurlにて。
再起動して再生できなければ3へ

3・windows media playerコンポーネントを一度外し、再度入れる
コンパネ>プログラム>windowsの機能の有効化または無効化>メディア機能の中のwindows media playerとmedia centerのチェックを外す
>再起動
>さっきチェックを外した2つにチェックを入れる
>念のため再起動
更に、2を実行する

これで大丈夫の筈。

ざっくり見ているとwin7のみでこの問題が起きるようで、8.1だとIEの動作が軽くなるのだとか。
へえ。

他に見つけたリンク
http://d.hatena.ne.jp/wakwak_koba/20141210

もしや7に見切りを付けさせるマイクロソフトの、的な陰謀論も邪推したくなる。

2014年12月7日日曜日

ファイルサーバのスペックは高くなければならない。

「ファイルサーバ スペック」で検索すると
http://q.hatena.ne.jp/1294767892

http://oshiete.goo.ne.jp/qa/6565636.html
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1313700233
等、そんなに高いスペック要らないよ!というページが沢山出てくる。

これは

嘘。

真っ赤な嘘。

ぶっちゃけこれに騙されてATOM D525でファイルサーバを組んだら偉い目に遭わされた。
転送が遅い。
兎に角ファイルの入出力が亀のように遅い。
CPU使用率が半端なく上がる。
挙げ句の果てには熱暴走。12cmファン2基付けたのに・・・。
しようが無いから個人で引き取って個人サーバに作り替えても、やっぱり遅い。耐えられない。
意外とファイルサーバはスペックが必要なのである。
スピードを気にしないなら話は別だが、100GB、200GBなんてザラに弄るとなると、色々耐えられない。
ファイルサーバというのであれば、少なくともUSB2.0位のスピードを出して欲しいものである。

あと、サーバはサーバ用の物を使わなきゃ駄目!とか言うのも、

嘘。

本当に、嘘。

ECC?何それ美味しいの?高耐性ハードディスク?民生と同じくらい壊れるのが?
ということで、経験則とソースを織り交ぜて、実際フルスペックでファイルサーバを組むならば、というページをつくることにした。

想定環境は
・centos6.6もしくはcentos7
・30人くらいが業務として大量の動画や画像を入出力する
この2点。

CPU
・コア数が多ければ多いほど処理できる数が多くなる
http://www.hpc.co.jp/4u24d_features.html
より
ファイルサーバーのCPUコア数がNFSのプロセス数より少ないと、1つのCPUコアを複数のNFSプロセスが共有することになります。CPUコアが複数 のNFSプロセスを処理する十分な速度があれば問題はありませんが、クライアントマシンからのアクセスが非常に多くなった場合は、どうしてもその処理がボ トルネックとなり、その結果I/O性能が頭打ちになる現象が発生します。
ということで、プロセスを捌くためにマルチコアは有用。
また、
XFSは複数のスレッドやプロセスの同時アクセスに対応し、並列してI/Oを行うことが出来るため、コアの数に比例してI/O性能が向上する傾向があります。つまり同時アクセスが多ければ多いほど(CPUコア数とCPU速度の限界に達するまで)全体のI/O速度は上昇

wifipediaでは

アロケーショングループ

XFSファイルシステムは内部的に複数のアロケーショングループ英語版に分割することが可能である。アロケーショングループとは、等しいサイズの連続的なディスク領域である。1つのファイルやディレクトリは複数のアロケーショングループに跨って存在することが可能である。 それぞれのアロケーショングループが固有のinode空間と固有の空き領域を持つことで、拡張性と並列処理性が生み出される。(複数の異なるスレッドプロセスが同一のファイルシステムに同時にアクセス可能である) この特性により、メタデータの更新も並列に行うことができ、マルチプロセッサシステムやマルチコアシステムにおいて、I/O性能を向上させることができる。 ファイルシステムが複数の物理デバイスに渡るときに、この強みは発揮され、すべての物理ストレージの性能が最大限発揮される。

ということで、RHEL7(centos7)以降で標準FSとなったXFS環境には限りなく有効。


メモリ
・積めるだけ積む

http://d.hatena.ne.jp/ogawad/20130124/1358984437
メモリをたくさん載せる
→ SMB 2.1 では空きメモリがキャッシュになる
samba4ならSMB2/3対応なので、積めるだけ積んだ方が得策。
また、linuxカーネル自体が空きメモリをキャッシュとして使うので、積めるなら積めるだけ。

チップセット
・現時点だとintel 7 seriesまでが妥当。
・一応Haswell世代まで大丈夫

昔からのセオリーで枯れた技術で組むというのがあるが、最近はなかなか技術革新も早いので、2014年の終わり状況で、という前提で、
枯れた技術=intel 7 seriesチップセット(ivy-bridge世代)が間違いなく動くであろうチップセットと言い切りたい。
また、自分がソースで申し訳ないが、intel 8 seriesチップセット(i7 4770)でcentos6.5をファイルサーバとして稼働させている実績がある。
ちなみに
https://hardware.redhat.com/
で調べるのもいいが、認定品しか出ない。

ハードディスク
・SeagateとWestern Digital Greenだけはやめておく

Seagateの一連製品、およびWestern DigitalのGreen(省電力版)は避けること。
圧倒的な破損率を誇る。
http://gigazine.net/news/20140924-hdd-reliability-sep2014/
これはうちの環境でもそうで、Seagateの値頃感がある商品は特にひっかかる。
理想で買うなら今はなきHGST、もしくはWDのblackあたりか。
東芝も気になるが(HGSTの3.5インチ中国工場を取得して製造の噂)、カカクコムを見る限りだとそうでもなさそう。

NIC
・黙ってintel、もしくはRealtekにヒートシンクをつける
・PCI-X(pci express)接続で使う
365日回り続け、膨大なデータを送受信するため、ファイルサーバでなぜかハードディスクの次に破損が多い場所。
お金があるなら間違いなくintelをお薦めする。
もしお金がないのであればRealtekとなるだろうが、
http://roserogue.blogspot.jp/2014/06/lannicrealtekcentos65rpm.html
にあるような誤認識に気をつけることと、チップに小型ヒートシンクを付け、ファンを回す必要がある。
とにかく発熱し、それが重さとなって伝わってくる。
ヒートシンクをつけた場合とそうでない場合に、かなりの速度的乖離があるので是非つけておきたい。

また、NICはPCI-EXPRESSで使用すること。
PCIはパラレル接続で、何レーンあろうがGBE1枚で帯域は頭打ちになる。
http://www.avaldata.co.jp/products/y2_technology/pci-express/pci-express01.html
シリアル接続のPCI expressならその心配はない。
また、昔はpci expressに差したNICが認識しないことがあった(centos5.3とかだった気がする)が、今はそんなことがない。


--------------------------------
以下は蛇足。 民生で組むならこんな感じ。

マザーボード    13000円
Z87-PRO(V EDITION)
http://kakaku.com/item/K0000581734/
マザーはサーバ用途ならsupermicroやTYANがお勧めだが、ASUSでも結構いける。
ポイントはPCI-Express 1Xが4本なこと。4本全部GBENICでボンディングすれば相当速い、筈。


CPU    35000円
Core i7 4770 BOX
http://kakaku.com/item/K0000516805/
i5でも良い気がするが、4コア8スレッドは魅力的。

メモリ    16000円
CMV16GX3M2A1333C9 [DDR3 PC3-10600 8GB 2枚組]
http://kakaku.com/item/K0000347975/
16GB積んでおけ。

電源
G1000-MB    16000円
http://kakaku.com/item/K0000589946/
ENERMAX、CORSAIRなど良いメーカーがだいたい同価格帯で並ぶ800W以上の電源。
そこであえてLEPAを選ぶ。
一応アメリカのブランド。

ハードディスク    88000円
WD30EURX [3TB SATA600]
http://kakaku.com/item/K0000684294/
MD04ACA200BOX [2TB SATA600 7200]
http://kakaku.com/item/K0000690439/

本当はHGSTの0S03663 [3TB SATA600 7200]を手に入れたかったが、予算の都合である。
これを8台購入する。

ケース    18000円
CM Storm Trooper SGC-5000-KKN1-JP
http://kakaku.com/item/K0000316118/
スタンドアロンのサーバであれば、迷わずこれを選ぼう。
8台のハードディスク収納、冷却を考えるとこれ以外にお薦めがない。
何より一番のポイントは取っ手がついていること。


RAIDカード    90000円
MegaRAID SAS 9361-8i KIT LSI00416 [SAS/SATA/RAID]
http://kakaku.com/item/K0000601268/
チャレンジとしか言いようがない。
centosなら927Xあたりがよく文書が出てくるので、本来ならこちらをお薦め。
バッテリバックアップ電池が25000円くらい。
勿論RAIDは10で組む。
今時RAID5やRAID6で組む意味が分からない。

NIC    14000円
Gigabit CT [LAN]
http://kakaku.com/item/K0000157168/
Intel製品である。
限界まで引き出すのであれば
Gigabit ET2 Quad Port Server E1G44ET2 [LAN]
という4ポート付きのものもある(ただし4レーン用)。

締めて30万円といったところか。業務用としては安く済む部類である。
これにオムロンの正弦波UPSをくっつければ、見事にファイルサーバ。
高い!と思うならば、ここからスペックを落とせば良い。20万以下にはなるだろう。
でも最低限、いつのでも良いからcorei3、8GBのメモリ、LSIのRAIDカードの3点は押さえたい。

追記
書くのを忘れていたが、チップセットによってI/O限界が違うので、ざっくり書くと「高いマザーに越したことはない」というのも覚えておいて頂きたい。

2014年9月10日水曜日

blackberry Q10のレビュー

blackberry classicの足音が聞こえてきそうな時期だが、あえてQ10を購入した。
本体のみで$300だったので、一時期よりも格段に安くなっている。

●良い点
筐体は9900に比べてさほど大きさの違和感は無い。
むしろなさ過ぎる。

タスクの切替はスワイプで行うが、これが気持ちいい。また、blackberryHUBに登録されないアプリケーションや、
パーミッションの設定で常駐するようになっているもの以外はタスク切り替え画面で落とせる(バックグラウンドで起動しているようなことが無い)。

blackberryHUBという、windowsphoneのpeopleみたいな統合データ管理が新しく備わっており、カスタマイズも出来るので非常に使いやすい。
特にメールがすこぶる良い。

ブラウザが速い!
しかもflashの再生が出来る(更に設定でflashのon/offができる)

物理キーの安心感は強い。
英字を打つのであれば、これほど心強い端末は無い。
また、日本語についてはいうほど日本語変換に困らない。
快適とは言わない(中華フォントだし、たしかに不便に感じることもある)が、じゃあ使えないかと言われるとそうでも無い。

厳選されたクイック設定に本気を感じる

androidのアプリケーションが動く。google map(但しログインできない)やfeedlyが使えるのは便利。

カメラのシャッター音を切れる(バイブやサイレントの場合鳴らない)。
今はどうか分からないけれども、前日本では「音を鳴らさなければならない」風潮があったけど、正直必要ないと思う。
盗撮したいならそれ用のカメラ使いますわ・・・。

時計アプリが秀逸。正直これのクローンをandroidに誰か移植して欲しいくらい。時計だけでも買う価値はあると思う。

チュートリアル・ヘルプが豊富。

デバイスモニターで動作を管理できるので、不必要なアプリが立ち上がっていたらそれでバツバツ切れる。

相変わらずのガチすぎるパスワードキーパー。

物理キー(通話、トラックパッド、終話)が無いのは若干痛い。
通常操作では特に問題ないが、やはり細かいところを触る際にトラックパッドがあれば、と何度も思う。

BBVEというシステム管理ランチャー及び環境テスターが使いやすい。

それでも電池は保たない(bold9900に比べると倍近くは保つけれども)。
一日4時間の電話とブラウジング3時間で、1日保つか保たないかくらい。
因みに、全く使わなくなったbold9900は、何もしなければ3日保つので使い方次第なんだろう。

●悪い点

消せないアプリケーションがある。BBMは、トモダチが少ないのでいらないです・・・。

マップアプリは使えない。

mailの登録でしくじることがあるので、不具合があったら一度設定を消してもう一度やってみよう

やはり遅いところもある。youtubeをブラウザで再生すると、まともに再生できない。

androidアプリのパーミッション設定が出来ない。google mapを入れるか入れまいか本気で悩むことになる。

bold9900(OS7)からの移行には注意が必要。前は日本語で登録していたものを検索する際、中途半端な検索で出ていたアドレス帳が、きちんと入力しなければならなくなったので一寸面倒になった。

LEDの色替えが出来ないのは残念


目覚まし時計としては不適。タッチパネルを触って無意識に消す。

正直これだけの機能を以てしてもシェアを取れないというのは、PC/ATの隆盛と同じような感じでエコシステムが無いからなんだろう。
googleと提携する(google play乗り入れとか)なりをすることで解決するのであれば、それが一番である。
このまま消えるにしては勿体ないOS。むしろmicrosoftが買うなり提携するなりの道があるのであれば、
使った感じ思想の方向性が似ているので、高セキュリティ担当&android関係の受け皿としては最高なのに。
mapが糞なのはwindowsphoneもblackberryも同じという所も含めて。

追記
みんなblackberry好きなんですね。僕も好きですが。
他記事は以下
http://roserogue.blogspot.jp/2015/01/blackberry-os10q10pc.html

http://roserogue.blogspot.jp/2015/01/blackberry-q10tipsosonenote.html


2014年9月9日火曜日

特定のPCだけsamba認証が通らない(sambaにwindowsが繋がらない)→資格情報とNTLMv2について疑う

 また「sambaに特定のPCだけ繋がらない」問題である。
しかも複数台(勿論問題が無いPCもある)、新規で立てたサーバも繋がらないとか。
なんだそれ・・・sambaは特段変更をかけた覚えが無い。
要は変わった設定をした覚えが無いのである。
ということはクライアントを疑ってみる必要がある。

●資格情報を確認する
http://site-ichijo.net/blog/archives/date/2009/1108-220452.php
とか
http://gigasmegas.com/?p=1320
とかにやり方が書いてある通りで、資格情報をねじ込む。
もし繋がらないサーバが記憶されていた場合、一度その情報を削除し、再度登録する。
これで大抵は繋がるはず。

だがそれで終わるはずが無かった。
なんと「アドミニストレータ権限を持ってたら入れるのに、通常ユーザだと入れないsambaサーバ」があるというのである。
しかもそれが新規で立てたサーバ。

流石におかしいので、調べるとsamba3~の仕様が変更になったらしいというのが引っかかった。
http://www.atmarkit.co.jp/ait/articles/1112/16/news140.html

http://moondoldo.com/DoldoWorkz/?2000%E3%83%BBXP%E3%81%8B%E3%82%89Vista%E3%83%BB7%E3%81%B8%2F%E9%9B%A3%E3%81%97%E3%81%84%E5%86%85%E5%AE%B9

http://thinkit.co.jp/cert/tech/2/1/2.htm

●sambaの設定を編集する
上記URLに則ってsmb.confの内容を修正する。

vi /etc/samba/smb.conf
でglobal設定の中に
client NTLMv2 auth = yes

保存してsambaの再起動
service smb restart

これも奇妙な話である。だったら他のwin7PCでも絶対引っかかっている筈なのだが・・・。
だが、何故かこれで解決してしまった。
不思議。
まあ、解決しない場合はポリシーの変更をしてみるというのが手なんだろう。
セキュリティ的には拙い話なのだろうけれども。

2014年8月11日月曜日

洗剤で昆虫は死ぬのかどうか

殺虫剤にお金を使いたくなかった。
ただそれだけが理由だったのだが、洗剤やエタノールでゴキブリを殺せると目にしてしまったからにはやるしかあるまい。
ということで、洗剤やエタノールで昆虫を殺せるかどうかの実験をしてみた。
初めに結果を書くと、「殺せる」。
但し、条件が色々と付く。

まずは実験の概要から。
ビルのメンテナンスルームにヒメグモが大量発生(照明に寄ってきた蟲を捕食するためだろう)したので、対象はヒメグモとする。
http://goo.gl/RQNV7T

用意したモノ
・エタノール(消毒用。80%位)500円
・食器用洗剤(濃縮。界面活性剤35%)100円
・風呂場用洗剤(界面活性剤15%)100円
・水鉄砲(飛距離4mを謳うモノ)100円


 洗剤で虫が死ぬのは
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1025708880
な感じで気孔を界面活性剤でふさぐから。

エタノールで死ぬのも、やはり同じ理屈らしい。
http://garamoba.eshizuoka.jp/e613587.html
のように、気化させて体温を奪い、動きを止めるという効果もあるらしい。

で、実験結果。
「スプレータイプでは意味が無い」ことをまず書くべきだろう。
全ての組み合わせで死ぬ気配が無かった。
風呂場用洗剤に付随してくるスプレーで始めためしていたのだけれども、まあ、死なない。
お陰でエタノールオンリーを試すのを忘れた。
で、水鉄砲を買いに行くに至る。

本題。ではクモの場合どうだったのか。


・エタノール「無判定」
残念ながら、噴霧器でしか試さなかったので無判定。
全部に言えるが、噴霧(風呂用洗剤のアレ)は意味が無い
追記
・エタノール「死なない
確かに動きは止まるが、死に至ることは無かった。

・風呂場用洗剤「殺傷できる」
水鉄砲を片手に、逃げるところに追い打ちでさらにかける。ひたひたになるまでかける。すると死ぬ。

・食器用洗剤「殺傷できる」
同上。ただ液体量が少ないのが難点。

・エタノール+風呂場用洗剤「殺傷できる」
エタノール濃度が50%を切らない程度に風呂場用洗剤で「薄めた」ものを使用した。
どのくらいかけるかというと、やっぱり同上。

・エタノール+風呂場用洗剤+食器用洗剤「殺傷できる」
まあ、試すまでも無く死ぬ。 因みにこれが一番効果が高かったが、風呂場用洗剤は正直要らないだろう。エタノール濃度を高く保ちつつ、界面活性剤濃度は15%以上になるように配合すれば良い。

ポイントは、「ひたひたになるまで液体をかける」ことである。
まあ、考えれば分かることだったが、霧状だと効果が薄いのである。文字通り「ぶっかけ」てやることで、界面活性剤orエタノールで穴をふさぐのだ。あとはもがけばもがくほど界面活性剤やエタノールが効果を発揮し、脱脂していくだけなので、待つだけになる。
因みに死ぬまでの時間は30秒~1分くらいかかる。意外と長いので注意。

仕上げにフマキラー(5年前のやつ)を噴霧して終了した。
次からはエタノール+食器用洗剤+水鉄砲かな。
やり方を探している最中に
https://www.youtube.com/watch?v=EUunN5mNbcI
http://zenhankai.blog.fc2.com/
をみつけたので序でに貼っておく。

2014年7月3日木曜日

iptablesで特定の外部サーバへのSSL接続を制限・禁止したい

やっと念願のSSL接続を遮断することが出来た。
元々squidでフィルタリングする予定だったが、どうも透過プロキシを使用する場合はNGらしく
http://lists.debian.or.jp/debian-users/200909/msg00065.html
じゃあどうやって切るんだと言われると、iptablesくらいしか思いつかなかった。
そこで
iptables -I OUTPUT -d 31.13.64.0/18 -p tcp --dport 443 -j DROP
という感じで記述したのだけれども、結局箸にも棒にも、iptablesにも引っかからなかった。
人に聞いてみても応えてくれないし、正直お手上げだった。
というか、みんなデフォルト設定でOUTPUTはACCEPTの人が多いんですよねー・・・。

で、google先生に力一杯調べて貰って5年越し(5年間分からなかった)の回答を得た。
http://www.linkedin.com/groups/HOW-block-HTTPS-sites-32612.S.107118452
流石linkedin。実名で且つ仕事してる人たちの集まり。
Pramodさん流石すぎる。
iptables -I FORWARD -s 192.168.1.0/24 -d 31.13.64.0/18 -j DROP
FORWARDなのね・・・。
真逆の展開。というか、よく考えればその通りで、ローカルからディスティネーションへの転送だから、ああ、なるほど。
443だけ蹴りたいので、
iptables -I FORWARD -s 192.168.1.0/24 -d 31.13.64.0/18 -p tcp --dport 443 -j DROP
となる。かな。

ということで、まずはじきたいurl群を書いたファイル「denysslURL」を用意する。
で、以下のシェルスクリプトファイルを作る。
vi BANSSH.sh

#!/bin/sh
#スクリプト起動時にファイル「denyssllist」を消して再作成
rm -rf ./denyssllist
touch ./denyssllist

#########このシェルスクリプトは、必ずきちんとしたiptablesの設定を読み込んでから実行###################
#SSLをはじくurlを書いたファイル「denysslURL」を読み込んで、ipアドレスをdenyssllistに書き込む
############################
if [ -s ./denysslURL ]; then
  for dnysslurl in `cat ./denysslURL`; do
     host -W 2 $dnysslurl | grep "has address " | cut -d' ' -f4 >> ./denyssllist
  done
fi

host命令にに-W 2が入っているのは、もしurlが値を返さなかった場合(筆記ミスとか、休止したとか)、凄く待たされるので、2秒経ったら諦めるようにしているということ。
そこからの
iptables -N IPDENYSSL
iptables -A IPDENYSSL -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES IPDENYSSL]: '
iptables -I IPDENYSSL -j DROP
if [ -s ./denyssllist ]; then
  for denysslip in `cat ./denyssllist`; do
   iptables -I FORWARD -s 192.168.168.0/24 -d $denysslip -p tcp --dport 443 -j IPDENYSSL
  done
fi

みたいな。
これで安心してdropboxを蹴り出せるし、何よりLINEの認証を止められる。
LINEはサーバに繋ぎすぎ。
0点。

シェルスクリプトの突っ込み大歓迎です。多分もっと短くなるはずなので。というか、眠い・・・・・。

追記


#!/bin/sh

################################
#

mv /usr/local/sbin/denyssllist /usr/local/sbin/denyssllisttmp

############################
#change URL(need file  >>>   denysslURL
############################
if [ -s /usr/local/sbin/denysslURL ]; then
  for dnysslurl in `cat /usr/local/sbin/denysslURL`; do
     host -W 2 $dnysslurl | grep "has address " | cut -d' ' -f4 >> /usr/local/sbin/denyssllisttmp
  done
fi

#########
#
#facebook
#echo "31.13.64.0/18" >> /usr/local/sbin/denyssllist
#dropbox
echo "108.160.0.0/16" >> /usr/local/sbin/denyssllist
#LINE
echo "119.235.235.91" >> /usr/local/sbin/denyssllist

##################
#SORT&UNIQ
##################
sort /usr/local/sbin/denyssllisttmp > /usr/local/sbin/denyssllist
rm -f /usr/local/sbin/denyssllisttmp

 これはcron.dailyに読ませる

2014年6月27日金曜日

centosでメモリを確保できません(cannot allocate memory)と言われてshutdown出来ない

何故出たのかさっぱり分からないのだけれども、サーバのvnc設定をしていたら、
bash: fork: メモリを確保できません
と言われた。

シャットダウンしようと、shutdown -r nowを入れても同様。
困った。
http://d.hatena.ne.jp/rx7/20110426/p1
を参考にシャットダウンを試みる。
echo b > /proc/sysrq-trigger
で強制リブートらしいが、このサーバ、RAIDを組んでいるので流石に怖い。
下の方を見ていくと

(安全に再起動するには)

Linuxがフリーズした際に、安全にリブートするマジックSysRqキー押下の一連の流れが、Wikipediaのページに書かれていました。

    R ⇒ E ⇒ I ⇒ S ⇒ U ⇒ B
    マジックSysRqキー - Wikipedia
   
とあるので早速押してみる、が、効かない。
wikipediaの
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B8%E3%83%83%E3%82%AFSysRq%E3%82%AD%E3%83%BC
を見ると、

この手順で行えば、一部のプログラムのデータ損失を防ぎ、ファイルシステムの破損を回避することができる。

各コマンドは数秒間の時間を開けて投入しなければならない。例えば、多くのプログラムはSIGTERMシグナルを受け取るとデータの保存など処理を行い、syncやアンマウントはそれを行うためにある程度の時間を要する。

なるほど、ゆっくり押してみる。
が効かない。
いい加減飽きてきた頃に、もう一度shutdownコマンドを入れてみると、何故か通る。が、
The system is going down for reboot NOW!から一向に進まない。
ctrl+alt+delも効かない。
困ったので、とりあえずalt+f4を押すと、何故かリブートした。
意味が分からない・・・。

まあ、教訓として、sysctl.confのsysrqは1を入れておこうと思いましたとさ。。。

linux mintにmegaraid strage managerをインストールする(途中)

管理pcのlinuxmintにmegaraidストレージマネージャをインストールする。

参考は
http://www.arms-corp.co.jp/lsisupport/39-ubuntu-debian-megaraid-storage-manager

sudo apt-get install alien
でalienをインストール。
ダウンロードしてきた(バージョン情報)_Linux_x64_MSM.tar.gを解凍。
diskディレクトリに移動して
sudo alien --scripts *.rpm
で出来上がったdebファイルをインストール
sudo dpkg --install lib-utils(バージョン情報)_all.deb 
sudo dpkg --install megaraid-storage-manager_(バージョン情報)_all.deb
で終了。
バージョン情報は打つの面倒なので、tabキーで補完しよう。

再起動しないと行けないので再起動(もしくはネットワークのリスタート)。
virtualboxだとローカルに接続できず、シェルが凄いことになる。

起動は
/usr/local/MegaRAID\ Storage\ Manager/startupui.sh
discover hostでipアドレスを入力して、管理したい奴を探す。
・・・ここで問題。remote serverを探せない・・・。
helpme...

2014年6月26日木曜日

centosで3wareのRAIDカード(9650SE)ファームウェアをアップデートする

9650SEに2TBのHDDを入れようとしたら、どうも容量計算がおかしい。
RAID0を組んだら容量が「減る」。何故。
1.5TBなら普通に認識するので、恐らくファームウェアだろうと思い、RAIDボードのファームウェアをアップデートする。

新規案件だったけれども、USB起動で入れるのが面倒だったので、取り敢えずシングルディスクのみ活性化させて、そこにcentosをインストール。

ダウンロード先はこちら
 http://www.lsi.com/support/Pages/download-search.aspx
レガシーに分類されているので注意。

続けてファームウェアと3dm2_cliをインストール。
 全てrootで行う。
インストールは
3DM2_CLI-linux_10.2.2.1_9.5.5.1.zipを解凍し
unzip ./3DM2_CLI-linux_10.2.2.1_9.5.5.1.zip
その中のinstall.shに実行権限を与え
chmod +x install.sh
起動させる。
sh ./install.sh -i
あとは全部入れるか監視だけ入れるか聞かれるので、全部入り(たしか0を選択)。
そのまま入ってくれるはず。

ファームのアップデートは以下を参考に
http://voicetwo.selfip.com/yashikiba/blog/item_319.html


9650SEのファームは
9650SE_9690SA_firmware_9.5.5.1codeset_fw4.10.00.027.zip

prom0006.img
です。
3dm2のコマンドプロンプト呼び出し
tw_cli
//localhost>というプロンプトに変わるので、
/c0 update fw=/(イメージファイルを置いたディレクトリ)/prom0006.img

と叩けば終了。
複数カードがある場合は、先頭のc0だけではなくc1とかにもなるので、
tw_cli info
でカードを確認すること。

2012年で更新ストップなので、今後は辛くなるかな・・・。
一応4TB以上の云々みたいなのがリリースノートに書いてあったので、多分行ける、と思うが・・・。

追記
カードは必ず確認した方がよさそう。ファーム上げたらc0がc4になってた・・・。

2014年6月24日火曜日

LSI Megaraid SAS 9271iでRAIDを組んでcentos6.5をインストールする

設定しながら書いてます。

まず、ブート時にctrl+Hを押して、web biosに入る。前はcttrl+3とかだった気がするんだけど・・・。
RAID1+0(RAID10)で組みたかったのだけれども、どうにも出てこなかったのでgoogle先生に聞いてみると
http://itdoc.hitachi.co.jp/manuals/ha8000/hard/xm2/5_bios/pee3m21500/pee3m21500-1.pdf
流石HITACHI。
HA8000シリーズのマニュアルである。
中にmegaraidが入っているので、こいつ参照でRAID10のやり方が分かった。
解説はP100~で、
ディスク2つずつのアレイを作って、それぞれAccept DGする。
で、次画面で作ったもの全てをaccept to span。
すると、ちゃんとRAID10が出てくる。
なるほど。

ディスクアレイの設定は
http://akira-arets.blogspot.jp/2012/03/megaraid9260-8i-virtualdrive-setting.html
を見ながら設定。
BBUモジュール買わないと、速度は1/10ということか。たしかに今までの3ware製品も、1/10とは言わないまでもスピードが出なかった。
因みにモジュール名は「LSIiBBU09バッテリー・バックアップ・ユニット」。
amazonで25000円也。相変わらずただの電池のくせに、高い。

外付けのDVDドライブでOSを起動。
http://roserogue.blogspot.jp/2011/10/centos62tb.html
を参考に、ビッグドライブにぶち込む。
UEFIでインストールしようとしたら、何故かgrubの黒画面になって、対処法を調べる気が起きず断念したのはヒミツ。誰か教えてください・・・。

/boot 1000MB(痛い目にあった事があるので大きく)
/swap 16000MB(16GBメモリを積んだため。多分10GBも入らないんだけど一応)
/var 50000MB(varさえ別にしておけばオーバーフローが起きないって誰かが言ってた、よ。)
/ 残り全て(夢の10TB)

みたいに切った。

UEFIなら
パーティションは
https://access.redhat.com/site/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s2-diskpartrecommend-x86.html
を見ながらで大丈夫でしょう。

で、問題ないかと思ったら、どうしてもインストールできない。
仕方が無いので、webbiosで、ヴァーチャルディスクを2つに(まず10tbの容量を切ってデータ用、同様の手順を踏んで100GBの容量を切る)して、100GBの方にインストール。
すんなり入る。何故。

あとは何時もな感じで設定して終了。特に詰まるところは無く、そしてEFIでないという。

megaraidのユーティリティは・・・。
http://www.lsi.com/support/pages/download-search.aspx
から検索してダウンロード。
表示が凄く遅いのでじれる。
strage
raid controller
品番
で、サーチすると全て出る。
Management Software and Tools
から、megacliとMegaRAID Storage Manager をダウンロード。
MegaRAID Storage Manager tarの中にインストール用のシェルスクリプトが入っている。
megacliは、RPMを
rpm -ivh XXX.rpm
でインストール。
を参考に、cliはいじる。
MSMは・・・GUIオンリーってそんな・・・。
遠隔でも出来るらしい記述は見えるけど、管理PCを作らなきゃならないのが何とも。。。
 
今回地味にはまったところ。
rc.localが反映されなかった。
rc.localにシェルスクリプトへのリンクを記述して再起動させても、全く動いている感じがしない。
動かないのである。
おかしいなあと実機を見たところ・・・startupが起動してる・・・そういえばインストールしてから見てなかったや・・・。
初回アップデートの後に出てきたので、まあ、初めはSSHのみで作業しちゃ駄目よ、ということか。

2014年6月11日水曜日

squidのblacklist内容。URLだったり

表題の通りで、squidのblacklistを以下に。
参考にしたURLは
 http://yanmoo.blogspot.jp/2011/12/vpsopenbsd-squid.html
人によっては使いにくいかも知れないけど、そこら辺は変えて下さい。
初っ端からdropbox蹴ってます。マカフィーも蹴ってます。皆さん黙ってESET入れておきましょう。
基本方針は、広告系をまず蹴り出す、次に中韓製でやばそうなものを蹴り出す、スパイウェア系を蹴り出す、という拒否リストです。


#squid blacklist 20140611

.getdropbox.
.dropbox.com
^www.dropbox.com:443
.cloudfront.net:443
.adlantis.jp
.googlesyndication.com
.doubleclick.net
.woopiedesktop.com
.impact-ad.jp
.advertising.com
.adjust-net.jp
.serving-sys.com
.linksynergy.com
.valuecommerce.com
.microad.jp
.atdmt.com
.veoh.com
.kh.google.com
.adplan-ds.com
.akamaihd.net
.link-trade.net
.zerofactory.co.jp
.ad-recommend.com
.dmm.co.jp
.adgene.net
.afisapo.com
.blogparts.dmm.com
.ha123.com
.baidu.co.jp
.baidu.jp
.baidu.com
.i-mobile.co.jp
.agilemedia.jp
.kau.li
.ad.adresult.jp
^adcdn.goo.ne.jp
.bearshare.com
.jword.jp
.ai.yimg.jp
.im.c.yimg.jp
.criteo.com
.ads.nicovideo.jp

.baiduime.jp

.gomlab.com
.gomplayer.jp
.testqweasd.tk

.mcafee.com

.vipstar23.com

#2ch_incidents
.vipsister23.com

#yoshida
.lemurleap.info
.babylon.com
.ask.com
.weblayers.co
.browsefox.com
.webconnect.co
.linkswift.co
.swiftbrowse.net
.lizardlink.biz
.saltarsmart.biz
.luckyleap.net
.wunderweb.biz
.rolimno.net
.websparkle.biz
.diamondata.net
.hao123.com
.hao123.jp
.systweak.com


#yamaguchi
.gfxpeers.net
.torrentus.to
.torrentz.pro
.torntv-tvv.org
.netdna-cdn.com
.pinimg.com
.great-appdownloads.com
.downlist.eu
.sendspace.com
.emsisoft.com
.spccint.com
.cheesestream.com
.exelator.com
.56.com
.v-56.com
.liverail.com
.adnxs.com
.userlocal.jp
.nakanohito.jp

#incidents_freephone(viber,LINE)
.viber.com
dl.desktop.line.naver.jp
gd2.line.naver.jp
dl.profile.line.naver.jp
me2day.net
gw-beta.line.naver.jp
nid.naver.com
help.naver.com
appauth.naver.com
ndrive1.nave.com
desk.talk.naver.com
dl.desktop.line.naver.jp.edgesuite.net
a1896.g.akamai.net
openapis.jboard.naver.jp
a1284.g.akamai.net
dl.profile.line.naver.jp.edgesuite.net
cac-dl.profile.line.naver.jp.line-zero.akadns.net

#http://yanmoo.blogspot.jp/2011/12/vpsopenbsd-squid.html
^http://banner
^http://.*Count
^http://count
^http://analyze
e-kaiseki\.com
google-analytics\.com/ga\.js
.*adsense
.*adwords\.google
.*\.google\.*/adfetch
.*google_ad
.*\.googlesyndication
^http://rcm.*\.amazon
.*\.assoc-amazon
.*ws\.amazon\..*/widgets
.*\.amazonaws\..*/widget
.*\.amazon\.*/tipbox
^http://richmedia\.yimg\.
.*\.yimg\.com.*/ysc_csc_
.*\.yimg\.com/ad
.*\.toto\.geo\.yahoo\.
.*\.ov\.yahoo\.
.*\.overture\.
.*/overture_*
.*/ard\.yahoo\.
.*\.geocities\.*/js.*/.*\.js
.*\.yimg\.jp/bdv/
.*/yjaxc\.yahoo\.co\.jp/js/yjaxc\.js
^http://xml\.affiliate\.rakuten\.co\.jp/
^http://.*\.afl\.rakuten\.co\.jp/
^http://.*\.rakuten\.co\.jp/js/.*\.js
^http://api\.rakuten\.co\.jp/.*affiliateId
^http://.*\.ias\.rakuten\.co\.jp/
^http://ad-hatena\.jp/
^http://.*\.avatar\.livedoor\.com/
^http://.*\.blogdeco\.jp/
^http://.*\.blogpartsgarden\.jp/
^http://.*\.blogpet\.net/
^http://.*\.blogranking\.net/
^http://.*\.blogtoy\.net/
^http://.*\.floq\.jp/
^http://.*\.livedoor\.jp/js/
^http://parts\.logoole\.yahoo\.co\.jp/parts/
^http://www\.tweetswind\.com/twitterwind\.php
^http://twitstat\.us/twitstat\.us-min\.js
^http://.*\.sakuratan\.biz/js
^http://rss\.rssad\.jp/rss/
^http://www\.seesaa\.jp/r\.pl
.*\.pheedo\.jp/html
.*\.overture\.
.*/overture_*
.*/ard\.yahoo\.
.*\.geocities\.*/js.*/.*\.js
.*\.yimg\.jp/bdv/
.*/yjaxc\.yahoo\.co\.jp/js/yjaxc\.js
^http://xml\.affiliate\.rakuten\.co\.jp/
^http://.*\.afl\.rakuten\.co\.jp/
^http://.*\.rakuten\.co\.jp/js/.*\.js
^http://api\.rakuten\.co\.jp/.*affiliateId
^http://.*\.ias\.rakuten\.co\.jp/
^http://ad-hatena\.jp/
^http://.*\.avatar\.livedoor\.com/
^http://.*\.blogdeco\.jp/
^http://.*\.blogpartsgarden\.jp/
^http://.*\.blogpet\.net/
^http://.*\.blogranking\.net/
^http://.*\.blogtoy\.net/
^http://.*\.floq\.jp/
^http://.*\.livedoor\.jp/js/
^http://parts\.logoole\.yahoo\.co\.jp/parts/
^http://www\.tweetswind\.com/twitterwind\.php
^http://twitstat\.us/twitstat\.us-min\.js
^http://.*\.sakuratan\.biz/js
^http://rss\.rssad\.jp/rss/
^http://www\.seesaa\.jp/r\.pl
.*\.pheedo\.jp/html
.*\.www\.pheedo\.jp/img\.phdo*
^http://.*\.impact\-ad\.jp/
^http://.*\.2mdn\.net/
^http://.*\.doubleclick\.net/
^http://.*\.atdmt\.com/
^http://.*\.advg\.jp/
^http://.*\.disqus\.com/
^http://.*\.affiliate\.rakuten\.co\.jp/
^http://ad\.yieldmanager\.com/
^http://.*\.dmm\.co\.jp/dmmad/
^http://ads\.adjust-net\.jp/
^http://.*\.admeld\.com/
^http://.*\.advertising\.com/
^http://.*\.trustclick\.ne\.jp/
^http://click\.dtiserv2\.com/
^http://affiliate\.dtiserv\.com/image/
^http://.*\.accesstrade\.net/
^http://ad\.agilemedia\.jp/
^http://spdeliver\.i-mobile\.co\.jp/ad
^http://aqua\.dmm\.co\.jp/dmmad/
^http://www\.google\.com/uds/Gfeeds
^http://ad\.kau\.li/
^http://www\.amiami\.jp/images/
^http://.*\.ziyu\.net/
^http://cast\.ads\.jlisting\.jp/
^http://minkch\.com/js/
^http://mmaaxx\.com/
^http://.*\.i2i\.jp/
^http://.*\.i2iserv\.com/
^http://js\.addclips\.org/
^http://www2\.liveads\.jp/
^http://ranklink\.s2ch\.com/
^http://g-ec5\.images-amazon\.com/images/G/09/ui/loadIndicators/loadIndicator-large\._V192261612_\.gif
.*\.akamaitechnologies\.com/
.*\.amazonaws\.com/
.*\.prod\.millennialmedia\.com
^http://.*\.admob\.com/
^http://.*\.adwhirl\.com/
^http://.*\.mydas\.mobi/
^http://ads\.osdn\.jp/
^http://.*\.adlantis\.jp/
^http://.*\.adimg\.net/
^http://.*\.xmax\.jp/
^http://www\.facebook\.com/plugins/
^http://www\.yomiuri\.co\.jp/i1/
^http://www\.yomiuri\.co\.jp/g2/
^http://l\.popin\.cc/
^http://www\.yomiuri\.co\.jp/.*\.js

windows8.1 updateがアップデートできない(windowsupdateが失敗する)

windows8.1 updateを入れようとすると、エラーが出てアップデートできない。
google先生曰く
http://blogs.technet.com/b/wuj/archive/2014/04/11/windows-update-windows-8-1-update-kb2919355.aspx

流石テックネット。
やり方はURL参照か、
コンパネ>システム>左下のアクションセンター>トラブルシューティング>windows updateで問題を解決する>次へ>管理者としてトラブルシューティングを実行する>閉じる

windows updateで問題を解決する、よりwindows update「の」問題を解決する、の方が分かりやすいんじゃ無いかなあ・・・まあそれ以外の問題も解決するからみたいな言い訳があるんだろうけど・・・。

2014年6月10日火曜日

squidに負荷をかけてみる(abコマンドでプロキシサーバの負荷テストをしたい)

squidでリバースプロキシ(httpアクセラレータ)+透過プロキシを立てている。
最近キャッシュの量とかメモリ関係をいじったので、果たして使い物になるのだろうか、ということを確かめたかった。

プロキシの負荷テストに、apache同梱のabコマンドが使えると言うことを目にしたので、早速試す。
virtualboxのcentosにapacheをyumでインストール
yum install httpd

その後、squidの入ったサーバに対し、無線LAN経由で早速試したが書式に困る。
-Xでプロキシ指定と書かれている
http://www.omnioo.com/record/ubuntudebian/web_apache_ab_command/
が、何故か通らない。
と思ったらそりゃそうだ。透過プロキシなんだもん。
普通にアクセスしてやればいいのではないか。
で、普通にアクセスすると、やっぱり通らない。
首を捻りながら他の書式を参考に、接頭として「http://」、接尾に「/」を入れると通る。
ううむ・・・。

ということで、通った書式は
ab -c 100 -n 10000 http://192.168.168.168/

192.168.168.168は、squidプロキシサーバのIPアドレス
-cは同時接続数、-nは総リクエスト数

-cの値を400でやってみた時のログが下。500にするとfaildがかなり出たのでそこまでは使えないんだろうけど、
400台からリクエスト受けることなんて無いので、十分満足な結果。また、総リクエスト数は10,000だろうが100,000だろうがエラーは出なかった。

# ab -c 400 -n 10000 http://192.168.168.168/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.168.168 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:        squid/3.1.10
Server Hostname:        192.168.168.168
Server Port:            80

Document Path:          /
Document Length:        3149 bytes

Concurrency Level:      400
Time taken for tests:   21.348 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Non-2xx responses:      10065
Total transferred:      35295756 bytes
HTML transferred:       31642161 bytes
Requests per second:    468.43 [#/sec] (mean)
Time per request:       853.912 [ms] (mean)
Time per request:       2.135 [ms] (mean, across all concurrent requests)
Transfer rate:          1614.62 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2  248 621.4     60    4298
Processing:   106  533 1064.4    215   11993
Waiting:      104  357 591.2    197    9319
Total:        113  781 1367.8    294   12831

Percentage of the requests served within a certain time (ms)
  50%    294
  66%    592
  75%    806
  80%    975
  90%   1493
  95%   3182
  98%   4819
  99%   6595
 100%  12831 (longest request)

topで観察していると、cpuは40%から50%ぐらい使っている。
システム的にはceleron1037uでメモリ8GB。
squidのキャッシュ設定は
cache_dir ufs /var/spool/squid/cache_l 8192 16 256
maximum_object_size 131072 KB
cache_mem 1024 MB

追記
http://okwave.jp/qa/q9003206.html
で貼られていたので・・・

ベンダーさんの100台まで発言は見過ごせませんね・・・。
僕の稼働実績としては200台近くまでありますよ。
スループットも特に問題になったことはありません。
忌々しいchache.google.comにどれだけ接続されようとも・・・!
因みにその時は、core2quadで8GB環境、NICは4ポートintelでした。
瞬間同時接続数(よーいどんで一気に接続する)は見てませんが、上記のテストを信じるのであれば、400台近くまではいけるはずです。
しかもセレロン(ニアリーcore2duo)8GBRAM環境でこれなので、
ベンダーさんがきちんと組めば、普通に組めるはずです。
是非このベンダーさんには、論拠をご教示頂きたいですね。

あと質問者さんが言っているファイルディスクリプタのことは
http://takeda-h.hatenablog.com/entry/2014/12/09/005533

http://d.hatena.ne.jp/rougeref/20130424

みたいな所に書いてあります。
因みに1037Uのこのsquidは、ファイルディスクリプタ弄ってません。で、常時90台程度接続のhttpアクセラレータです。

参考になれば。

2014年6月6日金曜日

備忘録。

前のエントリで参照したところで、有用な情報があったので。

http://wingse.blog57.fc2.com/blog-entry-269.html

より

2010年11月18日 "ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード


そもそもミラクルパッチ、知りませんでした・・・。調べると、http://slashdot.jp/story/11/03/16/0035243/Linux-%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB-2.6.38-%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9
とのことで、カーネル2.6.38かららしい。
centos6.5はカーネル 2.6.32なので、後一歩・・・。
で、bashrc版の事が書いてあるんだけど、書いてある設定にどういう意味があるのか皆目見当が付かず・・・未だ試していない。
カーネルすげ替えしてみようかしらん。

ファイルサーバのパフォーマンスアップ。

# vi /etc/sysctl.conf
以下を最後に追記する。

net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.tcp_wmem = 4096 65536 524288
net.ipv4.tcp_rmem = 4096 87380 524288


※「524288」は自分で調整して下さい。

設定の反映。
# sysctl -p

実はこれやってたのだけれども、これの数値、全く意味が分からない・・・。何故512Kなのか・・・。
http://rdt17.blogspot.jp/2008_06_01_archive.html
のように、パケットロスでレスポンスが遅くなりそう(だから自分で調整なんだろうけど)。
実験して設定したいけど、もうずばっとこれなら大丈夫!という数値目標をsambaは出して欲しいものである・・。
まあ、実験したくないだけなんですが・・・。

ただ、現状僕の環境で、上記がファイルサーバにはまらないことはなさそう。

オンボードLAN(NIC)のスピードが出ない。Realtek製チップr8168(r8111)のドライバをcentos6.5にRPMでインストール。

関連記事はこちらこちら

安定性はピカイチのGA-C1037UN-EU。
だけど何故かLANが遅い。
気になって調べていると、
http://www.geocities.jp/infinite_555/ta/file-s.htm

>あとubuntu13.10現在ではLANチップのドライバーが違う機種のものが誤ってインストールされる現象があります。
>
>手動にて直す必要があります。GA-C1037UN-EUのLANチップはREALTEK RLT8111なのですが
>ドライバー名がR8169というのが誤ってインストールされているのです。正しくは”R8168”。これubuntu界隈では非常に有名なのだそうです。
>
>タチが悪いことに一見正常に振る舞うんです。でも実情は性能が出し切れていない状態なのでsambaの転送速度が下の画像のようにおかしな事になっていました。

http://www.akiyan.com/blog/archives/2009/10/centos-nic-realtek-rtl8111-8168b-r8169.html
を参考に早速確認しようと思ったら、ミニマムインストールしていたので、諸々が無い。
lspciを打とうとしたら、そもそも無い・・・。
で、インストールする。
yum install lspciと打ってみるが、そんなものは無いと言われる。
http://www.miuxmiu.com/archives/2012/04/24/centos_6_yum_lspci_install_command.html
ということで、

yum install pciutils

でlspciをインストール。

http://katzplus.com/centos/yum/centos%E3%81%A7%E3%80%8C%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%8D%E3%81%A8%E3%81%8B%E8%A8%80%E3%82%8F%E3%82%8C%E3%82%8B-yum/
を参考に
yum install mlocate
でlocateを入れる。
updatedb
でlocateのデータベース更新しながら諸々とこなしていくと、modprobe.confが無い。
そういえばcentos6系からmodprobe.confが無くなってた・・・。

色々面倒だったので、r8169.koだけ適当に移して、
http://wingse.blog57.fc2.com/blog-entry-313.html
を参考に、RPMパッケージでインストールする。

ELRepoは初めて知った。
http://elrepo.org/tiki/tiki-index.php

具体的な手順は

ELRepoリポジトリのインストール

rpm -ivh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm

リポジトリのイネーブルを変更。

vi /etc/repos.d/elrepo.repo
中の
enabled=1

enabled=0

ドライバインストール

yum --enablerepo="elrepo" install kmod-r8168

http://wingse.blog57.fc2.com/blog-entry-313.html
の通り
r8168ドライバーの反映

SSHで作業する場合、ドライバーの入れ替え時に通信が遮断されてしまうため、以下のコマンドで一気にその作業を完了させます。

# rmmod r8169 && depmod -a && modprobe r8168 && service network restart

確認

# lsmod | grep r81

r8168が表示されれば成功です。

という感じで終了。

修正
enablerepoの綴り間違えてました。

追記

またやったので、今度は公式に沿ってみた。

まず確認
lspci |grep Ether

01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
みたいにでる。

ドライバの確認
lsmod |grep r81

r8169だと差し替え。

公式
http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#2
で、URLを振り出してダウンロードする。
jsを見るのが面倒なら、ブラウザで一度ダウンロードして、ダウンロード元リンクをコピーするという方法が良い。

ダウンロード
wget http://12244.wpc.azureedge.net/8012244/drivers/rtdrivers/cn/nic/0002-r8168-8.040.00.tar.bz2

解凍
tar jxvf 0002-r8168-8.040.00.tar.bz2

出来たr8168-8.040.00に入って、readme通り
sh ./autorun.sh
を実行すると、動作的にはr8169を消して、ドライバをビルドしてdepmodで差し替えをしてくれる。

差し替わっているかどうかの確認
lsmod |grep r81

これで8168になっていたら終了。
sshで操作していると切断されるので、RPMインストールの方が安全な気がする。
あとカーネルを更新したときに、RPM以外での差し替えだった場合、ドライバってどうなるんでしたっけ。
前nvidiaのドライバ差したときは、カーネル更新毎に入れ直しをしていた気がする。


ifconfig、route、netstat、arp等は
yum install net-tools
でインストールできる。
http://blog.be-dama.com/2014/06/18/red-hat-el-7%E3%81%AEifconfig%E3%81%A8%E3%81%8B%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC%E3%81%AAnet-tools%E3%81%8C%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F/

2014年6月5日木曜日

隔世の感とはこのことか。celeron 1037U(GA-C1037UN-EU)を使ってみて。

AMDが強力なCPUを輩出して追い込まれたintelが出した救世主core 2 duo。
もう8年前なのか、と思うと、なかなか感慨深い。
何故C2Dの話から入ったのかというと、
今回celeron 1037Uを選定する機会があり、ベンチマークなどを見て回ったが、これが凄かった。
core2duoのE6400とほぼ変わらない、むしろ速い石だったのである。

流石に8年。時代は変わる。
celeronであっても、当時のハイミドルスペックが買えるのである。
しかもファンレス。低TDP、且つ、安い。
社内向けサーバにはうってつけである。外向きになら、これで多段組しても良い。
また、リビングPCとしても全く問題が無い。
実際C2Dの速度は、リビングで使うであろう作業(ブラウジング、メールなど)には今でも十分すぎるスペックである。
intelのNUCでceleron搭載のものがあり、
こんな事になってるとは夢にも思わなかったので馬鹿にしていたが、実は結構な代物だったということである。
まさに隔世の感、置いてきぼりを食った感じ。

10万以上かけて組んだPCが、今となっては3万か、と思うと、それはそれで切ないが、celeron搭載機を侮らず、積極的に取り入れていきたいと思いましたとさ。

今回使用したのはgigabyteの「GA-C1037UN-EU」。
要件定義としては
・owncloud用のウェブサーバ
・小さく静かに
・CPUはオンボード、できればファンレス
・HDDは最高4台積む
・そこそこ速く(Atomで一度痛い目を見た)

組み上がったもの
GA-C1037UN-EU
SILVERSTONE PSO8
ADATAの8GBRAM(不安要素)
HGSTの1GBとSeagateの1.5TBHDD
CORSAIRのCX430X
締めて4万円。

GA-C1037UN-EUはNICが2つついているので、そもそもサーバ用途に使いやすいし、特に癖が無い板である。

centos6.5にowncloud6をインストールしたときのメモ。RPMパッケージを使用してみる。

owncloudをホストしていたサーバが飛んだので、新しく組み直した際のメモ。
まず構成。

GA-C1037UN-EU(オンボードCPUの凄い奴。C2DのE6400とかと張り合う癖に、低消費電力。)
8GBのRAM
1TBの新規ハードディスク(システム用)
1.5TBの/var用のハードディスク(データ用)
OSはcentos6.5(執筆時最新)。
基本は
http://roserogue.blogspot.jp/2012/11/centos6owncloud.html
に沿って構築していく。

http://owncloud.org/install/

から、「host owncloud yourself」を選択。
なんとrpmパッケージが出ていることを発見したので、rpmでのインストールをしてみることにする。
linux packagesを押すと、「open suseで今ホストして貰ってるんだぜ」的な事を言われるのでそのまま続行。
OSの選択画面になるので、centosを選択。

CentOS CentOS-6 には、 root で下記のコマンドを実行してください:
cd /etc/yum.repos.d/
wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo
yum install owncloud


と出るので、そのまま入れようとするが、色んなものが無いから無理、と仰有る。
どうやらremiが無いと駄目らしいが、remiを入れようとするとepelがくっついてくる(無いと入れない、といわれる)。

仕方なく両方入れることに。
remiとepelについてはこちら。
まずwgetで2つを落とし、その後yumでインストール。

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum localinstall epel-release-6-8.noarch.rpm
yum localinstall remi-release-6.rpm

epelが常時有効になってしまうので、レポジトリのイナブルをゼロにする。

epelのenabled=1を0にする。

vi /etc/yum.repos.d/remi.repo
enabled=1

enabled=0



で、その後、

cd /etc/yum.repos.d/

wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo

を実行する。
内容はyumリポジトリの入ったディレクトリに、owncloudのリポジトリをダウンロードします。

そのまま
yum install owncloud
を実行したが、中に入ってるmysqlとphpのバージョンと違うものを入れようとする。 
 なので、まずmysqlとphpを消す。

yum erase mysql php

その後、yumのオプション「--enablerepo」で、リポジトリを有効にしながらowncloudとmysql-serverをインストールする。

yum install --enablerepo=epel,remi,isv:owncloud:community.repo owncloud mysql-server

証明を受け入れるかどうかのyesnoが出るのでYで通す。


あとは
http://roserogue.blogspot.jp/2012/11/centos6owncloud.html
を見ながら設定していけば大丈夫。ディレクトリのオーナー権限等は、基本的に設定されているもので通ったので、あえて再設定しなくても大丈夫。

楽になったなあ。
因みにowncloud-6.0.3-6.1.noarch.rpmが執筆時最新rpm。

2014年5月14日水曜日

特定のPCだけsamba接続が急に遅くなった、の意外な結末

ざっくり100台くらいある社内PCの中で、特定のファイルサーバ(samba3.0)に対してのアクセスが遅くなったPCがあった。
見てみるとクライアントPCには異常が無く、全く理由が分からない。
社内にファイルサーバが点在しているのだけれども、ざっくり10個あるうちの3つに対して、何故か遅い。
管理用のPCからのアクセスは普通(これがワイヤレスで繋がっていることが悲劇だった)。
サーバの方かしらんということでサーバを再起動するが全く関係ない。
興味深かったのは、拠点を無線で繋いでいるのだけれども、無線の先にあるファイルサーバに対してはこのクライアントPC、問題なかったりする。
まさかとは思いつつも、「ネットワークハブか」とひらめいて、
スイッチングハブを再起動させたら症状が無くなった。
スイッチングハブですよ、スイッチングハブ。
なんだかなあ。
問題だったのはbuffaloのレイヤー3スイッチ。
当時消して安いものでは無かったのだが、まさかのエラー。
多分macアドレスオーバーフローとか、そんなところな気がする。
ということは誰かがアタックかけたのか・・・正直アタックしても何も情報は得られないんだけどなあ・・・フルアクセス出来るようにみんなにしてるし・・・。

社用で使うには民生品でもいつの良いものを選んだ方がトラブル無いよね、という話でした。
お勧めはアライドテレシス。ただ、高い!兎に角高い。
なので結局buffaloの製品に頼るしか無いという悪循環。
まあ、L3なんてものは使わず、L2の簡単なスイッチングハブにしとけ、ということです。

2014年4月26日土曜日

SSHでブルートフォースアタック(総当たり攻撃)される

前の投稿とかがこの辺関連してくるのだが、1月末に「とあるOSSの普及促進を図るNPO団体」のサーバからブルートフォースアタックを受けた。
報告したのだけれども、返信無くそのままサーバが閉鎖されただけだったので、もう書いても良いんじゃないかと思っての投稿。
セキュリティに気を遣ってます!という触れ込みでのこの事態なので、公にしたくないのも分かるけど、報告者に位一言言ってくれても良いんじゃないですかね・・・一応被害者でもあるんですよ・・・。
ABUSEIPDBにも報告上がってるし、どうしたいんだか。
オチとしては、こんな感じでお察し。名前が出てくるということはシェアが広いからなのか、それとも・・・。

2014年1月29日水曜日

torからのアクセスだったりをiptablesで検知・拒否して接続させないようにしたい

何か物騒な世の中なので、一応対策らしいものもしなければ、ということで、iptablesで拒否してみることにした。
iptablesにはいつも通りシェルスクリプトで読ませることにする。

この前
http://roserogue.blogspot.jp/2014/01/centosiptablesip.html
で海外からのアクセスを禁止したい記事を入れたのでこちらも参照のこと。

参考は
http://d.hatena.ne.jp/rudeboyjet/20070226/p1

内容としては、IPDENYTORという名前のユーザー定義チェインを作成(-N)して、
ログを取りアクセスはドロップする設定を書き、
if文で/root/denytorlistの中に書いてあるIPアドレスをDROPする。

vi /root/iptables_denytor.sh

#!/bin/sh
################################################
#DENY TOR
################################################
iptables -N IPDENYTOR
iptables -A IPDENYTOR -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES IPDENYTOR]: '
iptables -A IPDENYTOR -j DROP
if [ -s /root/denytorlist ]; then
  for ip in `cat /root/denytorlist`; do
    iptables -A INPUT -s $ip -j IPDENYTOR
  done
fi

chmod 700 /root/iptables_denytor.sh

denytorlistという、torのIPアドレスを貼り付けたものを作る
touch /root/denytorlist
vi /root/denytorlist
ipアドレスは、以下のサイトからIPアドレスのcsvを取ってきて貼る。
http://torstatus.blutmagie.de/index.php
csvへの直リンクが出来なそうなので、wgetで取得するのは無理そう?

chmod 700 /root/denytorlist

あとは/etc/rc.d/rc.localに
sh /root/iptables_denytor.sh
を入れればOKのはず。

ただ、読ませるのに相当時間がかかるので、これやる必要あるのか?というのも勿論ある。
まあ禁止リストの一環と思えば・・・。

修正。
denytorlistは実行できん・・・多分脳が寝ていた。。

2014年1月27日月曜日

linuxを丸ごとバックアップをしたい(ddかdumpか、それが問題だ)

何故かmondo rescueが激調子悪い今、どうしようか、
ということで、ddとdumpを使うことにする。

方法:dd
ddはセクター単位でバックアップをしていく(簡単に言うと、ディスクに書き込まれているデータを「そのまま」バックアップする)ようなので、
「まさに正しいバックアップを取れる」が、その代わりぶち壊れることもある(認識しなかったりする)らしい。
しかし、imgファイルとしてバックアップすれば、中身はマウントしてみられるので、まあ悪くはないと思う。

http://takuya-1st.hatenablog.jp/entry/20101025/1288002819

の通りで、コマンドは
dd if=バックアップするディスク(例:/dev/sda1) of=バックアップ先(例:/media/mountdisk/backup.img)

if=がバックアップ元指定、of=がバックアップ先指定。


dd でディスクからイメージファイルへ

HDDに空き容量があるなら、イメージファイルを作っちゃうのが後で使いやすい。

dd if=/dev/sdb of=/var/disk-img/some-winXp-hdd.img

とURLでは書かれているので、ドライブ丸ごとバックアップも可能だろう。

バックアップの途中経過は
killall -USR1 dd
で見られる。他詳しくはURL参照のこと。

imgファイルのマウント方法は、
mount -o loop マウント先 マウントしたいimg
たとえば
mount -o loop /media/image/ /media/mountdisk/backup.img

方法:dump
dumpは恥ずかしながら一階も触ったことがない。
大抵のドキュメントが、詳しいのかそうで無いのかよく分からない説明ばかりだから。
一応
http://www.usupi.org/sysad/122.html
http://chidipy.jpn.com/server/other/ext3backuprestore.html
を見て、

dump -0 -f バックアップファイル バックアップ対象のパス
というのは分かった。
dump -0f /media/backup/sda5.dump /dev/sda5
こんな感じでバックアップを取る。

また、パーティション構造も記録(UUIDが違うと駄目だったりするらしいのでuuidも)

fdisk -l > /<任意の場所>/fdisk_<デバイス名>.txt
df -k > /<任意の場所>/df.txt # cat /etc/fstab > /<任意の場所>/fs.txt
ls -l /dev/disk/by-uuid/ > /<任意の場所>/by-uuid.txt
#以下はあるのとないのがある。
pvdisplay > /<任意の場所>/lv.txt
vgdisplay > /<任意の場所>/vg.txt
lvdisplay > /<任意の場所>/vp.txt

さて書き戻し方だけど、
http://www.atmarkit.co.jp/ait/articles/0301/07/news001_3.html
とか、他諸々を参考に・・・実は未だ書き戻していなかったりする。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1332476248
は、ddでバックアップを取るか、dumpでバックアップを取るか、どちらが良いかの参考になる。

好みは、ddかな・・・。

2014年1月22日水曜日

兎に角海外からのアクセスを制限、遮断したい(centos上でiptablesを使ったIPアドレスアクセス制限)

サーバ立てていると、兎に角どこから沸いてきたのか辞書攻撃をばんばんする輩がいる。
勘弁してください・・・ddosとか掛けられると速攻落ちるくらいの貧弱スペックで運用してる奴に限って、
何故か半端ない・・・。





環境は
centos(サーバはcentos5とcentos6)とiptables。


hosts.allowとhosts.denyで制限するという方法も散見されたが、正直どうだろう。
正しいと思うけど、複雑なことをさせようとすると凄いことになりそう。

で、その対処法。
まず考えたのは、SSHを通しているので、こいつに辞書攻撃を仕掛けられていること。

http://blog.browncat.org/2007/07/sshiptables2.html

を参考に、2行書いてやればかなり収まる。
60秒間に8回SSH接続しようとしたIPをはじく、とある。

-A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
-A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP

がcentosには適応する。

が、それだけでは怒りが収まらない。
こうなったらと、日本以外の外国からアクセスを遮断することにする。

http://vogel.at.webry.info/201306/article_1.html

http://vogel.at.webry.info/201306/article_2.html
を参考に(というか丸パクりして)設定。

以下は僕の環境下で使ったmemoなので、ちゃんとしたものと解説はURLの方参照してください。

#!/bin/sh
#COPYRIGHT
#http://vogel.at.webry.info/201306/article_1.html
#http://vogel.at.webry.info/201306/article_2.html
#http://blog.browncat.org/2007/07/sshiptables2.html
IPTABLES=/sbin/iptables
if [ $# -eq 1 ]
then
    if [ $1 = "stop" ]
    then
        $IPTABLES -F
        $IPTABLES -Z
        $IPTABLES -X
        $IPTABLES -P INPUT ACCEPT
        $IPTABLES -P OUTPUT ACCEPT
        $IPTABLES -P FORWARD DROP
        echo stopped..
        exit
    fi
fi
$IPTABLES -F
$IPTABLES -Z
$IPTABLES -X
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -N ACCEPT_FILTER
$IPTABLES -A ACCEPT_FILTER -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type source-quench -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type redirect -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT

$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT_FILTER

$IPTABLES -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset

#SSH Accept(上2行は別から)
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT_FILTER

#WWW Accept
#$IPTABLES -A INPUT -p tcp -m multiport --dport 80,443 -m state --state NEW -j ACCEPT_FILTER

#日本のIPからのみアクセス出来る
wget -N http://nami.jp/ipv4bycc/cidr.txt.gz
gunzip -q -f -c cidr.txt.gz > cidr.txt
if [ -f cidr.txt ]; then
    $IPTABLES -F ACCEPT_FILTER
    sed -n 's/^JP\t//p' cidr.txt | while read address; do
        $IPTABLES -A ACCEPT_FILTER -s $address -j ACCEPT
    done
    $IPTABLES -A ACCEPT_FILTER -j DROP
fi
#eof
シェルスクリプトなので、実行可能な場所において、ファイル名.shで保存(もういっそ/rootとか)、
chown root.
chmod 700
(rootの持ち物(ドットまで入れるとグループもrootになる)で、アクセス権はルートのみフルアクセス)
/etc/rc.d/rc.local

sh /ファイルまでの絶対パス/ファイル名.sh
とかの形式で書いてやれば、起動時に読み込んでくれる。

これで収まった。
味噌は、有志がIPアドレスレンジのファイルを公開してくれてるところ。凄いよなあ・・・。

追記
torのアクセス遮断を別記事で

2014年1月21日火曜日

中途半端に旧バージョンのphpをcentosにインストールしたい(外部リポジトリだけどolds内にある時)

いまいちyumの仕組みが分かっていないけど、旧バージョンのphp関係をインストールしなければならなくなったので、そのメモ。

今回はcentos5指定だったので、centos5.10(i386版)にphpの旧バージョン5.3をインストール。


ここを参考にする。
http://blog.hello-world.jp.net/?p=584
http://d.hatena.ne.jp/omiyan/20110114/p1

remiリポジトリを登録して、更に

http://rpms.famillecollet.com/enterprise/5/olds/i386/
(URLはremiリポジトリのディレクトリ)
からパッケージをダウンロードしておかなければならない。

外部リポジトリの追加方法は
http://oxynotes.com/?p=4792
を参照。

remi    Fedora プロジェクトのコントリビュータでもある Remi Collet 氏が運営しているリポジトリhttp://www.1x1.jp/blog/2013/12/how-to-install-php-rpm-on-centos-5-and-6-amazone-linux.html
epel    レッドハット(fedoraプロジェクト)提供のリポジトリ。https://fedoraproject.org/wiki/EPEL/ja
ius    PHPとMySQLの普及振興を目的としたリポジトリ。http://iuscommunity.org/pages/About.html

ダウンロードして置かないと、yum install php-5.3*とか入れても、そんなパッケージは無いと怒られる。
釈然としないがそんなものなのだろう(多分oldsの中だからと勝手に推測する)。

i386版なので、参考URLのシェルスクリプトをいじって、i386版をダウンロードするようにする。

#! /bin/bash
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-cli-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-common-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-bcmath-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-dba-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-devel-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-gd-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-imap-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-ldap-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-mbstring-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-mysql-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-odbc-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pdo-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pear-1.9.4-7.el5.remi.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pecl-ncurses-1.0.2-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pgsql-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-process-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-snmp-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-soap-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-xml-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-xmlrpc-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pecl-apc-3.1.13-3.el5.remi.i386.rpm

ダウンロードできたら、

yum install --enablerepo=remi,epel php-common-5.3.23* php-cli-5.3.23* hp-5.3.23*

とかでインストール。
rpmコマンドでも多分インストールできるが、必要パッケージがないとか言われることがある。


勘所は、
remiだけでなくepelもリポジトリとして登録しておくこと。
なんとremiだけだと、libeditを見つけられずにエラーが出た。
うへえ。