Visit complete Cyber Security roadmap

← Back to Topics List


IPTables is a command-line utility for configuring and managing packet filtering rules within the Linux operating system. It allows the system administrator to define and manage the firewall rules that control the incoming and outgoing network traffic. IPTables is an essential tool for securing Linux systems and ensuring proper network traffic flow.

How IPTables Works

IPTables is built upon a framework called Netfilter, which is embedded in the Linux kernel. Netfilter provides various operations on packets, such as filtering, modifying, and redirecting. IPTables makes use of these operations by providing a user-friendly interface to define rules based on various criteria like source IP address, destination IP address, protocol, and port numbers.

IPTables organizes rules into chains, where each chain consists of a list of rules. There are three default chains: INPUT, OUTPUT, and FORWARD. These chains represent the different stages a packet goes through in the network stack:

  • INPUT: Applied to incoming packets destined for the local system.
  • OUTPUT: Applied to outgoing packets originating from the local system.
  • FORWARD: Applied to packets being routed through the local system.

Basic IPTables Usage

To list the current IPTables rules, use the following command:

iptables -L

To add a new rule to a specific chain, use the -A flag followed by the chain name and the rule details:

iptables -A INPUT -s -j DROP

This command adds a rule to the INPUT chain that drops all packets coming from the IP address

To delete a rule from a specific chain, use the -D flag followed by the chain name and the rule number:

iptables -D INPUT 3

This command removes the third rule in the INPUT chain.

To insert a rule at a specific position in a chain, use the -I flag followed by the chain name, rule number, and the rule details:

iptables -I INPUT 2 -s -j DROP

This command inserts a rule at position 2 in the INPUT chain that drops all packets coming from the IP address

Saving and Restoring IPTables Rules

By default, IPTables rules are temporary and will be lost upon a system reboot. To save the current rules and make them persistent, use the following command:

iptables-save > /etc/iptables/rules.v4

To restore the rules from a saved file, use the following command:

iptables-restore < /etc/iptables/rules.v4


IPTables is a powerful tool for managing packet filtering rules in Linux systems. With proper configuration, it can greatly enhance your system’s security and ensure smooth network traffic flow. Understanding IPTables can help you diagnose and resolve network-related issues while providing essential protection from cyber threats.

Community is the 6th most starred project on GitHub and is visited by hundreds of thousands of developers every month.

Roadmaps Best Practices Guides Videos Store YouTube by Kamran Ahmed

Community created roadmaps, articles, resources and journeys to help you choose your path and grow in your career.

© · FAQs · Terms · Privacy


The leading DevOps resource for Kubernetes, cloud-native computing, and the latest in at-scale development, deployment, and management.