routeコマンド

忘れないように自分用の備忘録。
NICを2枚つんだLinuxマシンの場合、routeコマンドを使ってスタティックな転送経路を作ってあげる必要がある。
会社の構成だと、
データセンターのIP:eth0=xxx.xxx.xxx.195(一応伏字だけど、グローバルIP)
            :eth1=172.23.8.2(会社⇔iDC間のVPN)
会社のIP:192.168.2.x
当たり前だが、デフォルトゲートウェイは1つだけだから、この場合はグローバルIPが振ってあるeth0になる。
会社からサーバのeth1に疎通を図っても、デフォルトゲートウェイからパケットを出そうとするので応答が帰ってこない。
そこで、routeコマンドを使い、
route add -net 192.168.2.0 gw 172.23.8.1 netmask 255.255.255.0 eth1
と打って、スタティックルートを設定してやらなければならない。
【200/11/12追記】
rooutコマンドでは、ネットワークの再起動を行った時に設定内容がクリアされてしまう。
恒久的に設定を行う場合、/etc/sysconfig/network-scripts/route-eth*に設定内容を記述する必要がある。
【route-eth* の記述例】
「ネットワーク[192.168.2.0/24]へは、ゲートウェイ[192.168.1.1]を経由する」と記述をする場合。
192.168.2.0/24 via 192.168.1.1
これでネットワークを再起動してもスタティックルートが消滅しない。

FTPとSFTPの使用制限

