Linux Firewall: Simple Shell Script To Stop and Flush All Iptables Rules

#!/bin/bash
# Linux Firewall: Simple Shell Script To Stop and Flush All Iptables Rules
# Some Linux distros like Debian do not have /etc/init.d/iptables stop script
# This can be also called from cron job if you are testing new firewall on
# remote box to avoid lock out
# -------------------------------------------------------------------------
# Copyright (c) 2004 nixCraft project <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
Get the latest tutorials on SysAdmin, Linux/Unix, Open Source, and DevOps topics:
CategoryList of Unix and Linux commands
File Management cat
Firewall 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 CentOS 8 Debian 10 Firewall Ubuntu 20.04
6 comments… add one
  • Bekir YAPAR Jul 8, 2010 @ 8:37

    Thx. For help. İt’s helpfull for us.

  • John Jones May 6, 2010 @ 16:34

    Thanks guy this was really help full, Linux rules

  • Fred Nov 26, 2009 @ 15:01

    Silly question, but where should I save this script to in Debian? And how can I run it without having to mention ./location/location/script all the time?

    • 🐧 Vivek Gite Nov 28, 2009 @ 21:29

      You can store it in your own ~/bin directory and add to the PATH in ~/.bash_profile:

      mkdir ~/bin
      cp script ~/bin
      cd ~/bin
      chmod +x script
      echo "export PATH=$PATH:~/bin" >> ~/.bash_profile
      export PATH=$PATH:~/bin
      cd
      sudo ~/script
  • Sandeep Feb 18, 2009 @ 4:02

    Hi Vivek,

    Could you please post a script on iptables rules for a webserver so that instead of APF or CSF you can just run this script daily or as per scheduled with a cron job.

    Thank you

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.