PFはFreeBSDでもデフォルトになったんだよね。それって結構前か?いつの話だ
うちの会社はルータ/FWをOpenBSD+PFつかってる。SunのNetraっていう1Uのちょっと前の
SPARCマシンにぶち込んで結構な量のトラフィック裁いてるけどじぇんじぇんいけてます。

結構前だけどちょっとルール見直したときに修正かけて、ちょいはまりしたので
日本語ドキュメントちょっとふるいんだよね。OpenBSD...
なので、それの健忘録として

外にftp接続して必要なパッケージを取りに行かなきゃならなく
なったのだが、ftpでつながらない。

ルータ/fwとしてOpenBSD+PFが動いている
ftpは仕様が古いのでfw越えは設定が少々厄介なのだが、
PFではそこをftp-proxyがやってくれてる。

まず、 tcpdumpしてインターフェイスのパケット見てみたが
出てはいってるのだが、dataコネクションをはれてない模様

次に

pfctl -s してみると

FIN_WAIT_2でとまってる

以前、前のバージョンから3.9にあげたときにルールは
そのままで動いたのでというか
pfctl -n -f /etc/pf.conf
してsyntaxエラーでなかったんでそのまま使っていたのだが
いろいろ調べた結果3.9からPFのftp-proxyの設定方法が
変わってた。

参考にしたのはこのサイト
http://home.nuug.no/~peter/pf/en/long-firewall.html

以前は、/etc/inetd.conf に

127.0.0.1:8021 stream tcp nowait root
/usr/libexec/ftp-proxy ftp-proxy

と追加してRDRセクションで

rdr on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021

としてfilterセクションでpassルール書いていたのだが3.9からは
inetd.confに書いていたftp-proxyのラインはもう必要ないらしので
ftp-proxyを消して、inetdを再起動

sudo kill -HUP `cat /var/run/inetd.pid`

もし、ftp-proxyのためだけにinetdを起動していたなら
もういらなくなる。

ちなみに、/usr/libexec/ftp-proxyはもうなく
/usr/sbinにあるマニュアル起動するときはこちらから

/etc/rc.conf.local or /etc/rc.confに以下を
ftpproxy_flags=""

とのことだったので自分はrc.confではなく変更設定は
rc.conf.localに書いているので

grep "ftpproxy_flags" rc.conf >> rc.conf.local

rc.confは起動時の読み込みなので
手動で/usr/sbin/ftp-proxy
で起動

pf.confでの設定にうつる

NAT sectionに以下のanchorを設定

nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"

これは、NATをつかってなくても書かなきゃいけない
みたい

以前からpf使っていたらたぶんこんなルールが
NAT/RDRのセクションには書いてあるとおもうので
書いてなければ書いて

rdr pass on $int_if proto tcp from any to any port ftp -> 127.0.0.1 \
port 8021

filter_ruleセクションにて
anchor "ftp-proxy/*"

ルールは、以前のものをそのまま使用してめでたくftpで外につなげにいけるようになった。

何年ぶりかのMac新調、この前は3年ほど前に前のPowerBook G4 TitaniumからMacBook proへ交換したとき。
MacBook proは、メインでホビー用に使っている。自分にとってのホビーとは音楽関係なのだが、DTMで打ち込み。そんなことをやっている。DTMやコンピュータでの音楽関係もここ数年でかなり進化しているなーって感じがする。昔は、シーケンス部分をコンピュータがおこなって他はハード機材つかってってかんじだけど、それが、Recoding部もコンピュータになって、さらにソフトシンセなどで音源部分もコンピュータが、まあ、ここ最近のシンセなどはほとんど中はコンピュータなのでまあ、単体である必要はないから、PCのパワーが上がればソフトとしてPCと統合されていくのは流れ的ものであったとは思うが、最近のDTMをみてると特に自分のような生音使わない4つ打ち系だとハード機材からPC&ソフトシンセへの流れが著しい。昔はライブとかだと最低一台はシンセなどの機材、他の音源はトラックレコーダーに落としたものそれにアナログミキサーそれにPC or macってのが最低限で、すごいやつはハード音源がっつり持ち込みってのもいた。それに比べていまは、高機能なPC一台、それもノート一台でMidiコントローラー2台くらいなんて軽装がざら、世の中もかわったもんだって。まあ自分の知っているのもここ十数年くらいのことなのでもっと昔を知っている人は、もっと変わったなって思うんだろうが。

ところで話は戻って、新調したmacだが、メインで仕事につかっているマックを換えてみた。換えるならこれしかないとは思ってはいたのだが。持ち運び時の便利さに重点を置いてここは「Airでしょ!」って。

実機みたことはあったんだけど、会社の近くのヨドバシかなんかだったような。でもショーケース入れられててさわれなかったんでさわったことはなかった。スペックはAppleのサイトで確認済みメモリ増設出来ないけどまあ、自分用途で2Gあれば十分かな。PBG4のメモリ1.2GBでもどうにかいけてたわけだし、CPUがCore2Duoになってるからその辺でPBG4よりゃさらに快適なのは確かだろって。

