How to Configure ‘FirewallD’ in RHEL/CentOS 7 and Fedora 21

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Babin Lonston

I'm Working as a System Administrator for last 10 year's with 4 years experience with Linux Distributions, fall in love with text based operating systems.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

17 Responses

  1. RobbieTheK says:

    We are running the old NIS with ypserv & ypbind. We have these rules but it appears we are missing something else as this fails with: ypinit -s IP

    Can’t enumerate maps from IP. Please check that it is running. Any other suggestions?

    # firewall-cmd --list-all
      target: default
      icmp-block-inversion: no
      services: ssh mdns dhcpv6-client nfs mountd smtp https http 
    rpc-bind dns samba samba-client
      ports: 944/tcp 945/tcp 945/udp 946/udp
      masquerade: no
      rich rules:
  2. ARUN GK says:

    Dear Sir,

    I have below doubts in firewalld (RHEL7/CentOS7).

    1). How to flush all firewall rules in firewalld using single command?
    2). How to block all outgoing connections from Server using Firewalld?

    • Ravi Saive says:


      FirewallD is based on zones, so it’s not possible to flush everything in one go. You should remove one by one as explained here –

      • ARUN GK says:

        Thanks Sir…

        2). How to block all outgoing connections from Server using Firewalld?

        • Ravi Saive says:


          By default everything is blocked on firewalld, you need to open each port or service to allow access on server, for example to enable only outgoing open port 80 use:

          # firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p tcp -m tcp --dport=80 -j ACCEPT
          # firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -j DROP

          It will only enable port 80, rest everything blocks.

          • ARUN GK says:

            Sir, Thanks for the information.

            Actually I want to block all outgoing ports connections. ie inside to outside connections.

            By default(Active State of Firewalld) there is no blocking in firewall from inside to outside, I checked it my RHEL 7 Server and confirmed. So I want to Blocking outgoing ports with firewalld. Please Explain Sir…

    • @Arun,

      firewall-cmd –direct –add-rule ipv4 filter OUTPUT 2 -j DROP

      Thanks & Regards,
      Bobin Lonston

  3. Ben says:

    Another alternative to iptables is to use a service like HeatShield, which will let you set up a strong and powerful firewall to prevent unauthorized access to services running on your servers, such as SSH and MySQL. HeatShield also includes brute force blocking to prevent malicious SSH login attempts into your server.

  4. Bun Hin says:

    Hi Babin,
    I would like to transfer this below iptables rule to allow incoming nfs connection (example to allow only from network) into the firewalld rule, how to get correct or equivalent in the firewalld?

    -A INPUT -s -m state –state NEW -p udp –dport 111 -j ACCEPT
    -A INPUT -s -m state –state NEW -p tcp –dport 111 -j ACCEPT
    -A INPUT -s -m state –state NEW -p tcp –dport 2049 -j ACCEPT
    -A INPUT -s -m state –state NEW -p tcp –dport 32803 -j ACCEPT
    -A INPUT -s -m state –state NEW -p udp –dport 32769 -j ACCEPT
    -A INPUT -s -m state –state NEW -p tcp –dport 892 -j ACCEPT
    -A INPUT -s -m state –state NEW -p udp –dport 892 -j ACCEPT
    -A INPUT -s -m state –state NEW -p tcp –dport 875 -j ACCEPT
    -A INPUT -s -m state –state NEW -p udp –dport 875 -j ACCEPT
    -A INPUT -s -m state –state NEW -p tcp –dport 662 -j ACCEPT
    -A INPUT -s -m state –state NEW -p udp –dport 662 -j ACCEPT

    by reading your tutorial, i am assume to put the port in nfs.xml file, and add rich text rule in public zone? but not sure

    Could you please share to do it correctly.

    Thank you,

  5. DR says:

    Very good article, thanks.

  6. Zoran says:


    Thanks for this! Would it be possible to add a “bittorrent/p2p” service to firewalld and try blocking it?

  7. seighalani says:

    thanks a lot for your kind of help

  8. henry says:

    It’s easier to understand and use firewalld

  9. Eduardo Hernacki says:


    When using firewalld, you should also disable and mask the “ip6tables” and “ibtables” services.

Got something to say? Join the discussion.

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.