#!/bin/sh +x SLICE=$1 SLICEID=`id -u $SLICE` read INDEX read REMOTE read KEY LINK=${KEY}if${INDEX} modprobe ip_gre ### Setup EGRE tunnel EGRE=d$LINK ip tunnel add $EGRE mode gre type eth remote $REMOTE key $KEY ttl 64 ip link set $EGRE up ### Setup etun ETUN0=a$LINK ETUN1=b$LINK ip link add name $ETUN0 type veth peer name $ETUN1 ifconfig $ETUN0 mtu 1458 up ifconfig $ETUN1 up ### Setup bridge BRIDGE=c$LINK brctl addbr $BRIDGE brctl addif $BRIDGE $EGRE brctl addif $BRIDGE $ETUN1 ifconfig $BRIDGE up ### Setup iptables so that packets are visible in the vserver iptables -t mangle -A FORWARD -o $BRIDGE -j MARK --set-mark $SLICEID ### Create "grab link" script GRAB=/vsys/local_grab-$ETUN0 echo $SLICE > $GRAB.acl rm -f $GRAB cat > $GRAB < $BIND.acl rm -f $BIND cat > $BIND < $DELETE.acl rm -f $DELETE cat > $DELETE <