How to block someone's IP

From Kolmisoft Wiki
Revision as of 14:10, 22 June 2020 by Admin (talk | contribs)
Jump to navigationJump to search

First of all install iptables if needed:

yum -y install iptables


To block incoming IP, use this command:

iptables -A INPUT -s IP -j DROP

For example:

iptables -A INPUT -s 123.123.123.123 -j DROP

To save the rules (On Centos), run:

service iptables save

Question: I want to allow only specified IPs to my server and disallow any other connections, how I could do that?

First of all enter all friendly ips:

iptables -A INPUT -s friendlyip. -j ACCEPT
iptables -A INPUT -s another.friendly.ip -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -j ACCEPT # yes, accept connections from localhost.

And at the most end enter:

iptables -A INPUT -s 0/0 -j DROP

That's it.

If in future you will want to add some more IPs, just first reject rule with DROP, and some friendly IP and then apply DROP rule again.

Very important: Don't forget to add ISP/router to your friendly IP address list!!!




How to block the range of IPs

For example if you want to block the range 178.159.10.xx

Use this command:

iptables -A INPUT -s 178.159.10.0/24 -j DROP

And then:

service iptables save



How to unblock the IP

Search for the IP under /etc/sysconfig/iptables:

grep 123.123.123.123 /etc/sysconfig/iptables

This would give the following output:

-A INPUT -s 123.123.123.123 -j DROP
-A INPUT -s 123.123.123.123 -j ACCEPT

Then you can delete the rule using the '-D' option in iptables:

iptables -D INPUT -s 123.123.123.123 -j DROP

Now IP 123.123.123.123 is unblocked.



How to check all blocked IPs

iptables -L -n



How to check if IP is blocked

iptables -L -n | grep IP




See also