#!/bin/sh # Author: apharris@onshore.com # Date: Mon Jan 22 18:39:59 CST 1996 # # Purpose: # build a batch of dummy interfaces and routes # # Bug: # can fail randomly when dummy modules are already 'insmod'ed. # multihome server setup HOSTS="206.69.88.33 198.168.2.1 198.168.2.2 198.168.2.8 198.168.2.12" MACADDR="" # blank for now arp DO_IPFW="yes" # do IP firewalling FW_PORTS="ftp ssh telnet daytime domain finger" # ports to firewall NOFW_HOSTS="206.69.88.33" # hosts not to fw PATH="/sbin:/bin:/usr/bin" # constants KERNVER=`uname -r` DUMMYMOD="/lib/modules/$KERNVER/net/dummy.o" C=0 if [ ! -f ${DUMMYMOD} ] then echo "dummy module ($DUMMYMOD) not available" exit 1 fi echo -n "Multihome: " for HOST in ${HOSTS} do insmod -o dummy${C} ${DUMMYMOD} if ifconfig dummy${C} ${HOST} then route add -host ${HOST} dummy${C} if [ ${MACADDR} ]; then arp -s ${HOST} ${MACADDR} pub fi echo -n "$HOST " else echo -n "-$HOST " exit 1 fi C=`expr ${C} + 1` done if [ $DO_IPFW ] then echo echo "Multihome firewalling: " for HOST in ${HOSTS} do echo -n " " if ipfw -n list blocking | grep ${HOST} > /dev/null then echo Host ${HOST} firewalled already! elif echo ${NOFW_HOSTS} | grep ${HOST} > /dev/null then echo Host ${HOST} skipped. else ipfw add blocking reject tcp from 0/0 to ${HOST} ${FW_PORTS} fi done fi echo