Skip to main content

Mastering iptables: A Comprehensive Guide to Linux Iptables commands.

iptables Commands: A Comprehensive Guide

Aim :

Learn how to use iptables for configuring the IP packet filter rules on a Linux system.

iptables Commands: A Step-by-Step Guide

iptables is a powerful tool for configuring the Linux kernel firewall, providing packet filtering, network address translation (NAT), and other packet mangling. Follow these steps to use iptables for configuring firewall rules.

Guidance on How to Use:

Prerequisite:

Ensure that your Linux system has iptables installed.

iptables Commands:

  • List all current rules:
    sudo iptables -L
  • Allow incoming traffic on a specific port:
    sudo iptables -A INPUT -p [protocol] --dport [port] -j ACCEPT
    Example: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT (Allow SSH)
  • Deny incoming traffic on a specific port:
    sudo iptables -A INPUT -p [protocol] --dport [port] -j DROP
    Example: sudo iptables -A INPUT -p udp --dport 53 -j DROP (Deny DNS)
  • Allow outgoing traffic on a specific port:
    sudo iptables -A OUTPUT -p [protocol] --dport [port] -j ACCEPT
    Example: sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT (Allow HTTP)
  • Deny outgoing traffic on a specific port:
    sudo iptables -A OUTPUT -p [protocol] --dport [port] -j DROP
    Example: sudo iptables -A OUTPUT -p udp --dport 123 -j DROP (Deny NTP)
  • Save iptables rules:
    sudo iptables-save > /etc/iptables/rules.v4
  • Restore iptables rules from a file:
    sudo iptables-restore < /etc/iptables/rules.v4

Verification:

Verify the applied iptables rules by listing them:

sudo iptables -L

Written by: A.M.Rinas

Contact: mohomadrinas00@gmail.com

Comments

Popular posts from this blog

MySQL 8.0 Binary Installation: A Step-by-Step Guide

MySQL 8.0 Installation: A Comprehensive Guide Aim : Install MySQL 8.0 using the binary distribution on a Linux system. MySQL 8.0 Installation Steps Step 1: Prepare System and User Create a MySQL group: groupadd mysql Create a MySQL user with restricted shell access: useradd -r -g mysql -s /bin/false mysql Step 2: Download and Extract MySQL Navigate to the installation directory(Not compulsory): cd /usr/local Extract the MySQL tarball: tar xvf /path/to/mysql-VERSION-OS.tar.xz Create a symbolic link: ln -s full-path-to-mysql-VERSION-OS mysql Navigate to the MySQL directory: cd mysql Create a directory for MySQL files: mkdir mysql-files Set ownership and permissio...

Grafana Installation on Ubuntu using Docker

Grafana Installation on Ubuntu using Docker Aim : Install Grafana OSS (open-source version) on Ubuntu using Docker. Grafana Installation Steps Step 1: Pull and Run the Grafana Container Pull and start the Grafana container: sudo docker run -d -p 3000:3000 --name=grafana grafana/grafana-oss -d : Detaches the container and runs it in the background. -p 3000:3000 : Maps port 3000 on your host machine to port 3000 inside the container, enabling access to Grafana's web interface. --name=grafana : Specifies the name of the container as grafana . Step 2: Access Grafana Once the container is running, access Grafana by opening a web browser and navigating to: http://localhost:3000 If Grafana is running on a remote serv...

Apache HTTP Server 2.4.x Installation and Configuration

Apache HTTP Server 2.4.x Installation and Configuration | By A.M.Rinas Aim: Install Apache HTTP Server 2.4.x using the binary distribution and configure it for various purposes. Installation Steps Step 1: Download and Extract Apache HTTP Server Download the Apache HTTP Server 2.4.x binary distribution from the official website. Extract the downloaded tarball: tar xvf httpd-2.4.x.tar.gz Step 2: Configure and Install Apache HTTP Server Navigate to the extracted directory: cd httpd-2.4.x Configure Apache with necessary modules and options: ./configure --enable-proxy --enable-proxy-http --enable-ssl --enable-rewrite Compile and install Apac...