Can anyone tell me why this isn't working?

If I add the ip to the filter manually from the cmd line then it works, if I try to do it in the script is doesn't.

From below...

iptables -A traffic_in -d $3  >> /home/shared/dhcpconnect.log
iptables -A traffic_out -s $3  >> /home/shared/dhcpconnect.log

doesn't seem to add the IP, but...

iptables -A traffic_out -s 192.168.3.151

will work just fine...

Chain traffic_in (4 references)
pkts bytes target prot opt in out source destination 7707 4745K all -- * * 0.0.0.0/0 192.168.2.148 678 529K all -- * * 0.0.0.0/0 192.168.2.136
Chain traffic_out (3 references)
pkts bytes target prot opt in out source destination 7402 1328K all -- * * 192.168.2.148 0.0.0.0/0 582 95736 all -- * * 192.168.2.136 0.0.0.0/0 0 0 all -- * * 192.168.3.151 0.0.0.0/0

As you can see, I only added 151 to one filter manually. It should have been added automatically when the script was next called by dnsmasq.


==== And now for the offending script...


[EMAIL PROTECTED] shared]# cat dhcp.src
#!/bin/sh
nowdate=$(date)
# echo $nowdate, $0, $1, $2, $3 >> /home/shared/dhcpconnect.log

echo $nowdate, $2, $3 >> /home/shared/dhcpconnect.log

echo "Start" >> /home/shared/dhcpconnect.log

mysql -h bowenvale -u oncs -pbutterfly -e "INSERT INTO oncs.tblSessionRequest (MACAddress, IPAddress) VALUES('$2', '$3 ');" &> /home/shared/dhcpconnect.log

echo "Done - database log" >> /home/shared/dhcpconnect.log

# Now we start the data accounting bit using IP tables...
# Make sure the iptables rules exist! This should return errors because these rules should always already exist.
iptables -N traffic_in  >> /home/shared/dhcpconnect.log
iptables -N traffic_out  >> /home/shared/dhcpconnect.log

echo $nowdate, $2, $3 >> /home/shared/dhcpconnect.log

echo "Done - rule create" >> /home/shared/dhcpconnect.log

# Create Rule for IP to count the data.
iptables -A traffic_in -d $3  >> /home/shared/dhcpconnect.log
iptables -A traffic_out -s $3  >> /home/shared/dhcpconnect.log

echo "Done - counter add" >> /home/shared/dhcpconnect.log

#add chains as target to FORWARD rule - after the first time, this should always be already done.
iptables -I FORWARD 1 -j traffic_in  >> /home/shared/dhcpconnect.log
iptables -I FORWARD 2 -j traffic_out  >> /home/shared/dhcpconnect.log


echo "Done forward rule add" >> /home/shared/dhcpconnect.log

echo "Done", $2, $3  >> /home/shared/dhcpconnect.log



[EMAIL PROTECTED] shared]#



Cheers Don
--
Don Gould
www.thinkdesignprint.co.nz - www.tcn.bowenvale.co.nz - www.bowenvale.co.nz - www.hearingbooks.co.nz - www.buxtonsquare.co.nz - SkypeMe: ThinkDesignPrint - Good ideas: www.solarking.co.nz

Reply via email to