How do I find or check IP’s that are currently banned using iptables command in Linux? How do I verify that IP address 1.2.3.4 is banned or not in Linux?
The correct syntax to block an IP address under Linux using iptables is as follows:
/sbin/iptables -A INPUT -s BAN-IP-ADDRESS -j DROP /sbin/iptables -A INPUT -s BAN-IP-ADDRESS/MASK -j DROP
Open a command-line terminal (select Applications > Accessories > Terminal), or login to remote server using the ssh and then type the following command block an ip address 1.2.3.4 as follows:
# /sbin/iptables -A INPUT -s 65.55.44.100 -j DROP
To view blocked IP address, enter:
# iptables -L INPUT -v -n
OR
# iptables -L INPUT -v -n | less
Task: Check Banned IP’s Linux
Use the grep command as follows to verify that an IP address 1.2.3.4 is blocked or not:
# iptables -L INPUT -v -n | grep "1.2.3.4"
How Do I Delete or Unblock IP Address 1.2.3.4?
Use the following syntax to delete or unblock an IP address under Linux, enter:
# iptables -D INPUT -s 1.2.3.4 -j DROP
Finally, make sure you save the firewall:
# service iptables save
🐧 6 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
I think your command to determine if an IP address exists in the INPUT chain might need to be refined. For example the following would be detected 401 20304 if you grepped for “1.2.3.4”.
This is true. In order to get the literal character of “.” You would need to escape them, using “\” as the escape character. So something like this:
Iptables -L INPUT -v -n | grep “1\.2\.3\.4”
You can also use single quotes instead of doubles:
iptables -L INPUT -v -n | grep ‘1.2.3.4’
matches also 1.2.3.45
iptables -L INPUT -v -n | grep ‘1.2.3.4[^0-9]’
is more specific
Question : how can I count the total number of ips by country ?
I am using geoip and I banned CN, RU, KP.
just wondering …
thanks !
The check will not work if the iptables entry has a netmask instead of a single address.
A grep for 103.42.124.12 does not match a 103.41.124.0/25 entry, for example.
Similar for –src-range