会社の公開FTPサーバ。
何故かFTPユーザーにもbashが付与されており、さらに外部業者とのやり取りはインターネットを介して行われる為、パケットキャプチャされたらユーザー名とパスワードがバレバレな状況で稼動していました。
ディスクも8GBの物を使用していた為、ディスク増設を期にセキュリティを上げる事にします。
外部からの接続は、FTPからSFTPに。
さらに事業部毎でデータ容量が違うので、quotaを設けます。
・quota使用の宣言
fstab内の、容量制限を行なうパーティション欄に”usrquota”を追記する。
今回は、/homeに対してquotaを掛ける。
vi /etc/fstab
LABEL=/home /home ext3 defaults,usrquota 1 2
・/homeの再マウント
quota使用する為、パーティションの再マウントを行なう。
mount -o remount /home
・quota設定のデータベース作成
quotacheck -cumv /home/
・ユーザ毎のquota設定
edquota hogehoge
Disk quotas for user hogehoge (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/hda5 36 9961472 10485760 8 0 0
quotaの設定は、容量(blocks)と、ファイル数(inodes)に変われており、それぞれ警告表示(soft)と物理境界線(hard)に分類される。
今回は、容量を10GBまでと設定するので、blocksのsoftに9.5GB分、hardに10GB分の数値をキロバイトで入力。
ここまで完了したら、再起動を行なう。
再起動後、quotaが有効になる。
ためしに、ファイル数のhardを12とし、13個以上ファイルのアップロードを行なおうとしたら、
200 PORT command successful. Consider using PASV.
553 Could not create file.
とエラーが表示され、アップロード出来なかった。
さて、問題はココから。
社内から通常のFTPアクセスを行なわせ、社外からはSFTPにて接続させたと思っている。
その際の接続制限の方法が見当たらない。
単純に、/etc/hosts.allowに、
in.ftpd: 127.0.0.1 192.168.0. 192.168.1.
と記述しても、FTPの処理を行なうのはFTPデーモンになるので、ネットワークレベルの規制は無理なんじゃないか?
デーモンレベルでアクセスを制限する方法しか知らんので、別の制限方法を探して見るか。
・・・2007/07/28 追記・・・
どうも、SFTPはSSHポートのみしか使わないらしい。
つーことは、/etc/hosts.allowでの制限でいけるんじゃない?w
と思って、設定。
あれ?
制限が掛かんない。hosts.allowの設定が反映されない・・・。
おかしい!と思ってググってると、どうも記述フォーマットが変更されたらしい。
ftpd: 127.0.0.1 192.168.0. 192.168.1.
と、”in”を外したら上手く制限できましたw
定期的に勉強しないと過去覚えた事も、すぐに古くなって使えなくなるから困ったものだ。

wizpyかわいいよwizpy


今年のLinux World Expo 2007に参加した時に、このプリティなOSを初めてみましたw
その名も”wizpy(ウィズピー)”!!!
ipod並に小さくて、USBブートすればTurboLinuxが動くんだって!!!
もちろんUSBブートしなくてもポータブルメディアプレーヤーとしても活用できますw
欲しいねぇ・・・。
会社に仮払いして買おうかしらw

MailサーバのSpoolerについての認識

正直、スプーラーがどういった仕組みで動くのか変わらなかった。
MXレコードが小さいメールサーバが停止した時に、一時的にメールを保存するサーバだって事はわかるんだが、spoolerに保存されたメールは手動でメインのメールサーバに移動しなければならないんだと思っていた。
ぐぐっていたら、俺の認識が違っていた。
spoolerに保存されたメールは、リレーの設定にもよるが、MXレコードが小さい方。つまりメインのメールサーバに定期的にメールを送るらしい。
Aレコード / IPアドレス / MXレコード / プリファレンス値
Mail / 192.168.1.10 / Mail.domain / 10
Spool / 192.168.1.11 / Mail.domain / 20
の場合、”Mail”が障害等で停止している時間帯に送信されたメールは、MXレコードを参照し、プリファレンス値20の”Spool”へメールを配送する。
しかし、”Spool”は自身宛のメール(xxx@Spool.domain)ではないので、自身に設定されたリレー情報を参照し、それに従いMailへ転送する。転送時に、Mailが停止していた場合、自身のspool領域に一時保存し、一定時間後、再度Mailに対して転送する。
会社のSpoolerを構築後に上記の情報を知ったので、メインのメールサーバと同じ情報を設定していた下記の項目を削除。
・ローカルユーザの削除
・メーリングリストの削除
・/var/qmail/control/rcphosts から、localhostを削除。

時間の歪みを検出

先日、仕事でqmailの検証を行なおうとした時の事。
ソースのmake中に以下のようなエラーで停止しました。
./load auto-str unix.a byte.a
./auto-str auto_home `head -1 conf-home` > auto_home.c
./load install hier.o auto_home.o unix.a byte.a
./compile instcheck.c
./load instcheck hier.o auto_home.o unix.a byte.a
make: 警告: クロックの歪みを検出。不完全なビルド結果になるかもしれません。
クロックの歪み・・・
初めて見たよ♪
こんなファンタジーなエラー♪
というのはさて置き、原因追求。
”クロック”と言っているので、直訳して”時計”?
”時計が歪んでいる”???
dateコマンドを叩くと、
1973年 ~~~~ と言った結果がwwwww
システム上、過去にタイムスリップしていましたwwwww
そりゃ、
クロックの歪みを検出。とかファンタジーなエラーが表示されるわけだw
ntpdateコマンドで時間を調節したらエラーなくmake出来たけど、久しぶりに面白い内容のエラーにぶち当たって楽しかったw

ポート25番ブロックへの対応

自宅で契約しているプロバイダが2月よりポート25番ブロックを開始した為、通常のメール送信ポートである25番(SMTP)からの直接送信が出来なくなった。
で、メール送信ポートを25番から587番(submission)に切り替え、さらにプロバイダの中継サーバを経由してあげればメール送信が可能になる。

続きを読む ポート25番ブロックへの対応

メモリ増設

今までこのサーバはPC2100(片面実装)の128MBのメモリを3枚使って動かしていましたが、yahooオークションで512MB(両面実装)のメモリが手に入った為、早速増設してみましたw
単品なのでDDRは崩れますが、サーバだしストリーミングも配信しているから、トータルメモリを優先して・・・。
で、購入したメモリを取り付けて起動させてみると、カーネルパニックを起こしてしまい、ウンともスンとも言わない状態・・・orz
片面実装と両面実装のメモリ間で相性が悪いのか?
結局、会社の先輩に相談したところ、
「ブートローダにメモリサイズを指定してみ?」
とのアドバイスを頂きましたw
家に帰ってきて、アドバイスの通りにgrub.confの記述を以下の通りにして上げると
難なくメモリを認識しましたとさw
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.19-1.2911.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.19-1.2911.fc6 ro root=LABEL=/ mem=768M
initrd /initrd-2.6.19-1.2911.fc6.img

qmailの設定

ここを参考にしてqmialを立ててみました。
最後の動作確認悩んだので、解決方法をメモっておきます。
まず、qmailでSMTPとPOP3まで構築する。
動作確認の為、自身のPOP3にtelnetを試みてみる。
$telnet localhost 110 #POP3ポートへアクセス
user hoge #ユーザー名入力
OK
pass hogehoge #パスワード入力
-ERR this user has no $HOME/Maildir
Connection closed by foreign host.

エラー内容は、環境変数$HOMEにMaildirが無いよと言うもの。
#/var/qmial/bin/maildirmake /home/jun/Maikdir #メールディレクトリの作成
メールディレクトリを作成した後、POP3にtelnetをしても同じエラーが発生。
$echo $HOME #$HOMEの環境変数を表示
/home/jun
う~ん・・・。
メールディレクトリが存在しているのに、POP3からは認識されていない・・・?
というので数時間悩みましたが、作成したMaildirへのアクセス権限が無い事が判明w
$ls -l /home/jun/Maildir
drwx—— 5 root root 4096 1月 31 22:56 Maildir
#chown -R jun:jun /home/jun/Maildir
drwx—— 5 jun jun 4096 1月 31 22:56 Maildir
所有権を変更してあげると、無事にPOP3にアクセスできましたw