・2008/06/07 里親になりそうです
・2008/06/15 やってきた
・2008/06/16 写真と動画
・2008/07/18 もみちゅぱ
・2008/07/20 もみちゅぱ動画
・2010/06/09 猫を飼ってる人には判ること
・2011/04/30 もみもみちゅぱちゅぱ
・2011/05/01 むにゅーん
☆エイプリルフール
・2005/04/01
・2004/04/01
・2003/04/01
☆サーバ設定
・2004/12/14(1) ハード・ソフト一覧
・2004/12/14(2) OS Install
・2004/12/15(1) /etcの下
・2004/12/15(2) 各portの設定
・2004/12/17(1) RAIDディスク監視
・2004/12/17(2) IDEディスク監視
・2004/12/17(3) HotSaNIC
・2008/05/31 メンテナンスのお知らせ文テンプレ
・2008/06/01 ECCエラーなHDD入れ替え
・2008/12/30 HDD入れ替え
・2009/06/06 電源が壊れたときの作業ログ
・2011/05/29 tDiaryを3.0系統に入れ替えたときのパッチ
☆Xperia acroHD・Android
・2012/12/22 root取り~Titaniumまで
・2013/01/06 アプリ整理・Link2SD
・2013/01/21 旧端末→新端末アプリ移動
・2013/02/09 旧端末分解・アプリ整理
☆写真
・2002/12/31 冬コミ ブリジットコス
・2004/02/16 Babyロリ服
・2011/03/09 リーマンコス(笑)
・2011/07/19 BABYロリ服・浴衣
・2011/08/13 夏コミ2日目。薄桜鬼千鶴・BABYロリ服
・2011/08/14 夏コミ3日目。リリカルなのは制服・薄桜鬼千鶴
☆その他
・2004/08/08 tDiary改造メモ
・2003/02/18 キャッチセールスの断り方
・2010/08/12 リネ2 FFC応募作品
・2011/07/12 リネ2とTERAとの比較記事
2004-12-15 (Wed) 「あげる・ください」リストもこっそり更新してます。そちらもよよしく
★[サーバ] 設定メモ書き(3) [22:22]
昨日の続きのメモ書きです。(たぶん今週いっぱいかかる)
●システム設定
【/etc/fstab】
ディスク割り当ては、RAID 部分を /home など、データが飛んではまずい部分に。
IDE の(単体)ディスクを swap や /tmp などのデータが飛んでも良い部分と、RAID の backup に。
(RAID 導入の目的はデータの保護で、無停止運用ではないので、全部 RAID にはしなかった。hotswap もコストかかるし、やってない。
ディスクが飛んだらシステムは止まるけど(RAIDの1台が飛んでも箱をあけて中身を交換)、データは保護される仕組み)
# Device Mountpoint FStype Options Dump Pass#
/dev/da0s1a / ufs rw 1 1
/dev/da0s1g /home ufs rw,userquota 2 2
/dev/ad0s1d /tmp ufs rw 2 2
/dev/da0s1d /usr ufs rw 2 2
/dev/da0s1e /var ufs rw,userquota 2 2
/dev/da0s1f /var/log/httpd ufs rw 2 2
/dev/ad0s1e /backup ufs rw 2 2
#/dev/acd0 /cdrom cd9660 ro,noauto 0 0
procfs /proc procfs rw 0 0
【/usr/local/etc/rc.d/000.swapon-md0】
fstab を見て判るとおり swap が無い。IDE のディスクが昔のサーバから引っ越したものであり、歴史的事情による (bsdlabel するわけにいかなかったのだ)
swap が無いのは不安なので、/backup 上に swap というファイル(2Gバイト)を作り、それを md デバイス経由で swapon している。
# dd if=/dev/zero of=/backup/swap bs=1M count=2048
# chmod 600 /backup/swap
そして、mdconfig を実行するスクリプトを rc.d で走らせている。
このスクリプト、mdconfig でできるデバイスが md0 であると仮定しているのであまり良くないが、
起動時にしか実行されない(=起動後1回目の実行なので必ず0番が割り当てられるはず)のなら問題は無いだろうということで、そのままで放置。
#!/bin/sh
case "$1" in
start)
# swap
mdconfig -a -t vnode -f /backup/swap
swapon /dev/md0
;;
stop)
swapoff /dev/md0
mdconfig -d -u md0
;;
*)
echo ""
echo "Usage: `basename $0` { start | stop }"
echo ""
exit 64
;;
esac
【/etc/rc.conf】
このサーバが置いてあるネットワークは特殊で、NIC には 192.168.xxx.xxx を振って、router で tunnel して global IP を振っている。
(こうすることで 8IP の契約でそのまま 8IP が使えるそうだ)
ここで載せているのは前半部、ports の起動設定は後の項目にて。
hostname="mike.suteneko.jp"
cloned_interfaces="gif0"
ifconfig_fxp0="inet 192.168.xxx.xxx netmask 255.255.255.0"
ifconfig_gif0="inet 218.44.240.166 netmask 255.255.255.255 218.44.240.xxx
tunnel 192.168.xxx.xxx 192.168.xxx.xxx mtu 1454"
defaultrouter="-iface gif0"
kern_securelevel_enable="NO"
keymap="jp.106"
inetd_enable="NO"
sshd_enable="YES"
portmap_enable="YES"
ntpdate_enable="YES"
ntpdate_flags="xxxxxxxx.ocn.ad.jp"
ntpd_enable="YES"
named_enable="YES"
named_flags="-u bind"
firewall_enable="YES"
firewall_type="/etc/ipfw.conf"
firewall_quiet="NO"
firewall_logging="YES"
firewall_flags="-q -p /usr/bin/cpp"
blanktime="NO"
enable_quotas="YES"
check_quotas="YES"
sendmail_enable="NO"
usbd_enable="YES"
ipv6_enable="NO"
clear_tmp_enable="YES"
【/etc/ipfw.conf】
FreeBSD に pf が導入されたのは知っているんですが、まだ導入されたばっかりで枯れては居ないと思うので、ipfwを使っている。
そのまま使うとわかりにくいので、cpp をかませてる。rc.conf にこんな感じで書いてる。
firewall_enable="YES"
firewall_type="/etc/ipfw.conf"
firewall_quiet="YES"
firewall_logging="YES"
firewall_flags="-p /usr/bin/cpp"
以下が /etc/ipfw.conf
ホントはstatefulにしたい(check-stateルール)ところだけど、CPUがしょっちゅう100%に貼り付くような状態では不可能 (T_T)
(この設定内容を書くのはすごく不安……ということで適当に編集します。コピペしてうまく動く保証はありません)
/*
* ipfw setting for mike.suteneko.jp
* 2002/10/24-2004/12/15, suteneko
*
* ipfw -p /usr/bin/cpp /etc/ipfw.conf
*
* rule 01xxx : trust I/F
* rule 02xxx : allow established packet
* rule 03xxx : skipto
* rule 04xxx : any to GLOBAL_IP in
* rule 05xxx : GLOBAL_IP to any out
* rule 06xxx : from IRC-Servers to GIP in
* rule 65xxx : log denied packets
*/
#define GIP 218.44.240.166
#define LIP 192.168.xxx.xxx
#define GIF gif0
#define LIF fxp0
#define LOOP lo0
#define LOG log logamount 0
#define IRCNARAWIDE 192.244.23.2
#define IRCTOKYOWIDE 192.244.23.1
#define IRCFUJISAWAWIDE 192.244.23.3
#define SLAVENAMESERVER1 218.xxx.xxx.xxx
#define SLAVENAMESERVER2 219.xxx.xxx.xxx
#define ROUTER 192.168.xxx.xxx
/* delete rules made by rc.firewall */
flush
/* trusted I/F */
add 01001 allow all from any to any via LOOP
/* local connection */
add 01002 allow all from GIP to GIP
add 01003 allow all from LIP to LIP
/* tunnel I/F */
add 01011 allow 4 from ROUTER to LIP
add 01012 allow 4 from LIP to ROUTER
/* allow TCP packet if setup success */
add 02001 allow tcp from any to any established
add 02002 allow tcp from any to any frag
/* spam sites */
add 02501 deny ip from xxx.xxx.xxx.xxx to any
add 02502 deny ip from xxx.xxx.xxx.xxx to any
add 02503 deny ip from xxx.xxx.xxx.xxx to any
add 02504 deny ip from xxx.xxx.xxx.xxx to any
/* skipto */
add 03001 skipto 06001 all from IRCNARAWIDE to GIP in
add 03002 skipto 06001 all from IRCTOKYOWIDE to GIP in
add 03003 skipto 06001 all from IRCFUJISAWAWIDE to GIP in
add 03011 skipto 04001 all from any to GIP in
add 03011 skipto 04001 all from any to LIP in
add 03012 skipto 05001 all from GIP to any out
add 03012 skipto 05001 all from LIP to any out
add 03021 deny LOG all from any to any
/* any to me in */
/* services by admin */
add 04001 allow tcp from any to any http,ssh,ftp,20,smtp,pop3
add 04002 allow udp from any to any domain,ntp
add 04003 allow tcp from any ssh to any
add 04004 allow udp from any domain to any
/* allow some ICMP
* icmptypes 0: Echo Reply (used in ping)
* icmptypes 3: destination unreachable (RFC2979)
* icmptypes 8: Echo (used in ping)
* icmptypes 11: time-to-live exceeded (used in traceroute)
*/
add 04011 allow icmp from any to any icmptypes 0,3,8,11
/* application software support
* FTPD passive port: xxxxx-xxxxx
* IRC-bot:
* (略)
*/
add 04021 allow tcp from any to any xxxxx-xxxxx
add 04021 allow tcp from any to any xxxx,xxxx,xxxx,...
/* allow dns transfer */
add 04032 allow tcp from SLAVENAMESERVER1 to any domain
add 04033 allow tcp from SLAVENAMESERVER2 to any domain
/* deny others */
add 04041 deny tcp from any to any 137-139
add 04042 reset tcp from any to any ident
add 04043 deny LOG tcp from any to any setup
add 04044 deny tcp from any to any
add 04045 deny all from any to any
/* me to any out */
add 05001 allow all from any to any out
/* IRC-servers to me in */
add 06001 allow tcp from any to any http,ssh,ftp,20,smtp,pop3,ident
add 06002 allow udp from any to any domain,ntp
add 06003 allow tcp from any ssh to any
add 06004 allow udp from any domain to any
add 06011 allow icmp from any to any icmptypes 0,3,8,11
add 06021 reset tcp from any to any
add 06022 deny all from any to any
★[サーバ] 設定メモ書き(4) [23:59][随時最新情報に更新:最終更新 01/19 20:46]
今度はports。関係ないけど ports といった場合は collection 全体で、1つ1つは port と言うそうだ。知らなかった(^^;
●各portの設定
パッケージ名 | 設定 | 意味 |
editors/vim | WITHOUT_X11=yes | - |
java/jdk14 | MINIMAL=yes | 最小インストール。いろいろ入れない |
mail/qpopper | WITH_DRAC=yes | POP before SMTP を使う場合にon |
WITH_PAM=yes | - | |
WITH_POPPASSD=yes | - | |
WITH_SHY_ENABLED=yes | qpopper のバナーに version を出さない | |
WITH_STANDALONE_MODE=yes | inetd からの起動ではなくて daemon 化する | |
net/rsync | WITH_POPT_PORT=yes | buildに必須 |
sysutils/xmbmon | WITHOUT_X11=yes | - |
www/apache2 | WITH_MPM=worker | worker thread を有効に |
WITH_THREADS=yes | thread を有効にする | |
WITH_SUEXEC=yes | - | |
SUEXEC_DOCROOT=/home | - | |
SUEXEC_LOGFILE=/var/log/httpd/httpd-suexec.log | - | |
SUEXEC_UIDMIN=2000 | - | |
SUEXEC_GIDMIN=2000 | - | |
www/mod_fastcgi | WITH_APACHE2=yes | Apache2で使うためのオプション |
www/webalizer | WITH_LZW=yes | GIF関連。特許が解決されたのでオプションなくなった? |
以上の部分を /usr/local/etc/pkgtools.conf の MAKE_ARGS 欄に記載。こんな感じ
MAKE_ARGS = {
'java/jdk14' => 'MINIMAL=yes',