How to block someone's IP
How to block one specific IP
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