Block an IP


Can any body tell me how to block an IP address or range of Addresses under IPChains. I tried several options to block the same. Also I am findiing it difficult to block range of Ports,

/sbin/ipchains -D input -s -J DENY
Who is Participating?

Improve company productivity with a Business Account.Sign Up

garisoainConnect With a Mentor Commented:
Hey there.
do you want to access 2 sets of IP?
or you want your NIC to have 2 different IP?

I have never used Linuxconf (Slackware User), so I won't be useful about it...

But, from the linux console, all you got to do is:

For the first, you only need to add 'logic' communication to the other network, the 'route' command will do.

I don't remember the exact syntax of the command, but its something like:

# route add

so your Box can 'see' the network too.

If you want your NIC to have 2 different IP, you're looking for IP-Aliasing, 'ifconfig' can do this. (but you need to support this from kernel)

# ifconfig eth0
# ifconfig eth0:alias

with this, your NIC will be AND

I don't have a Linux box near, so i'll need to send you to the manuals... =/

man ifconfig
man route

Hope this helps...
/sbin/ipchains -D input -s -J DENY

This says to delete a rule. To append(or add) a rule use the -A switch like this:

/sbin/ipchains -A input -s -J DENY

For a range of IP addr you can use the IP/subnet-mask notation (eg

If this machine is a gateway for a network you should probably specify the interface the rule should apply to. For example if eth0 is your interface to the Internet and eth1 is your interface to your LAN then the following two rules should probably be used.

1)/sbin/ipchains -A input -i eth0 -s -J DENY

2)/sbin/ipchains -A input -i eth1 -d -J DENY  

Rule 1 says block everything coming from the specified network and rule 2 says block everything going to the network
vatsasriAuthor Commented:
hello MFCRich,

thanx for ur time, but I want to block a range of IP under a same subnet. If I follow the rule then, If I want to block 50 continuous address then, I have to enter 50 number of entries in the script. Is there any shortcut?


Build your data science skills into a career

Are you ready to take your data science career to the next step, or break into data science? With Springboard’s Data Science Career Track, you’ll master data science topics, have personalized career guidance, weekly calls with a data science expert, and a job guarantee.

You could brake down the block of 50 continuous IPs into subnets of 32, 16, 8, ... addresses. The best you could hope for would be three rules for each interface ( subnets of 32, 16, and 2) It depends on the upper and lower boundries of the 50 addresses you want to block.
Hey there!

if it's an internal network, a good solution is to split the network into 192.168.0.x for the blocked machines, 192.168.1.x for non-blocked machines, for example.

So you can block all the network with one simple chain...

hope this helps.

vatsasriAuthor Commented:

In this case can I have two set of IPs ( & on one NIC?

Can u please tell me how do I do it under LinuxConf(I use this since it is very handy)
If the machines to be blocked are in continuous order
try...(not tested just an idea...I use this with ipfwd)

while [ $ip -le 90 ]
    ipchains -A input -d 10.1.2.$ip/24 -j REJECT

However this would add 50 rules, I do not know if this
will affect overall efficiency

And you can use the --destination-port parameter to block a range of ports


--destination-port 135:139
This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1 
Post your closing recommendations!  No comment means you don't care.
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.

All Courses

From novice to tech pro — start learning today.