• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

How to disable firewalld and and switch to iptables in CentOS / RHEL 7

by admin

By default, RHEL 7 uses the FirewallD service to provide network security. Firewalld may not be to everyone’s liking and you may prefer iptables. FirewallD must be stopped and disabled when using the iptables service. The posts outlines the steps to disable firewalld and enable iptables in CentOS/RHEL 7.

Stop and disable firewalld

1. To begin with, you should disable Firewalld and make sure it does not start at boot again.

# systemctl stop firewalld
# systemctl disable firewalld

2. Masking the firewalld service creates a symlink from /etc/systemd/system/firewalld.service to /dev/null thus disabling the firewalld service.

# systemctl mask firewalld
Created symlink from /etc/systemd/system/firewalld.service to /dev/null.

Install and configure iptables

1. To enable iptables, first we have to install the “iptables-services” package.

# yum install iptables-services

2. Start and enable the iptables service to be enabled at boot automatically.

# systemctl start iptables
# systemctl enable iptables

Check to see if any rules are left behind from firewalld. By default a fresh intall of iptables would have iptables rules as shown below.

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Clearing leftover firewalld rules

1. If needed you can clear iptables rules left over from firewalld with the following commands.

# iptables -t nat -F
# iptables -t mangle -F
# iptables -F
# iptables -X
# service iptables save

2. Post running the above commands you would get an empty iptable rules as shown below.

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
Firewalld Command line Reference (Cheat Sheet)
CentOS / RHEL 7 : Never run the iptables service and FirewallD service at the same time!

Filed Under: CentOS/RHEL 7, Linux

Some more articles you might also be interested in …

  1. understanding “yum history” command output
  2. checkupdates: command not found
  3. How To Setup mutt in CentOS/RHEL
  4. yum: command not found
  5. apache2ctl Command Examples in Linux
  6. CentOS / RHEL : How to collect sosreport
  7. fprintd Logs Messages into /var/log/messages Even If USEFPRINTD=no in /etc/sysconfig/authconfig (CentOS/RHEL 7)
  8. ttyrec – Record Terminal Session in Linux
  9. How To Create Virtual Data Optimizer(VD0) in CentOS/RHEL 7 and 8
  10. cpuid: command not found

You May Also Like

Primary Sidebar

Recent Posts

  • pw-cat Command Examples in Linux
  • pvs: command not found
  • pulseaudio: command not found
  • pulseaudio Command Examples in Linux

© 2023 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright