#! /bin/bash
TERM="raw" # pour de beaux resultats, il ne faut pas les embellir !
ouca=/home/douillet/docs/sys/doc_reseau
sedf=/tmp/sed_reseau
sedg=/tmp/sed_chains
ip_chains=/tmp/ip_chains
my_chains=/tmp/my_chains
sb=/etc/init.d
while test $1
do case $1 in
-i) /sbin/ipchains-save > $ip_chains ; sflag=sflag ; shift ;;
-s) sflag=sflag ; shift ;;
*) echo ""
echo "les seules options possibles sont -i pour mettre à jour ip_chains"
echo " et -s pour reformater my_chains";
echo "" ; exit ;;
esac
done
if test $sflag
then
ip0=`/sbin/ifconfig eth0 | grep "inet addr" | sed -e "s/\ \ Bcast.*$//; s/^.*://"`
ip1=`/sbin/ifconfig eth1 | grep "inet addr" | sed -e "s/\ \ Bcast.*$//; s/^.*://"`
ip2=`/sbin/ifconfig ppp0 2>/dev/null | grep "inet addr" | sed -e "s/\ P-t-P.*$//; s/^.*:// ; s/ //"`
ipr0=`echo $ip0 | sed -e "s¶\.[^.]*$¶.0¶" `
ipr1=`echo $ip1 | sed -e "s¶\.[^.]*$¶.0¶" `
dn0=`grep "nameserver" /etc/resolv.conf | grep -v "change your name"`
dn1=`echo $dn0 | sed -e " s/nameserver // ; s/ nameserver.*// " `
dn2=`echo $dn0 | sed -e " s/.*nameserver // " `
echo
echo $ip2
echo
cat << EOF > $sedg
s¶-s ¶¶
s¶input¶ input¶
s¶193.48.37.48/¶MADRAS__/¶
s¶255.255.255.255/¶all_ones/¶
s¶80.8.124.30/¶old_ppp0/¶
s¶$ipr0¶ETH0____¶
s¶$ip0¶ETH0_ord¶
s¶$ipr1¶ETH1____¶
s¶$ip1¶ETH1_ord¶
s¶$ip2¶PPP0_ord¶
s¶$dn1¶DNS1____¶
s¶$dn2¶DNS2____¶
s¶/255\.255\.255\.255¶/32¶g
s¶/255\.255\.255\.0¶/24¶g
s¶/255\.255\.254\.0¶/23¶g
s¶/255\.0\.0\.0¶/8¶g
s¶/0\.0\.0\.0¶/0¶g
s¶-d¶ -d¶
s¶/32 -d¶/32 -d¶
s¶/24 -d¶/24 -d¶
s¶/8 -d¶/8 -d¶
s¶/0 -d¶/0 -d¶
s¶-d ¶¶
/-i/ ! {
s¶-p¶-i all -p¶
}
s¶-i lo¶-i loc ¶
/-i/ ! {
s¶-j¶-i all -p all -j¶
}
s¶-i¶ -i¶
s¶0/0 -i¶0/0 -i¶
s¶/32 -i¶/32 -i¶
s¶/24 -i¶/24 -i¶
s¶/8 -i¶/8 -i¶
s¶0 3:3 -i ¶0 3:3 -i ¶
s¶0 4:4 -i ¶0 4:4 -i ¶
s¶0 8:8 -i ¶0 8:8 -i ¶
/-p/ ! {
s¶-j¶-p all -j¶
}
s¶-i ¶¶
s¶-p all ¶all ¶
s¶-p 1 ¶icmp ¶
s¶-p 17 ¶udp ¶
s¶-p 6 ¶tcp ¶
s¶-j ¶¶
s¶DENY¶DENY ¶
EOF
echo ETH0_ord = $ip0 > $my_chains
echo ETH1_ord = $ip1 >> $my_chains
echo PPP0_ord = $ip2 >> $my_chains
echo "" >> $my_chains
sed -f $sedg $ip_chains >> $my_chains
kwrite $my_chains
fi
echo "----------------- doc reseau --------------" > $ouca
echo "" >> $ouca
echo `date +"%D %Hh%M"`" : $HOSTNAME " >> $ouca
echo "" >> $ouca
sed -n -e "/^alias eth/ p" /etc/modules.conf >> $ouca
echo "" >> $ouca
/sbin/ifconfig | sed -n -e "/Link\ encap/ p; /inet\ addr/ p ; /MTU/ p ; /RX\ bytes/ p ; /Interrupt/ p" >> $ouca
echo "" >> $ouca
echo "" >> $ouca
echo "----------------- route.conf --------------">> $ouca
echo "" >> $ouca
sed -e "/^#/ d ; /^$/ d" /etc/route.conf >> $ouca
echo "" >> $ouca
echo "----------------- route -------------------">> $ouca
echo "" >> $ouca
/sbin/route -n >> $ouca
echo "" >> $ouca
echo "----------------- apache ------------------">> $ouca
echo "" >> $ouca
$sb/apache status | sed -e "s/:/: /" >> $ouca
echo "" >> $ouca
echo "----------------- samba -------------------">> $ouca
echo "" >> $ouca
$sb/smb status >> $ouca
echo "" >> $ouca
cat << EOF > $sedf
/interfaces/ {
s/^[ ]*//
s/ //g
p
}
EOF
sed -n -f $sedf /etc/smb.conf >> $ouca
echo "" >> $ouca
echo "----------------- printer -----------------">> $ouca
echo "" >> $ouca
echo `$sb/lpd status` >> $ouca
cat << EOF > $sedf
/rm=/ {
s/^[ ]*//
s/ //g
s/:rm=/interface = /
p
}
EOF
sed -n -f $sedf /etc/printcap >> $ouca
echo "" >> $ouca
echo "----------------- hosts -------------------">> $ouca
echo "" >> $ouca
sed -e "/^#/ d ; /ipv6/ d ; /^$/ d" /etc/hosts | sort >> $ouca
echo "" >> $ouca
echo "----------------- rc.config ---------------" >> $ouca
echo "" >> $ouca
cat << EOF > $sedf
/^IPA/ p
/^NET/ p
/^IFCON/ p
EOF
sed -n -f $sedf /etc/rc.config | sort >> $ouca
echo "" >> $ouca
sed -n -e "/^NAMESERVER/ p" /etc/rc.config >> $ouca
grep "nameserver" /etc/resolv.conf | grep -v "change your name" >> $ouca
echo "" >> $ouca
echo "-------------------------------------------">> $ouca
echo "" >> $ouca
cat << EOF > $sedf
/^IP[^A]/ p
/^START_CUPS/ p
/^START_DHCP/ p
/^START_FW/ p
/^START_HT/ p
/^START_IN/ p
/^START_LO/ p
/^START_LPD/ p
/^START_RO/ p
/^START_SM/ p
EOF
sed -n -f $sedf /etc/rc.config | sort >> $ouca
echo "" >> $ouca
echo "----------------- firewall ----------------">> $ouca
echo "" >> $ouca
echo "Checking for service firewall: " `cat $ip_chains | grep -c -e "^."` "ipchains" >> $ouca
echo "" >> $ouca
cat << EOF > $sedf
/^FW/ p
EOF
sed -n -f $sedf /etc/rc.config.d/firewall.rc.config >> $ouca
echo "" >> $ouca
echo "" >> $ouca
echo "" >> $ouca
echo "" >> $ouca
echo "" >> $ouca
echo "----------------- ipchains ----------------">> $ouca
echo "" >> $ouca
cat $my_chains >> $ouca
echo "" >> $ouca
echo "-------------------------------------------">> $ouca
echo "" >> $ouca
chmod a+w $ip_chains ; chmod a+w $ip_chains ; chmod a+w $ouca
rm $sedf ; rm $sedg
kedit $ouca