ip tables question

how would I allow access to port 8080 for only one  external IP. So 64.342.12.12 has access to port 8080 and all other IPs do not? I'm looking for the terminal command. thanks
Who is Participating?
durindilConnect With a Mentor Commented:
I don't see why you wold need forward rules - but you have to put your IPTABLES rules in order.  Therefore, you would issue the most resctrictive command first.  You want to:

1) Allow only 64.342.12.12 access to 8080
2) Deny all others access to 8080

So you would issue:

/sbin/iptables -I INPUT 1 -p udp --dport 8080 -j DROP
/sbin/iptables -I INPUT 1 -p tcp --dport 8080 -j DROP
/sbin/iptables -I INPUT 1 -s 64.342.12.12 -p udp --dport 8080 -j ACCEPT
/sbin/iptables -I INPUT 1 -s 64.342.12.12 -p tcp --dport 8080 -j ACCEPT

The save the config:

/sbin/ipables-save > /etc/sysconfig/iptables

Since you issued the commands in this order, each subsequent one will be pushed down in order.  Therefore it will process the rules for 64.342.12.12 first.
iptables -A FORWARD -s 64.342.12.12/CIDRnumber -i eth0 -d destination.ip. -o eth1 -p TCP \
         --sport 1:65535 --dport 8080 -j ACCEPT

CIDRnumber must be the subnet mask of 64.342.12.12 like /24 for or /8 for

'eth0' is the interface that packets coming from 64.342.12.12, or whatever name it is in your configuration.

destination ip must be the address of destination server which listens port 8080

eth1 is the interface listening 8080

--sport is the accepted port range. you can change it like 8080:8081 if you wanna listen these ports.

--dport is the destination port, packets are routed to this port. if your server listens 8080 it must be like this.
JPERKS1985Author Commented:
iptables -A FORWARD -s 64.342.12.12/24 -i eth0 -d 64.342.12.13 -o eth1 -p TCP \
         --sport 1:65535 --dport 8080 -j ACCEPT

didn't work, replacing the .13 address with didn't work either. Any ideas?
JPERKS1985Author Commented:
Now when I restart the ip tables service i get error failed.
It's not clear if the firewall is on same machine as squid(?) or before the squid-box.
For squid box
iptables -I INPUT -p tcp -s 64.342.12.12/32 --dport 8080 -j ACCEPT #/32 means only this one IP
For firewall before squid-box
iptables -I FORWARD -p tcp -s 64.342.12.12/32 -d ip.of.squid.box/32 --dport 8080 -j ACCEPT #/32 means only this one IP

Note, that param -I says to insert the rule in front of processing chain, -A means appen at the end. I used -I because You may already have some rules that denies access to 8080. To verify: iptables -L INPUT -nx # or: iptables -L FORWARD -nx

> Now when I restart the ip tables service i get error failed.
Of course, the configuration was not saved permanently. Usually You have to issue:
/etc/init.d/iptables save
What linux distro?
All Courses

From novice to tech pro — start learning today.