n00b iptables question.
I am setting up a new squid daemon to run on my server. I want to make sure that everyone inside my network can access squid but I want to make sure everyone on the internet is blocked.
eth0 is connected to my internal LAN via: 192.168.0.5/255.255.255.0 eth1 is connected to the internet via: 1.1.1.1/255.255.255.248 Squid listens on port 3124 Is this the correct syntax for doing that?: iptables -F iptables -t nat -F iptables -X iptables -P FORWARD DROP iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 3124 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT As you can probably see I prefer to block everything except for what I'm actually using. The tricky part is I'm not sure how to block everyone on the net but allow everyone on my local network access to squid. Thanks in advance. |
You can specify '-i eth0' in a rule to have it only apply to packets coming in on that port. iptables can get so complicated that I'm not sure there is anything other than n00b questions.
|
So how would you phrase eth0 in this table?
|
Can you not simply configure squid to listen only on the internal interface?
Using iptables to deny access to closed ports is stupid. :) |
Theres's nothing wrong with only opening the port on the internal interface. Should just be:
Code:
iptables -A INPUT -p tcp -i eth0 --dport 3124 -j ACCEPT |
You can add a line to only except from the local network
Quote:
|
All times are GMT -5. The time now is 01:03 PM. |