続・固定電話なしで

# これまでの経緯
ZaWorld: 固定電話なしで


で、BBエキサイトの資料が届く。
ざっと目を通すと、工事の詳細が決まってから記入するっぽいなぁこれ。というわけで不動産屋の反応待ち。

後日、「3/15にマンションタイプ工事終わりますよ」と不動産屋から連絡。
116の人は「準備できたら連絡する」ようなことを言っていたので大人しく待ってみる。

…でも連絡がこないので、不動産屋が言っていた代理店に連絡してみる…けどやっぱり日曜はやってないか。
卒業式、謝恩会を終えて3/22に再び電話。どうも代理店経由だといままで116とやってきた処理が無駄になるっぽいな。
この辺の理解不足が悔やまれる。

というわけで、代理店には「ちょっと116の方に聞いてみる」として116に電話。経緯を説明。
どうも書類の工事関係の部分は向こうが書いてくれるらしい。分からない点はすぐに聞いてみるべきでしたorz


でもって工事日を決定。4/10_| ̄|○遠いよ…

・まとめ
固定電話なしでBフレッツを使うには

(1) とりあえず116に電話する
(2) どこどこでBフレッツを申し込みたいんだが固定電話を引くつもりはない。どうしたらいい?と聞く
(3) たぶんその地区の116オペレータに転送される。んでそのオペレータが今後担当してくれるはず。
(4) 本人確認。免許証などをFAX送信。
(5) エリア確認。マンションタイプなら、マンションまで工事が済んでいるかの確認。そうでない(ハイパーファミリー等)場合は現地調査の日程相談
(6) プロバイダ込みの場合は書類を送ってもらう
(7) 工事日決定
(8) プロバイダ等の書類が届く
(9) 工事、開通

…のハズ。


・結論
(1) 早め早めに行動
(2) 分からなかったら人に聞く!


10日間ネット断ち耐えられるかなorz

投稿者 Zawa : 20:25 | コメント (0) | トラックバック (0)

固定電話なしで

固定電話なしでBフレッツに申し込んでみる。

・ネットから問い合わせ
反応悪いのであきらめ

・116にかける
とりあえず用件伝える(引っ越し先で固定電話なしでBフレに申し込みたい。住所は〜〜)と、茨城の116に転送してくれた。
つくば116の人が出て、ちゃんと用件も伝わってた。
アパート名、部屋番号を伝えると「マンションタイプ通ってます」とのこと。俺の入る棟は入ってなかったはずだけどオペレータがそういうんだからとりあえず話を聞いてみる。マンションの方が開通早いようだし。
で、日程は最短で2〜3営業日とのこと。プロバイダとセットで申し込むなら割引のサービスもあるよ、とのことなのでとりあえずBBエキサイトで頼んでみる。

…すると、「申し訳ありません、ちょっと勘違いしてまして…」どうやらやはり俺の入る棟にはマンション通ってなかったようで。予定通りハイパーファミリーでお願いする。

本人確認が必要なので、免許証のコピーをFAXしてくれと言われる。持ってねえので保険証で。あとはこっちの連絡先(携帯)を教えて終わり。
プリンタで保険証をA4コピーして、余白にオペレータの名前(と一応自分の新居の住所、携帯番号も)を書いてFAX送信、と。

本人確認取れたら現地調査、予定日決定って流れになるのかな?
あと、BB駅は本人名義のクレカがないとダメですが大丈夫ですか?って聞かれた。

最後にフレッツグループアクセスについて伺っても大丈夫ですか?って聞いたら申し訳なさそうに「まだそのような研修は受けておりませんので…」と。ダメもとで聞いたので、すぐに取り下げる。こっちはあとで別のところに聞こうと。


追記@2006/03/02
本人確認OKだったんで、立ち会いでの現地調査をどうするかの電話が116からきた。
退去予定日未定なんでわからないって言ったら、不動産屋に相談してみて確定したら連絡くれとのこと。
急ぎではないのでとりあえず不動産屋にメールしてみた。


そしたら電話で。文面にするとちょいと長くなるのでとのことらしい。
で、俺が入る棟でも3月中旬ぐらいからマンションタイプが使えるようになるらしい。
値段的にも工期的にもマンションの方がいいんじゃないですか?とのことなので、マンションでいいやと。
不満があったら入居した後にでもハイパーファミリーに変えりゃいいわけだし。

