Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

4/17/2013

l2tp以外でvpnサービス

何か他にないかなということで機能評価を兼ねて色々試してみた
softetherはフリー版は認証機能まわりが中途半端でボツ、ログ転送もできない
PPTPは認証がダメダメ
そんなわけでopenvpnにしてみた
導入は拍子抜けするほど簡単、証明書認証(pkcs12)とIDパス認証を組み合わせる設定も楽。
楽なんだけど内部でのIDパスの取り扱いを安全に行うようにするにはそれなりに作り込みが必要だった、そもそもopenvpnではプラグインという形で外部認証扱いになる。

プラグインの作成は簡単にやろうと思えばとっても簡単で、一番簡単なやり方はopenvpnから一時ファイルか環境変数を通して渡された入力値を、どこかに置いたIDパスが書かれたファイルから読み取って比較し、マッチしていれば0を返して終了、マッチしていなければ0以外を返して終了、というものを作るだけ。
(OpenVPNはその終了コードをみて外部認証が成功したか失敗したかを判断する)
 
 ただ、この方法は安全ではないので、生のID/PASSはデータとして保存しないようにしたり、比較や参照も生のIDパスでやらないように等と工夫をすると、それを全部時前で用意しなければならなかったので面倒くさかった。

作り込み自体は難しいもんじゃないけど、実行コストを考えなきゃいけない環境だと手間がかさみそうだ

3/28/2013

raspberry pi

ModMyPiで注文して半月くらいで届いた

arch Linuxで運用中
Pen2 300mhzは謙遜なんじゃないかと思えてきた。軽いサーバー用途なら全然いける

11/12/2012

racoonからopenswanへ


racoonが正直いまいちだったので
openswanに変えた
今まではracoonでpsk認証しつつ
ipsecIDと事前認証キーを日替わりで生成するような運用をしていたんだけど
泥端末からは繋がるくせにWindowsからもLinuxからも繋がらない
証明書認証に変えるついでにopenswanに鞍替え

3/18/2011

pacman 3.5.0がきてる

testingでアップグレードあり
そのままだと依存関係のチェックで引っ掛って何もできなくなるので
pacman -Syしたあと、pacman -Sfd pacmanで無理矢理インストールすればOK
インストールされたらpacman-db-upgradeを実行する

2/09/2011

mailx(mailコマンド)でgmailのSMTPを使う

msmtpがあればいい。


Gentooのドキュメントにわかりやすい記述があった
認証まわりの設定値はGoogleのドキュメントを参照

あとは ~/.mailrc に以下を書く
set sendmail="/usr/bin/msmtp"


アラートメールなんかを携帯で受けたいときには
smtp立てるより、こっちの方がいい(もちろん自宅サーバに限って)

アホみたいに遅いけどね(認証とか入るから)

2/04/2011

うちのサブ環境も変えた


比較的最近に購入したWin7機があるんだけど
ゲームと動画編集くらいにしか使わないのでもったいない
というわけで動画をノンリニア編集したりするので容量は無駄遣いできないが
空いてる領域で何かできないかと考えてみた

とにかく現状では容量が足りない(元々ついてたHDDは280GBくらいだったはず)
500GBを増設して、そこに動画の元ネタを入れて編集してるんだけども
今のところキツキツ(Windows上での認識では460GBくらいに見えてる)
そこで500GBを買い足し(2480円)、500GB2つをオンボードで対応してるRAID 0にした。

まずは現在の環境の退避から、Win7のシステムイメージとリカバリ用のブートメディア作成機能の評価もしたかったので
OSの機能のみでやってみる。
シャドウコピーなので、一時間もかからない間にイメージファイルが作成される。
ちなみにこのイメージファイルはXenとかHyper-Vとかと互換性があるVHDイメージで
ディスク管理画面からVHDに接続することも可能。
ブートディスクの作成もCD-Rつっこんで待つだけ
とっても簡単で、すばらしい。

