• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 256
  • Last Modified:

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
0
JPERKS1985
Asked:
JPERKS1985
1 Solution
 
data_grrrCommented:
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 255.255.255.0 or /8 for 255.0.0.0

'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.
0
 
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 127.0.0.1 didn't work either. Any ideas?
0
 
JPERKS1985Author Commented:
Now when I restart the ip tables service i get error failed.
0
 
ravenplCommented:
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?
0
 
durindilCommented:
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.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now