#! /bin/bash # /etc/rc.d/init.d/bridge # return=$rc_done case "$1" in start) echo "Starting service bridge br0" ifconfig eth0 0.0.0.0 promisc ifconfig eth1 0.0.0.0 promisc brctl addbr br0 || return=$rc_failed brctl addif br0 eth0 || return=$rc_failed brctl addif br0 eth1 || return=$rc_failed brctl sethello br0 1 || return=$rc_failed brctl setmaxage br0 4 || return=$rc_failed brctl setfd br0 4 || return=$rc_failed ifconfig br0 promisc up 209.50.17.211 netmask 255.255.255.240 broadcast 209.50.17.223 || return=$rc_failed route add default gw 209.50.17.209 echo -e "$return" ;; stop) echo "Shutting down service bridge br0" ifconfig br0 down || return=$rc_failed brctl delif br0 eth0 || return=$rc_failed brctl delif br0 eth1 || return=$rc_failed brctl delbr br0 || return=$rc_failed ifconfig eth0 down || return=$rc_failed ifconfig eth1 down || return=$rc_failed route del default echo -e "$return" ;; status) ifconfig br0 brctl show br0 ;; restart) $0 stop && $0 start || return=$rc_failed ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 esac test "$return" = "$rc_done" || exit 1 exit 0