#!/bin/sh
CLUSTER=$1
if [ -f /proc/sys/net/ipv4/conf/all/arp_ignore -a -f /proc/sys/net/ipv4/conf/all/arp_announce ]
then
echo Using arp_ignore
echo "3" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
ip addr add $CLUSTER/32 scope host dev lo
elif [ -f /proc/sys/net/ipv4/conf/all/hidden -a -f /proc/sys/net/ipv4/conf/lo/hidden ]
then
echo Using hidden
echo "1" > /proc/sys/net/ipv4/conf/all/hidden
echo "1" > /proc/sys/net/ipv4/conf/lo/hidden
ip addr add $CLUSTER/32 dev lo
elif [ ! -z "$( which arptables )" ]
then
echo Using arptables
arptables -A IN -s $CLUSTER -j DROP
arptables -A OUT -s $CLUSTER -j mangle --mangle-ip-s $(hostname)
ip addr add $CLUSTER/32 dev lo
else
echo Using iptables
iptables -t nat -A PREROUTING -d $CLUSTER -j REDIRECT
fi