IPtables – How to block and unblock IP Addresses in Linux
By Dillon Smart · · · 0 Comments
Not long ago, I noticed some strange activity on a server I manage. The server, running Ubuntu 22.04, was receiving high volumes of traffic from a single IP Address. After some investigation, I decided the activity resembled that of web scrapping, so I decided to block the IP Address.
Iptables or ufw I hear you ask. In this case, I chose to use iptables.
Difference between IPtables and UFW
It’s important to understand the differences between IPtables and the Firewall.
Both IPTables and UFW are Linux system firewalls. The difference between them is UFW is build upon IPtables, where UFW (Uncomplicated Firewall) is simply a frontend to IPTables.
Block an IP Address using IPtables
In IPtables, each entry is called a rule. It’s good practice to list the rules already in IPtables before adding new rules. This way, you will be aware of any exisiting rules within IPtables.
IPtable list rules
To list the contents of IPTables, rrom the terminal, run the following command:
sudo iptables -L -v
Add a new rule to IPtables
To add a new rule to IPtables, in this case to block all packets recieved from a specific IP Address, run the the following command:
sudo iptables -A INPUT -s {the-ip-address} -j DROP
Let’s break this command down a little to understand the flags used.
- -A Input appends/adds a rule to the input chain
- -s followed by an IP Address specifies the source address of packets
- -j DROP instructs IPtables to drop all packets received from the specified IP Address
Unblock an IP Address in IPtables
Now you know how to add rules to IPtables, it’s important to know how to remove rules.
To remove a rule from IPtables, run the following command:
sudo iptables -D INPUT {chain-number}
Saving rules using iptables-persistent
IPtable rules are ephemeral, meaning if your system is restarted, any rules added will be lost.
If you want rules added to be saved, even after a system restart, you can install the iptables-persistent package.
sudo apt-get install iptables-persistent
During the installation process, you will be prompted to choose if you would like to save the rules currently in iptables.
If you add rules later on, and want to save them, you can run:
sudo netfilter-persistent save
Learn more about IPtables and or use the man page in Linux how powerful the utility can be.
IPtables man page
To learn more IPtables directly from the terminal, you can use the man page to list all available flags and arguments with descriptions.
man iptables
0 Comment