作業が完了したところでリカバリテスト。
そのまま上書きする形でリカバリをしてみたところ、これもすぐ終る
(ディスクイメージは外付けUSB HDDに書き出してあるものを読み出した)

ここからが本番。
SATAに接続されている機器が
0:初期搭載HDD(280GBくらい)
1:初期搭載DVD-RWドライブ
2:増設HDD(500GB)
3:今回足したHDD(500GB)
となってる。
ここでは2,3をグループにする。
0はいじらない。

作成手順は省略。オンボのだし。

作業完了後、そのまま起動してみる。
ブートローダは走ってるようだけどHDDが見つからないようで再起動がかかる。
(ディスクのデバイスIDかインスタンスIDみたいなもんが変わるはずなんで当然)
(またはUUIDみたいなイメージ?)
先ほど作成したブートディスクから起動
復旧をはじめる。指定イメージからの復旧で全体の復旧を試みる。
復旧はエラーなく完了し、再起動。
ところがどっこい同じ症状で起動しない。

またブートディスクをいれて、パーティション構成を見てみると
なにやら変な風に切れてた
なぞの100MB程度の領域がCドライブ
Dドライブ(280GB)
Eドライブ(456GB)
みたいな。
しかも 恐ろしいことにどいつもこいつも「空っぽ」
このシステムイメージからの復旧はディザスタリカバリや
HDD交換後のリカバリには使えないらしいという情報をネットでみる
たしかに出来てない(手順はもしかしたらあるのかもしれないが・・・)
面倒だからメーカのシステムリカバリ(OSを工場出荷時に戻す)で対応
退避したものからの復旧は一旦VHDをマウントして中身を普通のバックアップで
外に逃がして、フォルダ単位で個別復旧(システムファイルなどを手動で上書きできないので、あくまでリストア処理に任せる)
その途中で仕事に出てきたので、まだ結果はでてない。
これが終ったらCentosいれてXen環境の勉強でもしようと思う。
あとはファイルサーバかな。

1/30/2011

うちのOS変えた

最近の変更でいうと、GentooからUbuntuに変えて一年半くらい使ってて
26日にArch Linuxに変えた。

その理由としては、まずFSをbtrfsに変えてみたくなったのとpacmanとABSに興味があった。
あと最近Linuxの先端に疎くなってきているのを感じたので
新しめのkernelとミドルをイジる必要性を感じた(仕事柄もあって)。

まずArchの導入について、感想を言うと
すごく簡単だった。10年以上前に雑誌のオマケにLinuxが付いてた時期(VineとかLaserとか)に導入経験がある人間なら何の苦もなくできる。むしろ自動認識の技術が進歩したり、XもKMSとかHALあたりのおかげで凄く導入しやすい。
最近のUbuntuとかRedhatなんかと比べても手順もそんなに多くはない、ただインストール画面は素気なくて退屈。

デフォルトではbtrfsを作成できないので、CD bootしたあとプロンプトに落ちてから、setupを叩く前にnetcfgしてネットワークを繋げたあと、pacman -Syし、pacman -S btrfs-progs-unstableする必要がある(ちょっとbtrfs-progの名前は今しっかり思いだせない、progだったかprogsだったか…)
とりあえず、これでbtrfsを作成可能になる。

あとはfdiskでパーティション切ったあとbtrfsで初期化して、setupを実行、パーティションの作成と初期化の工程を飛ばせばそのまま導入可能です。

私はその手順ではなく、一度ext4で入れてからbtrfsにコンバートしてみた。
これも難無く終る。ただし、rootfsのパーティション(またはディスク)をbtrfs化するにはCD bootが必要。
変換のためにはbtrfs-progsが要るので、先の手順で落してから変換する。

