FreeBSD 6.0 Released

announce-jp にもメールが流れましたが、FreeBSD 6.0-RELEASE が出ました。

Scott Long は『FreeBSD 6.0 Released』と書いていますが、『FreeBSD 6.0-RELEASE is now available』の方がタイトルとして良い気がしますが...

id:TransFreeBSD さんが適切な訳をされると思うので、私は i386 の Release Note から適当な抜粋を ^^;)。

5.4-RELEASE からの更新内容

  • 80386 プロセッサ(i386 CPU)サポートの廃止。i386 を使用したい場合は 5-STABLE を利用すること。
  • sysctl の security.jail.getfsstatroot_only が security.jail.enforce_statfs に名称変更され、ポリシーが 3つになった(0:jail 環境でも全マウントポイントの参照可能、1:jail の chroot 下のマウントポイントのみ表示かつマウントポイント以下のパスのみ表示、2:jail の chroot ディレクトリのあるマウントポイントのみ表示)
  • ULE スケジューラの多くのバグ修正
  • CARP(Common Address Redundancy Protocol ) の OpenBSD からの移植
  • ipfw(4) の IPDIVERT オプションがカーネルモジュールとして利用可能に
  • rc.d/bsnmpd startup script for bsnmpd(1) 用の起動用スクリプト rc.d/bsnmpd の追加
  • portsnap(8) ユーティリティの追加
  • pf が OpenBSD 3.5 相当から OpenBSD 3.7 相当に

FreeBSD の以前のリリースからのアップグレード

FreeBSD 6.0-RELEASE へのソースからのアップグレードは FreeBSD 5.3-RELEASE 以降のみサポートされている。これより前のシステムを使用しているユーザは先ず FreeBSD 5.3 以降にアップデートし、それから FreeBSD 6.0-RELEASE にアップデートすること。

6-STABLE

ということで早速

  1. CVSup
  2. make buildworld && make buildkernel
  3. make installworld && make installkernel && mergemaster -svia && mergemaster -svir

を実施し、無事に終了しました。uname -a はこんな感じです。

firebomber# uname -a
FreeBSD firebomber.tclet.ne.jp 6.0-STABLE FreeBSD 6.0-STABLE #2: Sat Nov  5 18:44:15 JST 2005
     ueda@firebomber:/usr/obj/usr/src/sys/GENERIC  i386

ありゃりゃ、CVSup の際の tag を RELENG_6 のままにしてたようです ^^;)。まぁ、RELEASE 相当ということで。

pf

で、OpenBSD 3.7 相当の pf が入ったので overload が使えるようになりました ^^)。これ、結構面白いので man pf.conf で見てみて下さい。簡単に(好い加減に?)まとめると

  • ある閾値(同時接続数、単位時間当たりの同時接続数など)を超える = overload
  • overload した IP を特定のテーブルに突っ込むことが可能
  • SMTP なら pf の spamd に rdr で転送することで、spammer に一時エラーをゆーーーーっくり返すことが可能

です。手元の VMware 環境で試しただけですが、効果抜群! という感じでした*1

*1:これを実装できる環境が現時点では無いのが残念だ...