「BIND」と一致するもの

自宅サーバ リプレース

ずいぶん前からIntelのD510MOが買ってあって、これで新しいサーバを組もうと思っていたのですが、このところ相当仕事が忙しくて、全く時間が無かった・・・というか寝る時間すらなかったので、かなりほって置いたのですが、やっと組み立てました。
Pentium4の531からAtomD510への移行ということで、スペックアップというよりは省電力化、静音化を狙ってという意味合いが強いです。外部公開する必要があるサービスはDNSとメールだけなので、別にスペックは必要無いのです。メールが増えてきたのでディスク容量は大幅に増加させましたが。
OSはOpenSolarisも考えましたが、Sunの買収により今後の動向が心配だったので、別のOSに移行する事にしました。個人的な趣味でFreeBSD / NetBSDでも良かったし、無難にCentOSという選択肢もアリだったのですが、GUIが使えるようにしておきたかった事と、クライアントPCとしても使ってみたかったのでUbuntu Serverにしてみました。

基本的にはDNSサーバもBind9からBind9、メールサーバもPostfix→Postfix、Dovecot→Dovecotという事でデータ移行を含めても数時間でさっくり動かすことが出来ました。
ついでにhavpとclamsmtpもインストールして、Web、メールのウイルスチェックも実施する事に。


NNTP

  • 投稿日:
  • by
  • カテゴリ:
NNTPとかINNとか。JUNETとか。Wideプロジェクトとか。懐かしいなぁ
精神的に落ち込むと何故か昔のinnに興味持ったくらいにして。「昔はよかったなぁ・・・」と。


単語で言うと
fj.unixとか
イソターネットとか

innで言うと
junk.はDiskの肥やしっていうよりジャンクなんでフィードしない設定をするとか。(newsfeeds)

Perlも5というか、5.003だったり。




個人的にインターネットに触ったのが95年位だったと記憶してるのですが、
当時は日本の独自UNIX(SVR4ベース)でNetScape1をコンパイルして動かした位で。


BINDも4だったし。(sendmail8も8.8とか、8.9位だったと・・・その後、いわゆるリレー転送の防止がパッチ出されたりしたような・・・)


PCもWindows3.1とかで、標準でTCP/IPがパソコンOSに実装されてなかったので、ソリトンのTCPをかインストールして、、、とか。
その後はWindows95の爆発的な普及とか、
個人が容易にインターネットに接続できるようになったりとか、
フレッツISDNで定額料金で利用出来るようになったりとか、
(確か月額おいくらでISDN 64k利用無制限)
ちょっと後の話で、ブロードバンドの普及だったり


起点は、95年当時のインターネットだったように思うのですが。。




インターネットって基本的に性善説だったんですよね、ちょっと悪質な利用者を戒めるのもネチケットとかいう緩いルールがベースだったし。ACLだって本来は設定する必要が無い・・・というか誰でも利用出来るのが本来・・・だったし。





とか思い出した、久々にfjの歩き方を見た今日。



当時ですが、受け側のサーバの色々な不具合があってNNTPのフィード失敗があると、
上位のINNサーバのメンテナに電話して復旧して貰ったり、、
DNSの不具合修正(とかドメイン登録、メンテその他)も電話して申請書をFAXだったりとか。
ある意味、今より緩かった記憶がありますね。
Face by faceでインターネット接続環境を得ていたというか。


あー懐かしいなというより


bind 9.6.1-P1リリース

bind 9.6.1-p1がリリースされています。
緊急度:高となっているDynamic Update機能の脆弱性のパッチが当てられています
Dynamic Updateを利用していなくても、Masterとして稼働させているゾーンがあれば対象となる・・・ということで(セカンダリDNSであってもlocalhostと127.0.0.0はMasterゾーンとして設定されていると考えられるため)、適用は必須のようです。


BIND 9のDynamic Update機能の脆弱性を利用したDoS攻撃について



Solaris10でGNU Screenがコンパイルできないで記載したとおり、何とかSolaris10でGNU Screenが使えるようになった訳ですけど。。。

ネタもないので、自分の.screenrc(GNU Screenの設定ファイル)を晒してみます。

escape ^Tt
startup_message off
hardstatus on
hardstatus alwayslastline "screen %{= wk} %`%-w%{=b bw}%n %t%{-}%+w %u %= %{= KG} %02m/%02d %{= KM}[%02c] "
autodetach on
defscrollback 20000
vbell on
bell ^G
idle 180 blanker
blankerprg fortune meigen
bind -c REGION 2 split
bind -c REGION 1 only
bind -c REGION 0 remove
bind -c REGION o focus
bind -c REGION ^ resize
bind x command -c REGION
bind w windowlist -b
bindkey "\033[5D" prev
bindkey "\033[5C" next
工夫というか、hardstatusで常に最下行にScreenのウインドウ一覧と日時が表示されるようになっています。キーバインドはCtrl+T。デフォルトのCtrl+Aは使いにくいし、Ctrl+XはEmacsと被るし、Ctrl+Zはシェルと被るので、、、不都合の少ないであろうキーを割り当てました。(昔はCtrl+Xだったんですが・・・)

