What is FirewallD ?
FirewallD is the Dynamic Firewall Manager of Linux systems. This service is used to configure the network connections, thus deciding which external network or internal packets to allow traversing the network and which to block.
It allows two types of configurations, permanent and runtime. Runtime configurations will get lost ones the service is restarted while the permanent ones get retained across the system boot so that they are followed every time the service gets active.
Corresponding to these configurations, firewallD has two directories, default/fallback one (/usr/lib/firewall) which is lost ones system is updated and the system configuration (/etc/firewall) which remains permanent and overrides the default one if given.
This is found as a default service in RHEL/CentOS 7 and Fedora 18.
What is Iptables ?
Iptables is another service which decides to allow, drop or return IP packets. Iptables service manages Ipv4 packets while Ip6tables manages Ipv6 packets.
This service manages a list of tables where each table is maintained for different purpose like: ‘filter‘ table is for firewall rules, ‘nat‘ table is consulted in case of new connection, ‘mangle‘ in case of packet alterations and so on.
Each table further has chains which can be built-in or user-defined where a chain signifies a set of rules which are applies to a packet, thus deciding what the target action for that packet should be i.e. it must be ALLOWED, BLOCKED or RETURNED.
This service is a default service on systems like: RHEL/CentOS 6/7 and Fedora 25, Arch Linux, Ubuntu etc.
How to Start/Stop & Enable/Disable FirewallD Service
If you’re using CentOS/RHEL 7 or Fedora 18-25 versions,
you should follow below instructions to manage FirewallD service.
Start FirewallD Service
Step1 :- systemctl start firewalld
Stop FirewallD Service
Step2 :- systemctl stop firewalld
Check the Status of FirewallD
Step3 :- systemctl status firewalld
Check the State of FirewallD
Step4 :- firewall-cmd --state
As an alternative, you can disable the firewalld service so that it doesn’t apply rules to packets and enable ones needed again.
Disable FirewallD Service
Step5 :- systemctl disable firewalld
Enable FirewallD Service
Step6 :- systemctl enable firewalld
Mask FirewallD Service
Step7 :- systemctl mask firewalld
Also, you can mask the firewall service which creates a symbolic link of the firewall.service to /dev/null, thus disabling the service.
Unmask FirewallD Service
Step8 :- systemctl unmask firewalld
This is reverse of masking the service.
This removes the symlink of the service created during masking, thus re-enabling the service.
How to Start/Stop & Enable/Disable IPtables Service
On RHEL/CentOS 6/7 and Fedora 18-25 iptables firewall comes as pre and later, the iptables service can be installed via:
Step9 :- yum install iptables-services
Then, the service can be started, stopped or restarted via following commands:
Start Iptables Service
Step10 :- systemctl start iptables
OR
# service iptables start
Stop Iptables Service
Step11 :- systemctl stop iptables
OR
# service iptables stop
Disable Iptables Service
Step12 :- systemctl disable iptables
Or
# service iptables save
# service iptables stop
Enable Iptables Service
Step13 :- systemctl enable iptables
Or
# service iptables start
Check Status of Iptables Service
Step14 :- systemctl status iptables
OR
# service iptables status
On Ubuntu and some other Linux distributions however, ufw is the command which is used to manage the iptables firewall service.
Ufw provides an easy interface for the user to handle the iptables firewall service.
Enable Ufw Iptables Firewall
Step15 :- sudo ufw enable
Disable Ufw Iptables Firewall
Step16 :- sudo ufw disable
Check Status of Ufw Iptables Firewall
Step17 :- sudo ufw status
However, if you want to list chains in iptables which contains all the rules following command can help you achieve the same:
Step18 :- iptables -L -n -v