このファイルをC:peplinux\startup.sに置き環境に合わせて編集して下さい。

#!/bin/sh
# PepoLinux Main Configuration Scripts. This startup.s scripts change by your idea.
# Copyright pepolinux.com pepolinux@hcc6.bai.ne.jp
# Written by IZAMUKARERA 2001.4.12:2005.1.4 for version 9.x last-up-date
# この startup.s スクリプトを自分の環境に合うように編集して下さい。
# #を外すだけで dhcp、dns、http等のサーバー機能がすぐ使える様にしています。
# デフォルトでdns、http、mailサーバが立ち上がります。
# 使用するIPが、かぶらないようにAPIPA(Automatic Private IP Addressing 169.254.0.0 - 169.254.255.255)が
# デフォルトで設定しています。先ずはIPアドレスを実環境に設定しましょう。それだけ設定して
# C:\peplinux\startup.s へ置いてCDROMから起動すればPepoLinuxのネットワーク・ワールドが開けます。


# DHCP、DNSのクライアント数を指定、これにより自動で設定ファイルを作成します。
export CLIENT=20
export HOST=`hostname | cut -c 1-4`
export HOSTNAME=`hostname`


# 1番目の eth カードのIPアドレスの設定です、前述のCLIENTの数を足して254以上にならないようにする。
# IPADDRだけは最低限設定して下さい、特に説明の必要はないでしょう。dhcpdを起動させる時はGATEWAYを必ず設定しコメントを外す事。
export IPADD=169.254.11.100/24
# デフォルトゲートウェイの設定です。
export GATEWAY=169.254.11.100

# 2番目の eth カードのIPアドレスを記述する。
export IPADD1=169.254.200.100/24

# ドメインの設定です。
export DOMAIN=osaka.kansaiben.com

# ネームサーバの設定です。
export DNS_1=169.254.11.100
export DNS_2=169.254.200.100

# メールを外部にリレーする時のメールサーバーを設定する。
export RELAYHOST=$HOSTNAME.$DOMAIN
export HOSTNAME_TDL=$HOSTNAME.$DOMAIN

# 以下はIPアドレスの詳細情報を自動作成するので触らない下さい。
export IF_PORT=10baseT
export NETMASK=`ipcalc -m $IPADD|awk 'BEGIN{FS="="};{print $2}'`
export BROADCAST=`ipcalc -b $IPADD|awk 'BEGIN{FS="="};{print $2}'`
export NETWORK=`ipcalc -n $IPADD|awk 'BEGIN{FS="="};{print $2}'`
export MASK=`echo $IPADD|awk 'BEGIN{FS="/"};{print $2}'`
export IPADDR=`echo $IPADD|awk 'BEGIN{FS="/"};{print $1}'`
export NETMASK1=`ipcalc -m $IPADD1|awk 'BEGIN{FS="="};{print $2}'`
export BROADCAST1=`ipcalc -b $IPADD1|awk 'BEGIN{FS="="};{print $2}'`
export NETWORK1=`ipcalc -n $IPADD1|awk 'BEGIN{FS="="};{print $2}'`
export IPADDR1=`echo $IPADD1|awk 'BEGIN{FS="/"};{print $1}'`
# ここまではIPアドレスの詳細情報を自動作成するので触らない下さい。


# Registration No 設定をします。
# pepolinuxの#を消すと定期的な登録を促すメッセージが解除されます。
cd /etc
cat>SERIAL<<Z
pepolinux
Z


# #を外すとWELCOMEメッセージがシンプルになります。
#rm /etc/WELCOME



# レゾルバを設定します dhcp クライアント時の設定はサーバーよりドメインとネーム
# サーバー情報を取得します、この為#でコメントアウトする必要があります。
# DNSサーバーで起動する時は二つとも#を削除します。
cat>resolv.conf<<Z
domain $DOMAIN # DNSサーバーで起動する時は#を削除します。
nameserver $DNS_1 # DNSサーバーで起動する時は#を削除します。
Z


中略


