#!/bin/sh # # tircproxy This shell script takes care of starting and stopping # the tircproxy (RedHat style init script). # # This example enables transparent proxying for all IRC servers on ports # 6666 and 6667 that aren't on the 12.34.56.0/24 network, for machines not # on that network (i.e. this is for a mixed legal/illegal IP address # environment, where the legal network is 12.34.56.0/24). # # In this case we assume the legal network should be allowed to connect to # IRC directly, which might not be a good idea as it bypasses both the DCC # trojan manglers and the broadcasting code. # # This example also assumes there is a dedicated IRC server on the local # network, which the hidden network should have direct (unproxied) access to. # # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -f /usr/sbin/tircproxy ] || exit 0 # See how we were called. case "$1" in start) # Start daemons. echo -n "Starting transparent IRC proxy: " echo -n "redirection " ipfwadm -I -i accept -P tcp -S 12.34.56/24 -D 0.0.0.0/0 7000:7003 ipfwadm -I -i accept -P tcp -S 12.34.56/24 -D 0.0.0.0/0 6660:6669 ipfwadm -I -i accept -P tcp -S 0.0.0.0/0 -D local.irc.server 6660:6669 ipfwadm -I -a accept -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 7000:7003 -r 8666 ipfwadm -I -a accept -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 6660:6669 -r 8666 daemon /usr/sbin/tircproxy -s 8666 -t 3 -I -o $HOSTNAME touch /var/lock/subsys/tircproxy echo ;; stop) # Stop daemons. echo -n "Shutting down transparent IRC proxy: " killproc tircproxy echo -n " redirection" ipfwadm -I -d accept -P tcp -S 12.34.56/24 -D 0.0.0.0/0 7000:7003 ipfwadm -I -d accept -P tcp -S 12.34.56/24 -D 0.0.0.0/0 6660:6669 ipfwadm -I -d accept -P tcp -S 0.0.0.0/0 -D local.irc.server 6660:6669 ipfwadm -I -d accept -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 7000:7003 -r 8666 ipfwadm -I -d accept -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 6660:6669 -r 8666 echo rm -f /var/lock/subsys/tircproxy ;; *) echo "Usage: tircproxy {start|stop}" exit 1 esac exit 0