All pastes #2131876 Raw Edit

Mine

public text v1 · immutable
#2131876 ·published 2012-03-25 00:21 UTC
rendered paste body
#!/bin/bash
updateIPTable(){
    grep $1 $2
    if [ $? -ne 0 ]
    then
        echo "-A INPUT -s $1 -p tcp --dport 3306 -j ACCEPT" >> $2
    fi
}

restartIPTablesService(){
    service iptables restart
}

updateHostConfig()
{
    echo $2 > $1.iptable
}

removeOldIPFromRules(){
    grep -v $1 $2 > iptables.tmp
    mv iptables.tmp $2
}

changeIP(){
IPTABLE_CONFIG_FILE="/etc/sysconfig/iptables"
HOST_LOOKUP=$1
touch $HOST_LOOKUP.iptable
NEW_IP=`nslookup $HOST_LOOKUP | tail -2 | head -1 |cut -d' ' -f2`
OLD_IP=`cat $HOST_LOOKUP.iptable`
echo $NEW_IP
echo $OLD_IP

if [ "x$NEW_IP" !=  "x$OLD_IP" ]
then
    updateHostConfig $HOST_LOOKUP $NEW_IP
    if [ "x$OLD_IP" != "x" ]
    then
        removeOldIPFromRules $OLD_IP $IPTABLE_CONFIG_FILE
    fi
    updateIPTable $NEW_IP $IPTABLE_CONFIG_FILE
    touch dynamic_ip_changed
fi
}

main(){
    HOSTS="wardy.is-a-geek.org dorwardvillaruz.com"
    for HOST in $HOSTS
    do
       changeIP  $HOST
    done
    if [ -e dynamic_ip_changed ]
    then
        restartIPTablesService
        rm dynamic_ip_changed
    fi
}

main