構成はrootfsのsubvolumeは切らずにrootfsとhomeを別パーティションにして、各ホームディレクトリはサブボリューム化、rootfsのバックアップはrootfs配下にバックアップ格納用サブボリューム(/.rootfs_bk)を作って、その中にスナップショットを格納するようにした。tmpもバックアップされちゃうけどまあいいという事にする。rootfsはsubvolume化するメリットが見付からないのと、rootfs配下の各ディレクトリ全部をサブボリューム化するメリットも特に見付からなかった。よってこの構成。

私が色々と困ったポイントを挙げておく(勘違いしていたのもあるけど)
・領域のサイズ変更はファイルシステム単位でサブボリュームには適用できない(ユーザーディレクトリのquota的な目的には使えない)
・サブボリュームはあえてマウントしなくてもいい(作った時点でマウントされてる、mountコマンドでもmtabでも見えないけど)
・あえてmountしてもいいし,fstabに書いてもいいけど、dfとかでは個別に取り扱われず元パーティションの情報そのまんま出てくる
・dfやmountやその他APIやツールがbtrfsのサブボリュームっていう概念にまだきちんと対応してないので色々と不便(上位のパーティションと同じ情報しか持ってこれない)
・マウントオプションを間違えて(subvolをsubvolumeとか書いちゃって)もエラーにはならず正常終了する、その時はマスターボリュームがdestにbindされる。たぶんmount側での対応がまだでエラーチェックされてない。サブボリューム名を間違えたときは「正しいブロックデバイスではない」と表示される。

あれっと思った部分はいくつかあったけど、結構快適だしスナップショットは便利。安定度も個人で使ってるぶんには不満はない。ただしオンラインリサイズしながら大量の「移動」をしてるとカーネルパニックを起したりする。過負荷は禁物なのか、それとも低いレイヤにアクセスしてる最中に何かすると安定しないのか。まあ普通に使う分には問題ない。



Archそのものの感想としては、結構良いディストリだと思う。システムの見通しもいい。ただ、他のディストロだと快適に使うために予めやってくれてるようなカスタマイズやパッチ当てをあえてしないらしく、ちょっと遅いかなと思う部分もあった。そこらへんの改善メモを遺しておく。

sysctl.confに下記を追加
vm.swappiness=20
vm.vfs_cache_pressure=50

あとkernel 2.6.38で取り込み予定の、噂の高速化パッチと同等の機能を加える変更もいれとく
Archの場合は、rc.localに
mount -t cgroup cgroup /sys/fs/cgroup -o cpu
mkdir -m 0777 /sys/fs/cgroup/user
echo "/usr/local/sbin/cgroup_clean" > /sys/fs/cgroup/release_agent
と書いておく。

.bashrc(ここはログインシェルの同等ファイルに合わせて読み替えて)



if [ "$PS1" ] ; then
           mkdir -m 0700 /sys/fs/cgroup/user/$$
           echo $$ > /sys/fs/cgroup/user/$$/tasks
           echo "1" > /sys/fs/cgroup/user/$$/notify_on_release
fi

と書く

/usr/local/sbin/cgroup_clean を以下の内容で作る(実行権限も与える)
#!/bin/sh
rmdir /sys/fs/cgroup/$1

とりあえずこれで快適、かなり速くなった。今まで色々つかってきたけど、今回が一番高速に動作してるかもしれん。

これでshellから何か実行したときは、特別なスケジューリングがなされる。
(どういう原理なのかはcgroupのドキュメントを見ればわかる、けど私はまじめに読んでないんので知らない)

あとGUI上で何でもかんでもに適用したい場合は、xprofileにmkdirとechoの3行だけ書き足せばOK。
あんまりローレベルすぎる部分に仕込みまくるのは逆効果っぽいので、xprofileまでにしとくのが無難。

WSKY Bluetooth 5.0 トランスミッター レシーバー買いました

安くレシーバーモードでapt-x HDが使えるものというと非常に限られますが そのなかで高音質と評判のよかったものをということで購入しました。 音質は安いなりですね、apt-x HDで接続されている状態でも元がなんであれ痩せた音になります。 SBSにしか対応していない...