というわけで116に掛けて繋いでもらってその旨告げる。どうもNTT側ではそういう情報を補足してないらしいんですが(;´Д`)
念のため確認をとっておこうか。とりあえずマンションタイプで話を進めてもらうことに。BB駅に関しては書類とかを現住所に送ってくれることになった。

とりあえずこれで一段落かな?

投稿者 Zawa : 12:55 | コメント (0) | トラックバック (0)

proftpdをMySQLであれこれ

テスト環境でproftpdをいろいろいじってみる。

システム:VineLinux3.1

・まずsudoerになる(常用ユーザ名=hoge)
$ su -
# visudo
hoge ALL=(ALL) ALL
を追加

・MySQLをインストール
# apt-get update
# apt-get install MySQL-server
# apt-get install MySQL-client
# apt-get install MySQL-shared
# apt-get install MySQL-devel

# /usr/bin/mysqladmin -u root -h localhost.localdomain password '設定するパスワード'

・OpenSSLをインストール
# apt-get install openssl
# apt-get install openssl-devel

・zlibのdevelパッケージをインストール
# apt-get install zlib-devel

・proftpdの用意
$ sudo mkdir /usr/src/proftpd
$ cd /usr/src/proftpd/
$ sudo chown hoge .

$ wget 'ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.gz'
$ tar zxvf proftpd-1.2.10.tar.gz

$ wget 'http://www.hakusan.tsg.ne.jp/tjkawa/software/misc/proftpd-sjis/pack/proftpd-1.2.10-sjis.patch.gz'
$ gunzip proftpd-1.2.10-sjis.patch.gz

$ wget 'http://www.castaglia.org/proftpd/modules/proftpd-mod-dynmasq-0.1.tar.gz'
$ tar zxvf proftpd-mod-dynmasq-0.1.tar.gz

$ wget 'http://www.castaglia.org/proftpd/modules/proftpd-mod-md5fs-0.9.1.tar.gz'
$ tar zxvf proftpd-mod-md5fs-0.9.1.tar.gz

$ wget 'http://www.castaglia.org/proftpd/modules/proftpd-mod-load-1.0.1.tar.gz'
$ tar zxvf proftpd-mod-load-1.0.1.tar.gz
$ cd mod_load/
$ ./configure

$ wget 'http://www.castaglia.org/proftpd/modules/proftpd-mod-ban-0.4.5.tar.gz'
$ tar zxvf proftpd-mod-ban-0.4.5.tar.gz


・パッチ、モジュール追加
$ cd proftpd-1.2.10
$ patch -p1 < ../proftpd-1.2.10-sjis.patch
$ cp ../mod_dynmasq/mod_dynmasq.c ./contrib/
$ cp ../mod_md5fs/mod_md5fs.c ./contrib/
$ cp ../mod_load/mod_load.c ../mod_load/mod_load.h ./contrib/
$ cp ../mod_ban/mod_ban.c ./contrib/

$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-ctrls \
--with-modules=mod_codeconv:mod_df:mod_dynmasq:mod_md5fs:mod_tls:mod_ctrls_admin:mod_load:mod_ban:mod_sql:mod_sql_mysql \
--with-includes=/usr/include/openssl:/usr/include/mysql \
--with-libraries=/usr/lib/mysql

$ make
$ sudo make install

・/etc/proftpd.conf は
# mod_ctrls設定
<IfModule mod_ctrls.c>
ControlsACLs all allow user root,hoge
ControlsEngine on
ControlsLog /var/proftpd/Controls.log
</IfModule>

# mod_ctrls_admin設定
<IfModule mod_ctrls_admin.c>
AdminControlsACLs all allow user root,hoge
AdminControlsEngine on
</IfModule>

# mod_load設定
<IfModule mod_load.c>
MaxLoad 8.0 "Server busy."
</IfModule>

# mod_ban設定
<IfModule mod_ban.c>
BanControlsACLs all allow user root,hoge
BanEngine on
BanTable /var/proftpd/BanTable
BanLog /var/proftpd/Ban.log
BanMessage "User %u @ %a has been banned."

# イベントBAN設定
# ログイン試行を1分間に2回おこした場合、10分間BANする
BanOnEvent MaxLoginAttempts 2/00:01:00 00:10:00

</IfModule>

こんな感じで。


・mod_ctrls.c
ユーザhogeをKickする
$ ftpdctl kick user hoge

・mod_ban.c
ユーザhogeをbanする
$ ftpdctl ban user hoge
ユーザhogeのbanを解除する
$ ftpdctl permit user hoge
BAN情報表示
$ ftpdctl ban info -v

こんな感じで制御できた。
続きは後日。

投稿者 Zawa : 23:03 | コメント (0) | トラックバック (0)

FTPd妄想メモ

proftpd1.2.10 のフロントエンドとかその辺の話。
1.3.xじゃないのはSJISパッチがないため。

mod_ctrls_admin
現在いい加減に実装してる処理は mod_ctrls_admin の
up/down/shutdown/restart/kick
でいけるっぽい。
DDNS反映のためにいちいちコマンド叩くのもだるいのでFE作っちゃおうか。

mod_load
ロードアベレージで接続制限を行うモジュール
空気を読めないユーザへの対策に使えるかね

・mod_sql + MySQL
SQLでの認証には別にこだわらない。まぁやると思うけど。
最終ログイン時刻とかはほしいところ。
あとは日付別の総転送量とかも面白いかな?

まぁ、メインとしてはSQLLogでログ取りに使用。
マニュアル読んだらLogFormat/ExtendedLogの書式が使えるようだ。
ディレクトリの取得がうまくできれば、STORコマンドがクライアントによってフルパスで来たりそうじゃなかったりってのが吸収できるかね。

そうするとその日の転送ログ表示がSELECTで行えるようになってスマートに。
アクセスレベルも設定しておけば、どのグループのログまで見られる、とかできるか。
あとはそのファイルがどれくらいダウンロードされたか、ってのも面白いかも。
ファイルのアップロード成功ログにそのユーザ名を書いておいて、
そのユーザは自分のアップロードしたファイルについてのみ、どれくらい落とされたか見られるって感じで。

…む、そうなるとHTTPなりで認証やらなきゃいけなくなるのか。
ちょいと面倒かなコレ。クッキー処理とかめんどくさいし。費用対効果薄そうだな…


まぁメモなんでこれくらいに。
しかし、なんとかして使用帯域幅を取得できんのか。

投稿者 Zawa : 11:05 | コメント (0) | トラックバック (0)

pure-ftpdのテスト

pure-ftpdを2.6なRedhatLinuxに入れてみた。

$ wget 'ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.20.tar.gz'
$ tar zxvf pure-ftpd-1.0.20.tar.gz
$ cd pure-ftpd-1.0.20

さて、どうconfigureしてやろうか。まずは目に付いた奴だけ有効にしてみる。
http://homepage.mac.com/proc/pureftpd/pureftpd-option.html#configure-usage ここ参照。

$ ./configure --with-paranoidmsg --with-largefile --with-tls --with-privsep --with-ftpwho --with-uploadscript --with-throttling --with-peruserlimits --with-virtualchroot --without-inetd --with-diraliases

--with-paranoidmsg

ユーザ不在時の認証失敗のメッセージとパスワードの誤りによる認証失敗のメッセージとを同一にする

一応セキュリティのために。

--with-largefile

32bitアーキテクチャで2GB以上のファイルのダウンロードに対応する。

一応。

--with-tls

AUTH TLSに対応する。詳細はREADME.TLSを参照のこと。

暗号化のTLSね。ちなみに --with-certfile= で指定するらしい。
とりあえずデフォルトの /etc/ssl/private/pure-ftpd.pem で。

--with-privsep

OpenSSHのようなprivilege separation機能を有効にする。詳細はREADMEの「PRIVILEGE SEPARATION」を参照のこと。

念のため。

--with-ftpwho

pure-ftpwhoコマンドによるftpwho機能を有効にする。この機能はメモリを余分に消費する。

proftpdに足りないのはコレですよコレ

--with-uploadscript

ファイルがアップロードされた時に外部スクリプトを呼び出すpure-uploadscript機能を有効にする。

セキュリティ上問題になるけど便利なので有効に

--with-throttling

帯域制限機能を有効にする。

一応。

--with-peruserlimits

同一ユーザの同時アクセス数制限機能を有効にする

これは必要かと

--with-virtualchroot

chroot()を使わない仮想chroot機能を有効にする。このオプションを指定しなければ一般的なchroot機能が標準で有効になる。chroot領域外へのシンボリックリンクを作りたい人のための機能。

chroot外を見に行けた方が便利……かね?

--without-inetd

inetdからの起動に対応しない。スタンドアロンのみでの運用の場合に使う。

inetdは使わないので。

--with-diraliases

ディレクトリエイリアス(ショートカット)機能を有効にする。詳細はREADMEファイルの「DIRECTORY ALIASES」を参照のこと。

なんか便利そうだ


というわけでごー。
$ ./configure --with-paranoidmsg --with-largefile --with-tls --with-privsep --with-ftpwho --with-uploadscript --with-throttling --with-peruserlimits --with-virtualchroot --without-inetd --with-diraliases

通った。

$ make

これも通った。

$ sudo make install

さくっと終了。


・設定のコピー
$ sudo cp ./configuration-file/pure-ftpd.conf /etc/pureftpd.conf

・んで編集
$ sudo emacs /etc/pureftpd.conf


// 以下変更点だけ

# Maximum number of sim clients with the same IP address

MaxClientsPerIP 2

1つのIPにつき許可するクライアント数。5->2

# Disallow anonymous connections. Only allow authenticated users.

NoAnonymous yes

AnonymousFTPにはしないので no->yes

# Maximum idle time in minutes (default = 15 minutes)

MaxIdleTime 5

421タイムアウトになるまでの時間。15->5

# IP address/port to listen to (default=all IP and port 21).

# Bind 127.0.0.1,21
Bind 0.0.0.0,1021

使用するIPアドレスとポート番号。
既にproftpdが動いてる上での動作テストなので
全IPアドレス:1021をバインドするようにしてみる。

# Port range for passive connections replies. - for firewalling.

PassivePortRange 10000 10099

PASVモードで使うポートの下限と上限。デフォルト30000-50000から適当に変更。


# Force an IP address in PASV/EPSV/SPSV replies. - for NAT.
# Symbolic host names are also accepted for gateways with dynamic IP
# addresses.

# ForcePassiveIP 192.168.0.1
ForcePassiveIP www.syonbori.net

PASVモードでの応答に使うIPアドレス。DDNSアドレスを指定してもOK

# If your pure-ftpd has been compiled with pure-uploadscript support,
# this will make pure-ftpd write info about new uploads to
# /var/run/pure-ftpd.upload.pipe so pure-uploadscript can read it and
# spawn a script to handle the upload.

CallUploadScript yes

アップロード後にスクリプトを呼ぶ機能の設定。コメントアウトする。

# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
# including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS 1

TLS接続の設定。1にする(=コメントアウトする)
0: SSL/TLSを使わない
1: SSL/TLSでも、通常の暗号化されないものも許可する
2: SSL/TLS以外受け付けない

・起動
pure-config.pl から起動って書いてあるけど /usr/local/sbin にないのでコピー
$ sudo cp ./configuration-file/pure-config.pl /usr/local/sbin/
$ sudo chmod 755 /usr/local/sbin/pure-config.pl

・今度こそ起動
$ sudo /usr/local/sbin/pure-config.pl /etc/pureftpd.conf
Running: /usr/local/sbin/pure-ftpd -A -c50 -B -C2 -D -E -fftp -H -I15 -L2000:8 -m4 -p10000:10099 -Pwww.syonbori.net -s -S0.0.0.0,1021 -U133:022 -u100 -o -k99 -Z -Y1
[sid@gruen pure-ftpd-1.0.20]$ ps -aux
root 8494 0.0 0.4 6540 1208 ? S 22:59 0:00 /usr/local/sbin/pure-ftpd -A -c50 -B -C2 -D -E -fftp -H -I15 -L2000:8 -m4 -p10000:10099 -Pwww.syonbori.net -s -S0.0.0

よし、起動してるようだ。
次はローカルからテスト。

$ ftp
ftp> open 127.0.0.1 1021
Connected to 127.0.0.1 (127.0.0.1).
220 Please login with valid ID and Pass.
Name (127.0.0.1:sid): sid
331 Password required for sid.
Password:
230 User sid logged in.
Remote system type is UNIX.
Using binary mode to transfer files.

はいれた。lsも見えるな。


・LAN内からテスト
同一LAN内のWindowsクライアントからテスト。
SmartFTPでのぞいてみると…あっけなくログイン完了。

・日本語ファイル名
やっぱダメでした。さてどうするか。

投稿者 Zawa : 21:44 | コメント (0) | トラックバック (0)

パーツ到着

昼過ぎにFaithからHDD*2とメモリが届く。マザーはまだ。
とはいえ時間が惜しいので、kamikazeから借りてるマザーで
memtest86をかけて放置。

Duron1.2Gだけどかなり熱くなっててヤバス
仕方ないのでこんな感じで8センチファンを投入。

んでしばらくしたら郵便局のおねーさんが。
しこの中の人からマザーが届きました。

つーわけで以前衝動買いしたワークステーションのケースを
引っ張り出してきてマザーを取り付け。

自室じゃ狭くて作業できないんで、隣の部屋で作業してたんですが
かなり暑かったんでクーラーを投入。

…冷えないorz

あとでおかんが見たところ、「室外機のファンが回ってない」
近いうちに直しに来るそうです。

んで汗だくになりながら取り付け作業を続行。

ドライブベイがレール式(わかりにくいな。ねじ使わないで止めるアレね)なんで
どうやってもHDD3台を固定できないことが発覚orz

とりあえずメインHDDは5.25インチマウンタを履かせてからレールで、
データ用HDD(1)は唯一の3.5インチHDD用レールで。

あと1台は…やっぱりマウンタ経由だろうなぁ。計算外。


んでVineLinux3.1をインストール。
せっかくなのでカーネル(2.4.31)の再構築もやっておく。
処理速度より低発熱をとりたかったんで、
AthlonMP 1800+を133*6の800MHzで使うことに。
流石にここまで落とすとカーネル再構築(make bzImage,modules)でも
さわれないくらい熱くなったりしませんでした。ぬくいぐらい。

んでlm_sensors(温度を取得するモジュール)のインストールに挫折したり
apache2.0.54/PHP5.04 をインストールしたりで今日は終了。

あとはapacheのSSLまわりと、ftp周辺/ログまわり。

つかれたー

投稿者 Zawa : 23:59 | コメント (0) | トラックバック (0)

/bin 使用不能ってw

前に仕掛けておいたハートビートのスクリプトを見る限り
やっぱり再起動かかってるらしい。。。

んで再起動かけてもらって、とりあえず
最近追加した処理であるハートビートの部分を
cronに任せようと思い、SSHでログイン。
無事接続できたので

[root@hogehoge root]# service hogehoge stop
-bash: /sbin/service: Input/output error

………(;´Д`)?