# 以下 DNS サーバーの設定をします、まずはこれで動かして色々設定を試し下さい。
cat>/etc/named.conf<<Z
options {
directory "/var/named";
forward only;
forwarders {
$DNS_2;
};
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "$DOMAIN" IN {
type master;
file "named.hosts";
};
zone "`echo $IPADDR|awk 'BEGIN{FS="."};{print $3"."$2"."$1".in-addr.arpa"}'`" IN {
type master;
file "named.rev";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
zone "." IN {
type hint;
file "named.root";
};

include "/etc/rndc.key";
Z

cat>/var/named/named.hosts<<Z
@ IN SOA $DOMAIN. $HOSTNAME.$DOMAIN. (
20000101 ;Serial
10800 ;Refesh after 3 hours
3600 ;Retry after 1 hours
604800 ;Expire after 1 week
86400) ;Minimum TTL of 1 day
IN NS $HOSTNAME.$DOMAIN.
IN MX 10 $HOSTNAME.$DOMAIN.
ftp IN A $IPADDR
dns IN A $IPADDR
www IN A $IPADDR
mail IN A $IPADDR
`echo $IPADDR.$HOSTNAME|\
awk 'BEGIN{FS="."};\
{printf ("%s\tIN\tA\t%d.%d.%d.%d\n",$5,$1,$2,$3,$4)}'`
`echo $IPADDR.$CLIENT.$HOST|\
awk 'BEGIN{FS="."};\
{for (i=1; i<$5 ;i++) \
printf ("%s\tIN\tA\t%d.%d.%d.%d\n",$6i,$1,$2,$3,$4+i)}'`

localhost IN A 127.0.0.1
gw IN A $GATEWAY
HINFO "CIZCO" "4700"
TXT "Router"
Z

cat>/var/named/named.rev<<Z
@ IN SOA $DOMAIN. $HOSTNAME.$DOMAIN. (
20000101 ;Serial
10800 ;Refesh after 3 hours
3600 ;Retry after 1 hours
604800 ;Expire after 1 week
86400) ;Minimum TTL of 1 day
IN NS $HOSTNAME.$DOMAIN.

`echo $IPADDR.$HOSTNAME.$DOMAIN|\
awk 'BEGIN{FS="."};\
{printf ("%d\tIN\tPTR\t%s.%s.%s.%s.\n",$4,$5,$6,$7,$8)}'`
`echo $IPADDR.$CLIENT.$HOST.$DOMAIN|\
awk 'BEGIN{FS="."};\
{for (i=1; i<$5 ;i++) \
printf ("%d\tIN\tPTR\t%s.%s.%s.%s.\n",$4+i,$6i,$7,$8,$9)}'`
Z

cat>/var/named/named.local<<Z
@ IN SOA $DOMAIN. $HOSTNAME.$DOMAIN. (
20000101 ;Serial
10800 ;Refesh after 3 hours
3600 ;Retry after 1 hours
604800 ;Expire after 1 week
86400) ;Minimum TTL of 1 day
IN NS $HOSTNAME.$DOMAIN.
1 IN PTR localhost.
Z
touch /var/named/named.root;chmod 644 /var/named/named.root
chown named /var/named/*;chgrp named /var/named/*

# dhcp サーバーの設定を設定します。
# dhcp
#/bin/sh
cat>/etc/dhcpd.conf<<Z
server-identifier $HOSTNAME.$DOMAIN;
option domain-name "$DOMAIN";
option domain-name-servers $DNS_1,$DNS_2;
shared-network $HOSTNAME{
option subnet-mask $NETMASK;
default-lease-time 3600;
max-lease-time 7200;
subnet $NETWORK netmask $NETMASK {
range `echo $IPADDR.$CLIENT|awk 'BEGIN{FS="."};
{print $1"."$2"."$3"."$4+1" "$1"."$2"."$3"."$4+$5";"}'`
option routers $GATEWAY;
}
}
Z


#システムの安定を待ちます。
sync
sleep 5


# dns サーバーを起動します、win98、95 クライアントで動くと思います。
service named start #echo Starting named


# dhcp サーバーを起動します、win98、95 クライアントで動くと思います。
#dhcpd eth0;echo Starting dhcpd


# dhcp クライアントを起動します、他の pc にdhcpサーバーが必要です。
#dhcpcd eth0;echo Starting dhcpcd


# routed ルーティングデーモンを起動します。(RIP-1によるルーティングを行う)
#routed ;echo Starting routed


# MOUSEのコピー&ペーストユーティリテを起動します。
gpm -m /dev/mouse -t ps2 ;echo Starting gpm
# USB MOUSEのコピー&ペーストユーティリテを起動します。
#gpm -m /dev/input/mice -t ps2;echo starting usb_mouse_gpm


# snmp デーモンの起動します。
sed -e "s/_HOSTNAME/$HOSTNAME_TDL/" -e "s/_DOMAIN/$DOMAIN/" /etc/snmp/snmpd.conf.org >/etc/snmp/snmpd.conf
service snmpd start # echo Starting snmpd


# ntp サーバーの起動をさせます。
#ntpd


# ssh サーバーの起動をさせます。
sshd ;echo Starting sshd

# proxy サーバーの起動をさせます。
sed -e "s/IPADDR/$NETWORK\/$MASK/" /etc/squid/squid.conf.org >/etc/squid/squid.conf
#squid -z ; squid -f /etc/squid/squid.conf ;echo Starting squid


# snort (IDS:侵入検地システム)を起動させます。
#snort -D -h $NETWORK\/$MASK -c /etc/snort/conf/snort.conf -l /var/log/snort -b -d -u snort -g snort ; echo Starting snort


# mail デーモンを起動します。
sed -e "s/_HOSTNAME/$HOSTNAME_TDL/" -e "s/_DOMAIN/$DOMAIN/" -e "s/_RELAYHOST/$RELAYHOST/" /etc/postfix/main.cf.org >/etc/postfix/main.cf
service postfix start #echo Starting mail service


# www サーバーの設定です。ホームページデータの転送と、 www (Apache)サーバーを
# 動作させます、 ssi、cgi 、perlスクリプトもOK。
# /tftpboot/home/~xxxx/public_html/ に各ユーザーがホームページを作成出来ます。
sed -e "s/IPADDR/$NETWORK\/$MASK/" -e "s/_HOSTNAME/$HOSTNAME_TDL/" -e "s/_DOMAIN/$DOMAIN/" /etc/httpd/conf/httpd.conf.org >/etc/httpd/conf/httpd.conf
sed -e "s/_HOSTNAME/$HOSTNAME_TDL/" -e "s/_DOMAIN/$DOMAIN/" /var/www/html/index.html.org >/var/www/html/index.html
PE=/dos/peplinux
T=/var/www
if [ -d "$PE" ]; then
cd $PE
cp *.html *.htm *.shtml *.gif *.jpg *.dat $T/html
if [ -f counter.pl ];then
lfcut.s counter.pl $T/cgi-bin/counter.pl
fi
cd /
fi
chmod 777 $T $T/* $T/cgi-bin/* $T/html/*
# www サーバーの起動です
service httpd start


# mrtgとanalogの設定です。ルーターとWWWサーバーの統計データーを定期的に集計しWEBで公開します。
MEM_T=`free |awk -F" " '/Mem/{print $2}'`
COMMUNITY=public
MRTG_IP=$IPADDR
/usr/bin/cfgmaker --global 'WorkDir: /var/www/html' --global 'Language: iso2022jp' --output /etc/mrtg/mrtg.cfg $COMMUNITY@$MRTG_IP

cat>>/etc/mrtg/mrtg.cfg<<Z
#
# httpdプロセス数の数 # httpdプロセス数
#
Target[httpd]: .1.3.6.1.4.1.2021.2.1.5.1&.1.3.6.1.4.1.2021.2.1.4.1:$COMMUNITY@$MRTG_IP
ThreshMaxI[httpd]: 20
SetEnv[httpd]: EMAIL="root@$DOMAIN"
URL="http://$MRTG_IP/mrtg/httpd.html"
MaxBytes[httpd]: 100
Title[httpd]: Number of httpd
PageTop[httpd]: <H1> Number of httpd on WebServer</H1>
YLegend[httpd]: Number of httpd
ShortLegend[httpd]: httpd
LegendI[httpd]: 起動中のhttpd
LegendO[httpd]: 起動中のhttpd

#
# CPUのロードアベレージ# 1分間平均の%および15分平均の%
#
Target[la]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.3:$COMMUNITY@$MRTG_IP
ThreshMaxI[la]: 50
SetEnv[la]: EMAIL="root@$DOMAIN"
URL="http://$MRTG_IP/mrtg/la.html"
MaxBytes[la]: 100
Title[la]: Load Average
PageTop[la]: <H1> Load Average on WebServer</H1>
YLegend[la]: Load Average
ShortLegend[la]: %
LegendI[la]: 1分平均
LegendO[la]: 15分平均
#
# メモリ使用状況 # MaxByteには非試験機のトータルメモリを指定
#
Target[mem]: .1.3.6.1.4.1.2021.9.1.9.2&.1.3.6.1.4.1.2021.9.1.9.3:$COMMUNITY@$MRTG_IP
ThreshMaxI[mem]: 80
SetEnv[mem]: EMAIL="root@$DOMAIN"
URL="http://$MRTG_IP/mrtg/mem.html"
MaxBytes[mem]: $MEM_T
Title[mem]: Memory Usage "real" and "swap"
PageTop[mem]: <H1>Memory Usage "real" and "swap" on WebServer</H1>
YLegend[mem]: Memory Usage
ShortLegend[mem]: kbyte
LegendI[mem]: 実メモリ使用量
LegendO[mem]: Swap使用量
Z

# mrtgの各統計用のHTMLファイルを一つのindex.htmlにまとめます。
/usr/bin/indexmaker /etc/mrtg/mrtg.cfg > /var/www/html/mrtg.html

# 定期的に収集出来るようにcronの設定をします。
cat>>/etc/cronpepo<<Z
0-59/5 * * * * /usr/bin/mrtg -f /etc/mrtg/mrtg.cfg
0-59/5 * * * * /usr/local/analog-5.32/analog
0-59/1 * * * * /bin/peposnort
Z
crontab /etc/cronpepo


# Disable kernel messages. If you wish to verbose mode please comment out.
echo "0" > /proc/sys/kernel/printk


# インターネット・スーパーデーモン xinetd 様の起動です、これを起動さないとFTP、TELNET等が不可。
service xinetd start


# PepoLinux world の始まり始まり楽しんでね。
# Have a fun PepoLinux.