あと、拡張スロット関連ですが、USBが一つのみ。FireWireはなし。Oh!No!これはちょっと痛い。こいつでも音楽やってやろうと少しは思ったんでMotu828MkIIがつかえないやないかーーー!まあ、それはUSBの機器つかっとけってか。まあ音楽以外でもUSBが1portつうのはちょっと痛いよな。ハブ使えばいいんだけど、やっぱり外付けHDと音楽用のUSBインターフェイスとかをUSBバスパワーのハブで一緒に使うとHD認識してくれなかったりするんでセルフパワーのしっかりしたHUBをGetしないと。どちらにしろHUBは必需品だとはおもった。

そして、実際実機をさわってみた感じを。かっちまってからじゃ遅いんだが...

まず重量は1.4KGってのは軽いなあやっぱり、PBG412inchに比べて700gくらい軽いんだがたかが700gと思っていたけど結構これが違うもんだ。PBG4は鞄入れてると結構重く感じるんで軽けりゃ軽いほどいいとわおもっていたんでこれはうれしい。

他には、やっぱ液晶がワイドなのはいい。12インチだとワイドじゃないんでブラウザの画面を横方向にスクロールなしで表示出来るように広げるとほとんど画面いっぱいになってしまって他のアプリの画面と2つをみながらとかは難しかしい。それでCmd+Tabで切り替えながらなんだけどMacってアプリの切り替えであってウインドウの切り替えじゃない、たとえばFireFoxとかで2つウインドウ開いていると互いのウインドウを入れ替えられる訳じゃないのでその辺はちょっと面倒、まあそういうこともあってワイドだとウインドウずらしてとか出来るので使いやすいとはおもっていた。ちなみにもう一つのメイン機ubuntu On ASUS W5Fでは、UbuntuのCompizで結構いい感じのデスクトップ構築できてるし、Ctrl+Tabでウインドウ切り替え出来るんで便利。

これはMacBook airだけに限らないけど、Macってデュアルディスプレイとかでウインドウを2つの画面とかにちらばせてて、それでハイバネートして、次は外付けディスプレイなしで復帰してもきちんとウインドウ一画面に戻してくれててたりしてそこら辺はよくできてるなあって思う。Ubuntuだとそうはいかないからね。落とすときにしっかり考えとかないと後のことを。。。

あと、ひとつほとんど満足なんだけど、キータッチがちゃちいねAir。MacBookproやPBG4なんかのしっとり感、微妙な重さがない。やすもんのプラスチックキーボードさわってるみたい。これはいかん。
自分はキーボードには結構こだわりがあって、やっぱ長時間さわってるんでタッチがいいのがいい。今までで一番よかったのはIBMのIntellistation M proとかPenIIのころだけどIntellistationラインに着いていたIBMキーボードが一番よかった。今でも使ってます外付けで。
そんなんでAirのキータッチはちょっとちゃちすぎだね。Appleもこういうとこけちっちゃいかんね。
とりあえず、2.13でSSDだから動作は快適です。

先週のある日、仕事終わって帰ろうとしてエレベーター前にいくと、20代くらいのスーツ姿の黒人男性がたっていた。

とりあえず、軽くあいさつがてら声をかけてみた。

今まで、同じフロアではみたことなかった。上の階ではフランス人ぽいのが働いていたり、ヨーロッパ系のやつがいるんだんだが。

まず、どこで働いてるんだって聞いてみたら、同じフロアのオフィスで英語教えてるとのこと。そーいうことね。結構おおいんだなそういうところ。まえに自分が週一で顔出してたた会社でも社員のために英語のレッスンやってたなあ。

エレベータが来たんで一緒に乗って、ちょいとしゃべる。何の仕事してるのか?とか聞かれたり、こっちはどっからきた?とかどのくらい日本にいる?みたいなたわいもないことを。

カナダ人で28、1年くらい日本にいるとのこと


とりあえず、同じ駅まで行くみたいなんで、話しながら。
それで、あんたは何で英語しゃべれんだ?ってきかれたから。

むかし、U.Sにすんでたんだって、graduate schoolかってきかれたから、undergraduateだよって

U.Sのどこだ? 

自分:Chicago 

canadian:Oh! chi-town

Chi-town この響きも久々聞きました。黒人特有ですね。Chicagoのことをchi-town「シャイタウン」っていうんよねえ。これ黒人特有。

そんなんでまあ、ちょこちょこしゃべりながら駅までいって、かれは新宿のほうへ地下鉄、自分も他の線なんでそこで別れてってかんじで。

まあ、ちょっとした出会いでした。



なんとレンタルサーバが逝ってしまった。ファイルシステムエラーとかで、OS
のクリーンインストールになってしまった。実を言うと少し前からちょっとお
かしかったんで、兆候はあったらしいのだが...

それで先週のある晩、リブートかけたら戻ってこなくなったって。そっこで障害に連絡し
てみてもらったら、再インストールになるらしとのこと、このサーバ借りたの
は6年ちかく前なのでその当時のRedhat es3からRedhat es5へディスクも80GBだっ
たのが320GBになった。ディスクの容量アップはムーアの法則通りですね。2
年で倍々ゲーム。

