Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to block a specific IP address from being accessed using the browser on my system. I added a simple rule as below

iptables -A OUTPUT -d <IP> -j DROP

The site gets blocked in the command line,i.e ping ,nmap etc.. But when I try to access the IP using the browser it is getting connected. I don't have any extra rules on my iptables. May I know what is wrong with this? I am running Ubuntu 12.04.

share|improve this question

This will most likely be happening for 1 of 2 reasons.

The more likely reason is that there is a rule in the table specifically allowing access to port 80 which is matched before this rule. If this is the case you can "insert" the rule at the top of the table rather then "append" it with the following line

iptables -I OUTPUT -d  -j DROP

Alternatively (and less likely) if you have issued this command on a linux box acting a router, and the browser is on a computer connected through the box, you need to use the forward chain rather then the output chain

iptables -I FORWARD -d -j DROP

share|improve this answer
Neither of them is the case. iptables -L does not show any rules and to ensure that it is empty I issued iptables -F. I am trying it on the same computer too. – PaulDaviesC Aug 9 '13 at 11:43
@PaulDC I wonder if there is some kind of proxy configured so the traffic is not going directly to the site in question. My next step would be to fire up tcpdump and try and browse the site and see where the traffic is going. – davidgo Aug 9 '13 at 19:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .