How To Disable Firewall In Centos 7?

How To Disable Firewall In Centos 7?

Introduction of Centos 7:

Centos is an operating system that is designed after the Linux Kernel open source structure. It’s a community-developed, free to use server distribution that works on every major architecture.

Centos 7 provides more than 90 percent compatibility with Red Hat Enterprise Linux 7, and most of the applications will work without any problem. If you are using Centos 6 or lower versions then it will be easy for you to shift your environment from Centos 5 or 6 to Centos 7 because almost everything is the same except some features like SELinux which have changed in new versions.

Centos 7, also called Clover OS, is a free and open source Linux Distribution based on Red Hat Enterprise. It comes under the Long Term Support (LTS) program of Red Hat which provides 5 years of support for each release.


We would require a yum package installed on CentOS 7, that enables us to install and update third party applications.

Installation of Yum Package:

Open Terminal and type: sudo yum install yum-utils to install the Yum Package.

Enable Firewall: You need to run the following command as root or using sudo command: systemctl enable firewalld This enables the firewall service. Turning on firewall (firewall is enabled) The firewall is active and enabled on system startup. Now open your web browser and navigate to http://localhost/html/ It would display a simple index.html page, which means your firewall rules are working fine now and you can check whether your ports 80 and 443 are opened or not by trying from outside of your network. If you don’t have access from a remote location then you should recheck the allowed ports list in iptables.


Disabling via Root User:

To Disable Firewall In Centos 7, login as Root User and follow the given below steps one by one carefully:

Step 1:  

   Check which firewall is enabled on CentOS 7 using following command:

   yum provides */firewall-cmd*           && systemctl status firewalld -l

The above command will show you what type of firewall is enabled in your box with current status, which will give you an idea whether it is wired or disabled or something else. If you have disabled firewall then it might return with the following values.    

Disabled                 :                              loaded inactive dead

 Step 2: 

Run the following command at the terminal as a root user.

systemctl disable firewalld && systemctl stop firewalld && chkconfig –level 2345 iptables off && /etc/init.d/iptables status && chkconfig –list | grep -e ‘ip6tables’

Just run the following line as a normal user to turn it Off .                   

systemctl disable firewalld && systemctl stop firewalld && service iptables save || service ip6tables save || chkconfig off iptables || chkconfig off ip6tables

Step 3: 

You can also Disable Firewall in Centos 7 using GUI mode by creating file-rule-disable inside /etc/sysconfig/iptables directory.

Step 4:

In the above command you can see that we have given save parameters to iptables and ip6tables commands so it will be automatically saved and loaded on startup of the system in the /etc/rc.local file. It is recommended to save firewall configuration after disabling it.

Enable Firewall in CENTOS 7:

Like disable the firewall in Centos 7. you can also enable it by following command given below:                       

Systemctl enable firewalld && systemctl start firewalld && chkconfig –level 2345 iptables on || chkconfig iptables on && chkconfig ip6tables on || chkconfig ip6tables on && service iptables start || service ip6tables start || chkconfig on iptables && chkconfig on ip6tables.

Method 2:

Disable firewall rules through GUI mode

1) Open a Terminal window from Applications > System Tools > Terminal or you can press “CTRL+ALT+T ” to open terminal directly from your desktop environment Toolbar.

2) To check if firewalld service is running or not type this command in terminal: systemctl status firewalld   It will bring the current status of the firewall, probably it will show that firewalld is running in the system.

3) To list all the currently active firewall rules, type this command: semanage port -L

4) To disable firewalld service, type this command: systemctl disable firewalld and press “Enter” to execute it.

5) Now check if the firewall status has changed or not with following command: systemctl status firewalld 

6) Done. You may want to restart your system now or run this command to disable firewalld service on startup: chkconfig –level 345 iptables off && chkconfig –list | grep -e ‘iptables’

7) To list all currently active firewall rules again, type this command:

semanage port -L

8) You can also list the current status of ip6tables service with the following command: systemctl status ip6tables   

Note that you have to press the “Enter” key after each command.

Following Above steps You have successfully disabled the firewall in centos7.

Impact of Disabling Firewall in Centos:

Disabling firewalls in centos can cause some security and protection of services over the network and the system. It will not impact your current work with the system, but we recommend you to enable it again after practicing all steps given above.

Possible Problems:

1) After disabling the firewall you may get an error like “Error opening service for incoming connections” on ssh connections. This is because an SSH connection requires a port 22 number for login, so firewalls understand this as an attempt to access the system from an outside network. So you need to add a permanent exception rule in the Firewall configuration file “/etc/sysconfig/iptables”, which is used by iptables service while booting the computer and starting its services and then try connecting your server or PC again.

2) If you are not able to connect your server or PC after disabling the firewall, then the problem may be with VPN Client configuration on the computer. You need to check that the config file of the VPN is saved properly in the /etc/sysconfig/ipsec directory.

So you have disabled firewall and now reboot your system and verify it’s status using the command “systemctl status firewalld”. Then enable firewall rules again if required. Firewall rules can be created for each zone as per security needs of a system i.e. public zone can be configured according to different specifications than private zone etc., so any changes done with setting up will take effect immediately.


Disabling firewall in centos is well explained with commands to disable, enable and restart iptables service. Main motive of writing this article was to make people aware about firewalld service which will be used as replacement for old iptables service in upcoming releases of Centos.

Your CentOS 7 Firewall is now disabled through root user or GUI mode. You can access your server on http://your-server-ip and https://your-server-ip address without any issues. Finally, if you want to re-enable the firewall then follow the steps mentioned in Above article..   

Recent Posts