あと、fortuneを入れておいて、3分放置すると名言集辞書が表示されるようになってます。
結構、ssh接続しっぱなしで放置する事が多いもんで。(^^;

Solaris10 x86で64ビット

Bindですが、さっくりコンパイルする分には問題なかったのですが、
真面目に環境作ろうとすると、ちょっとつまずいたので。

どうせなら、OpenSSLも最新にしてやろうという考えだったんですが。

sunfreeware.comからダウンロードしたgcc3.4.6はどうも32ビット版のようで、OpenSSLのインストールが失敗する。

OpenSSL0.9.8k
$ ./config
$ gmake
gcc -I. -I.. -I../include -DOPENSSL_THREADS ¥
    -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H ¥
    -m64 -O3 -Wall -DL_ENDIAN ¥
    -DMD32_REG_T=int -DOPENSSL_BN_ASM_MONT ¥
    -DSHA1_ASM -DSHA256_ASM ¥
    -DSHA512_ASM -DMD5_ASM -DAES_ASM  ¥
    -c -o cryptlib.o cryptlib.c
cryptlib.c:1: sorry, unimplemented: 64-bit mode not compiled in
gmake[1]: *** [cryptlib.o] Error 1
gmake[1]: Leaving directory `/usr/local/src/openssl-0.9.8k/crypto'
gmake: *** [build_crypto] Error 1
これは標準でインストールされているgcc(3.4.3)では、32ビット版と64ビット版のバイナリがどちらも生成できるようになっているので、不要なgccをアンインストールして対処。
$ sudo pkgrm SMCgcc
OpenSSL0.9.8k
$ ./config
$ gmake
$ sudo gmake install
で、OpenSSLのインストール完了。

この64ビット版と32ビット版の違いというヤツがbindでハマルもとになるのですが。

BIND 9.6.0-P1
$ ./configure --prefix=/usr/local/bind
checking for OpenSSL library... using OpenSSL from
/usr/local/ssl/lib and /usr/local/ssl/include
checking whether linking with OpenSSL works... no
configure: error: Could not run test program using OpenSSL from
/usr/local/ssl/lib and /usr/local/ssl/include.
Please check the argument to --with-openssl and your
shared library configuration (e.g., LD_LIBRARY_PATH).
でOpenSSLのライブラリが見つからないと言っているので、
crle(Linuxで言うldconfigのようなコマンド)でOpenSSLのライブラリを追加した。(まずここが間違っている・・・crleで設定するのはデフォルトでは32ビットのライブラリ検索パス)
$ crle

構成ファイル [バージョン 4]: /var/ld/ld.config
  デフォルトライブラリパス (ELF):   /lib:/usr/lib:/usr/local/ssl/lib
  トラステッドディレクトリ (ELF):   /lib/secure:/usr/lib/secure  (システムデフォルト)

コマンド行:
  crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/local/ssl/lib
そして再び実行。

BIND 9.6.0-P1
$ ./configure --prefix=/usr/local/bind
checking for OpenSSL library... using OpenSSL from /usr/local/ssl/lib and /usr/local/ssl/include
checking whether linking with OpenSSL works... no
configure: error: Could not run test program using OpenSSL from
/usr/local/ssl/lib and /usr/local/ssl/include.
Please check the argument to --with-openssl and your
shared library configuration (e.g., LD_LIBRARY_PATH).
当たり前ですが、結果同じ。
crleじゃなくて、エラーメッセージ通りにLD_LIBRARY_PATHを設定しても

BIND 9.6.0-P1
$ export LD_LIBRARY_PATH=/usr/local/ssl/lib:/usr/local/lib:/usr/lib:/lib:
$ ./configure --prefix=/usr/local/bind
checking for OpenSSL library... using OpenSSL from /usr/local/ssl/lib and /usr/local/ssl/include
checking whether linking with OpenSSL works... no
configure: error: Could not run test program using OpenSSL from
/usr/local/ssl/lib and /usr/local/ssl/include.
Please check the argument to --with-openssl and your
shared library configuration (e.g., LD_LIBRARY_PATH).
やっぱり結果同じ。

このままだらだら調べても時間の無駄なので、config.logを眺めてみる事に。めんどくさいですが。

| #include <openssl/err.h>
| int main() {
|       ERR_clear_error();
|       return (0);
| }
|
configure:6152: result: no
configure:6157: error: Could not run test program using OpenSSL from
/usr/local/ssl/lib and /usr/local/ssl/include.
Please check the argument to --with-openssl and your
shared library configuration (e.g., LD_LIBRARY_PATH).
やはりsslのライブラリが無いと言っている・・・。(当然 /usr/local/ssl/libを見るとライブラリはある)

ここまで来て、やっとBINDが32ビットでコンパイルされている事に気がついたのですが。
ライブラリの検索パスから、全部設定するのかぁ。。。

crleも-64を指定することで64ビットライブラリの検索パスが指定できるので。
$ crle -64

デフォルト構成ファイル(/var/ld/64/ld.config) が見つかりません
  デフォルトライブラリパス (ELF):   /lib/64:/usr/lib/64  (システムデフォルト)
  トラステッドディレクトリ (ELF):   /lib/secure/64:/usr/lib/secure/64  (システムデフォルト)
当然未設定なので、設定して。
$ sudo crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/local/ssl/lib
gccに64ビットのオプション(-m64)を追加してコンパイル。
BIND 9.6.0-P1
$ CFLAGS="-m64" ./configure --prefix=/usr/local/bind --enable-ipv6=no
$ gmake
$ sudo gmake install
結局、環境構築の問題だった訳ですが。
OpenSSLが64ビットでコンパイルされたって事は、他も全部そうしなきゃいけないって事で。実は大問題だったり・・・。

ちなみにSPARC機の場合はOpenSSLはデフォルトでは32ビットでコンパイルされるので、気を遣わなくて良いです。
64ビットでコンパイルする場合は逆に
$ ./Configure solaris64-sparcv9-gcc
と明示指定する必要があります。