home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / etc / init.d / netbase < prev    next >
Text File  |  1998-12-05  |  3KB  |  87 lines

  1. #!/bin/sh
  2. #
  3. # start/stop networking daemons.
  4.  
  5. test -f /sbin/portmap || exit 0
  6.  
  7. spoofprotect () {
  8.     # This is the best method: turn on Source Address Verification and get
  9.     # spoof protection on all current and future interfaces.
  10.     if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
  11.     echo -n "Setting up IP spoofing protection..."
  12.     for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
  13.         echo 1 > $f
  14.     done
  15.     echo "done."
  16.     # rules for linux 2.0.x and 2.1.x (x < 102) kernels
  17.     elif [ -e /proc/net/ip_input ]; then
  18.         echo -n "Setting up IP spoofing protection..."
  19.     # delete and readd entry (this way we don't get duplicate entries)
  20.  
  21.     # deny incoming packets pretending to be from 127.0.0.1
  22.         ipfwadm -I -d deny -o -P all -S 127.0.0.0/8 -W eth0 -D 0/0 2>/dev/null || true
  23.         ipfwadm -I -d deny -o -P all -S 127.0.0.0/8 -W eth1 -D 0/0 2>/dev/null || true
  24.         ipfwadm -I -i deny -o -P all -S 127.0.0.0/8 -W eth0 -D 0/0 >/dev/null
  25.         ipfwadm -I -i deny -o -P all -S 127.0.0.0/8 -W eth1 -D 0/0 >/dev/null
  26.  
  27.     # deny incoming packets pretending to be from our own system.
  28.     # set your own IP address below (or use `hostname -i` to set it).
  29. #    my_ip=192.168.14.1
  30. #    ipfwadm -I -d deny -o -P all -S $my_ip -W eth0 -D 0/0 2>/dev/null || true
  31. #    ipfwadm -I -d deny -o -P all -S $my_ip -W eth1 -D 0/0 2>/dev/null || true
  32. #    ipfwadm -I -a deny -o -P all -S $my_ip -W eth0 -D 0/0 >/dev/null
  33. #    ipfwadm -I -a deny -o -P all -S $my_ip -W eth1 -D 0/0 >/dev/null
  34.     echo "done."
  35.     # rules for linux 2.1.x (x > 101) kernels
  36.     elif [ -e /proc/net/ip_fwchains ]; then
  37.         echo -n "Setting up IP spoofing protection..."
  38.     ipchains -D input -j DENY -l -s 127.0.0.0/8 -i ! lo 2>/dev/null || true
  39.     ipchains -A input -j DENY -l -s 127.0.0.0/8 -i ! lo
  40.  
  41.     # deny incoming packets pretending to be from our own system.
  42.     # set your own IP address below (or use `hostname -i` to set it).
  43. #    my_ip=192.168.14.1
  44. #    ipchains -D input -j DENY -l -s $my_ip -i ! lo 2>/dev/null || true
  45. #    ipchains -A input -j DENY -l -s $my_ip -i ! lo
  46.     echo "done."
  47.     fi
  48. }
  49.  
  50.  
  51. case "$1" in
  52.     start)
  53.     spoofprotect
  54.     echo -n "Starting base networking daemons:"
  55.     echo -n " portmap" ; start-stop-daemon --start --quiet --exec /sbin/portmap
  56.     echo -n " inetd" ; start-stop-daemon --start --quiet --exec /usr/sbin/inetd
  57.     echo "."
  58.     ;;
  59.     stop)
  60.     start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/inetd.pid --exec /usr/sbin/inetd
  61.     start-stop-daemon --stop --quiet --oknodo --exec /sbin/portmap
  62.     ;;
  63.     reload)
  64.     start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/inetd.pid --signal 1 --exec /usr/sbin/inetd
  65.     ;;
  66.     restart)
  67.     start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/inetd.pid --exec /usr/sbin/inetd
  68.     pmap_dump >/var/run/portmap.state
  69.     start-stop-daemon --stop --quiet --oknodo --exec /sbin/portmap
  70.     start-stop-daemon --start --quiet --exec /sbin/portmap
  71.     if [ -f /var/run/portmap.upgrade-state ]; then
  72.       pmap_set </var/run/portmap.upgrade-state
  73.     elif [ -f /var/run/portmap.state ]; then
  74.       pmap_set </var/run/portmap.state
  75.     fi
  76.     rm -f /var/run/portmap.upgrade-state /var/run/portmap.state
  77.     start-stop-daemon --start --quiet --exec /usr/sbin/inetd
  78.     ;;
  79.     *)
  80.     echo "Usage: /etc/init.d/netbase {start|stop|reload|restart}"
  81.     exit 1
  82.     ;;
  83. esac
  84.  
  85. exit 0
  86.  
  87.