#!/bin/sh - # # $OpenBSD: netstart,v 1.8 1996/06/18 15:30:02 deraadt Exp $ # set these to "NO" to turn them off. otherwise, they're used as flags routed_flags=-q mrouted_flags=NO # for 'normal' use: mrouted_flags="" rarpd_flags=NO # for 'normal' use: rarpd_flags="-a" bootparamd_flags=NO # for 'normal' use: bootparamd_flags="" rbootd_flags=NO # for 'normal' use: rbootd_flags="" sendmail_flags=NO # for 'normal' use: sendmail_flags="-bd -q30m" named_flags=NO # for 'normal' use: named_flags="" timed_flags= # set the following to "YES" to turn them on rwhod=NO nfs_server=NO nfs_client=NO gated=NO kerberos_server=NO amd=NO ipfilter=NO # miscellaneous other flags # only used if the appropriate server is marked YES above gated_flags= amd_dir=/amd # AMD's mount directory amd_master=/etc/amd/master # AMD 'master' map ipfilter_rules=/etc/ipf.rules # Rules for IP packet filtering ipmon_flags=-s # To disable logging, use ipmon_flags=NO # /etc/myname contains my symbolic name # hostname=`cat /etc/myname` hostname $hostname if [ -f /etc/defaultdomain ]; then domainname `cat /etc/defaultdomain` fi # Configure the IP filter before configuring network interfaces # if [ X"${ipfilter}" = X"YES" -a -f "${ipfilter_rules}" ]; then echo 'configuring IP filter' ipf -Fa -f ${ipfilter_rules} -E else ipfilter=NO fi # configure all of the interfaces which we know about. # do this by reading /etc/hostname.* files, where * is the name # of a given interface. # # these files are formatted like the following, but with no # at the # beginning of the line # # addr_family hostname netmask broadcast_addr options # dest dest_addr # # addr_family is the address family of the interface, generally inet # hostname is the host name that belongs to the interface, in /etc/hosts. # netmask is the network mask for the interface. # broadcast_addr is the broadcast address for the interface # options are misc. options to ifconfig for the interface. # # dest is simply the string "dest" (no quotes, though) if the interface # has a "destination" (i.e. it's a point-to-point link, like SLIP). # dest_addr is the hostname of the other end of the link, in /etc/hosts # # the only required contents of the file are the addr_family field # and the hostname. ( tmp="$IFS" IFS="$IFS." set -- `echo /etc/hostname*` IFS=$tmp unset tmp while [ $# -ge 2 ] ; do shift # get rid of "hostname" ( read af name mask bcaddr extras read dt dtaddr if [ ! -n "$name" ]; then echo "/etc/hostname.$1: invalid network configuration file" exit fi cmd="ifconfig $1 $af $name " if [ "${dt}" = "dest" ]; then cmd="$cmd $dtaddr"; fi if [ -n "$mask" ]; then cmd="$cmd netmask $mask"; fi if [ -n "$bcaddr" -a "X$bcaddr" != "XNONE" ]; then cmd="$cmd broadcast $bcaddr"; fi cmd="$cmd $extras" $cmd ) < /etc/hostname.$1 shift done ) # set the address for the loopback interface ifconfig lo0 inet localhost # use loopback, not the wire route add $hostname localhost route add -net 127 127.0.0.1 -reject # default multicast route route add -net 224 -interface $hostname # /etc/mygate, if it exists, contains the name of my gateway host # that name must be in /etc/hosts. if [ -f /etc/mygate ]; then route add default `cat /etc/mygate` fi # /etc/ifaliases, if it exists, contains the names of additional IP # addresses for each interface. It is formatted as a series of lines # that contain # interface address netmask if [ -f /etc/ifaliases ]; then ( # delete comments and blank lines set -- `sed -e 's/#.*$//' /etc/ifaliases | grep -v '^$'` while [ $# -ge 3 ] ; do ifconfig $1 inet alias $2 netmask $3 route add $2 localhost shift 3 done ) fi