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