Netwerk voor NotebooksWanneer je de PC netwerkkaart erin plugt, zal het script
/etc/pcmcia/network worden uitgevoerd. Hiervoor is alleen een
juiste instelling nodig in
/etc/sysconfig/network-scripts/ifcfg-eth0.Het instellen van een netwerk kan echter wat lastiger zijn. Je moet in feite
voorzien in de juiste instellingen voor ieder netwerk waar je een verbinding
mee opzet, als ook voor het notebook wanneer het niet met een netwerk is
verbonden.Ik draaide een globale maar functionele oplossing in elkaar. Ik gebruik mijn
notebook als een stand-alone machine, verbonden met het net via PPP;
thuis met IP-adres
192.168.1.2; en op de universiteit met IP 137.204.x.y. Dus maakte ik
voor ieder netwerk een set configuratiebestanden aan; deze worden bewaard in
/etc/mobnet. Voor het selecteren van een netwerkomgeving wordt
een script gebruikt.
Dit is bijvoorbeeld /etc/mobnet/home.cfg:# /etc/mobnet/home.conf
HOSTNAME=nautilus.eocene.net # volledige hostnaam
DOMAINNAME=eocene.net # je domein
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.1
FORWARD_IPV4=true
NAMESERVER=195.210.91.100 # vereist
SEARCH=df.unibo.it,eocene.net # optioneel
SERVICES="inet httpd smb sshd"Dit is mnet, het script waar ik gebruik van maak om een
netwerkprofile uit te kiezen:#!/bin/sh
# mnet: script om de configuratie van het "mobiele netwerk" in te stellen
# Laatst gewijzigd: 15 juli 2000
# start of stop services
activate_services()
{
for service in $(echo $SERVICES) ; do
[ -x /etc/rc.d/init.d/$service ] && /etc/rc.d/init.d/$service $1
done
}
# usage
if [ $# = 0 ] ; then
echo "Gebruik: mnet <config name>"
echo "Voorbeeld: mnet office"
exit 1
fi
# controleer of de configuratie voorkomt
if [ ! -e /etc/mobnet/$1.conf ]; then
echo "Deze configuratie bestaat niet."
exit 1
fi
# lees de configuratie in
. /etc/mobnet/$1.conf
# stel de hostnaam in
echo $HOSTNAME > /etc/HOSTNAME
/bin/hostname $HOSTNAME
# stel de naamserver(s) in
cat <<EOF > /etc/resolv.conf
# /etc/resolv.conf
search $SEARCH
nameserver $NAMESERVER
EOF
# stop eerdere services, als die er zijn
if [ -f /etc/mobnet/services.prev ]; then
NEWSERVICES=$SERVICES
. /etc/mobnet/services.prev
activate_services stop
SERVICES=$NEWSERVICES
fi
if [ $1 != "none" ]; then
# stel de netwerkparameters in
cat <<EOF > /etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=true
HOSTNAME=$HOSTNAME
DOMAINNAME=$DOMAINNAME
GATEWAY=$GATEWAY
GATEWAYDEV=eth0
EOF
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
IPADDR=$IPADDR
NETMASK=$NETMASK
NETWORK=$NETWORK
BROADCAST=$BROADCAST
ONBOOT=no
EOF
/bin/chmod +x /etc/sysconfig/network-scripts/ifcfg-eth0
# kopieer de andere config bestanden
/bin/cp -f /etc/mobnet/hosts.$1 /etc/hosts
/bin/cp -f /etc/mobnet/smb.conf.$1 /etc/smb.conf
echo -n "Voeg de PC netwerkkaart in en druk op <enter> wanneer je klaar bent: "
read
# OK, start nu de services
activate_services start
echo "SERVICES=\"$SERVICES\"" > /etc/mobnet/services.prev
else # het is niet "none"
cat <<EOF > /etc/sysconfig/network
NETWORKING=false
FORWARD_IPV4=false
HOSTNAME=$HOSTNAME
DOMAINNAME=$DOMAINNAME
EOF
/bin/rm -f /etc/sysconfig/network-scripts/ifcfg-eth0*
/sbin/ifconfig eth0 down
echo "SERVICES=$SERVICES" > /etc/mobnet/services.prev
echo "Nu kun je de PC kaart verwijderen."
exit 0
fi
# einde mnet.Zoals ik al zei, het is globaal opgezet en het is zelfs niet compleet:
het kan zijn dat andere bestanden afhankelijk zijn van het netwerk, zoals bv
/etc/fstab, /etc/exports, en
/etc/printcap. Denk ook aan netwerkprinters en NFS shares.
Pas deze oplossing met de allerbelangrijkste elementen gerust aan aan je
behoeften.