[root@hogehoge root]# df
-bash: /bin/df: Input/output error

"!?"(ビキィ


いや、その、なんだ。
/bin/* のすべてのファイルがI/Oエラーなのに
SSHでリモートから接続できるのはある意味奇跡だよな。

どうもファイルシステムがぶっ飛んだようです。
/bin が吹っ飛んでるんでほとんど何も出来ない状態。
cd ls mv といった組み込み系のコマンドは使えるんですがね…
こればっかりはどうしようもねぇよな'`,、('∀`) '`,、

ってわけで電源を落としてもらって。


しこの中の人にCPUとマザーを譲ってもらえることになったので
メモリとHDDを確保すべく資金繰り。

FaithでHDDとメモリを注文。
HDDはMaxtorのMaxLine3の250GBモデル*2。
いい加減懲りたので高信頼性の製品で。
1台はデータ用に使うんだけど、もう1台システム用に確保したい…
んだけど、システムのために250Gってのも多すぎるんだよねぇ。
かといってSCSIのは高いしw

とりあえず当面のTODO:
OS選定(無難にRedhat9か?Vine3.xも捨てがたい)
Proftpdのmod_sqlについて下調べ
パーティション割りをどうするか

投稿者 Zawa : 22:35 | コメント (0) | トラックバック (0)