しかし、問題はアプリ関係でphpもバージョンあがったし、mysqlもバージョン
あがった。phpは元々4だったからあまり問題ないけど、問題はDB。mysqlはそ
の当時そのレンサバは3.23だった。すでに4系が出て新しい物ずきは4を使って
いるよな状況だったが(自分も社内では4系にしていた)3.23でちょっと古いな
あと思っていたのだが、まあ、仕方ないとおもいつつ。

それで、3.23で問題なのは、バックアップとっていたのだが/var/lib/mysql/
以下をまるまるバックアップしていたのだ。同じバージョンならそのまま戻せ
ば問題ないのだがバージョン違うとだめ。特に4.1からかわったんで、データ
消えたりするらしい。とりあえず、一度3.23でdumpして、5にリストアっての
が一番良さそうなんで3.23をセットすることに。しかし、もう今時3.23ってな
いんだよなこれが。webで検索した結果だと半年くらい前までSoftAgencyのサ
イトにあったみたいだがいまはもうなくなっていて、古くても4系だけ。古い
アプリを新しいOSにいれるのはライブラリなど依存関係で結構手直しが必要に
なる。

こうなりゃ、昔のディストロのCDひっぱりだしてくるしかない。実はつい数週
間前、昔のCD群を処分しようとしていろいろ整理したところだった。
Redhat6.1、7.2とかTurboLinux6、7、vine2.15とかいろいろあった。それで、
Redhatは残しておいたんだ、こういうこともあるとおもって。

それで7.2を余ってるPCにインストしてバックアップから/var/lib/mysqlをコ
ピーしてDBの復帰完了。それでmysqldumpでデータはき出して、文字コードは
今回は変えないことにした。mysql5なんでutf8がいいんだけど、いろいろとア
プリの関係もあってここ変えるとすべてに関わってくるからなあ。とりあえず
そのままでdump。

それでdumpデータをmysql5に戻してデータが戻ってることを確認。後はユーザー
を再登録し直してこんな時のために登録用のスクリプト作ってあるし。ユーザー
多いから大変なんだよいちいち登録するの。

あとは、php.iniを修正して、Pear入れ直して、一つSmartyをPearifiedの
Channelから入れてたんだけど、どうも消滅していた。なので、こちらだけは
本家から入れ直し。それでSmarty関連のイニシャルファイルを修正。Smarty使っ
てるところではすべてこのファイルrequireさせてるから、ここだけ修正すれ
ばOK。これでとりあえず復旧できました。1日かかってしまった。

今回の事柄から考えたこと

よく、動いているシステムさらに安定しているシステムにわざわざ手を入れる
ことはタブーとされているが昨今の目覚ましいソフトウェアの進歩によってす
ぐにバージョン遅れになってくる。たとえばレンタルサーバを移行するとかな
ると移行した先では新しいバージョンで動いていたりということは当たり前。
そんなんで、最新を追うのは違うのはわかるだろうが、新しいバージョンが安
定して枯れた感じになったときにバージョンアップしておいた方が得策なので
はないかと。ぎりぎりまで使って、一気にバージョンアップてのもありなのか
もしれないが、いきなりの時に困る。
あと、やっぱデータをバックアップしておいてとかは当たり前なんだけど、ど
うしてもこのようにダウンタイムが出てしまう。まあ、とめちゃいけないクリ
ティカルなサービスではないんだけど、やっぱりこれはめんどくさい。それで
この際2台でDNSラウンドロビンで回してみたいにして、夜間に同期とって同
じ状態のサーバ2台にするのが得策かと。その場合、やっぱり有償OSよりは
CentOSとかFreeBSDとかのほうがいいねぜったい。
社内だとCentOSかFreeBSDなんだけど、レンサバもあわせた方がいいとわかっ
た。
mac新調したんで、ハイバネーションの設定しようかと言うことで、設定みてみたら
どうも、こちらの設定も移行アシスタントで移行出来ていた模様。
とういことで、設定の必要はないし、PowerPC系からIntelへ変わってしまったので、
スクリプトも必要なくなってしまった。
ということで前、メモってたネタをPostしておこう。


macでハイバネーションに関して

pmset -g

で確認、たぶん

hibernatemode 3

になっていると思う。これは、通常のノートだとふたを

閉じるとスリープになる状態。それで、それを俗に言う

ハイバネーションするようにするには以下のコマンドを

intel以降では

sudo pmset -a hibernatemode 1

powerbook & ibookでは、元々この項目がないので

こちらの投稿を参考にして以下のスクリプトを実行してみた。

#!/bin/sh
# the "msh" is arbitrary
sudo nvram nvramrc='" /" select-dev
" msh" encode-string " has-safe-sleep" property
unselect
'
sudo nvram "use-nvramrc?"=true
echo done.

上記のスクリプトに適当な名前をつけて保存、たとえばhibane.shとする

そしてterminalから

./hibane.sh

その後、再起動をして上記と同じように

ターミナルから pmset -g

するとhibernatemodeの表示が

ここまでくれば、上記のintelmacと同じコマンドを

実行すればマックでもサスペンド or ハイバネーション

が可能になる。