redhat firewalld - ghdrako/doc_snipets GitHub Wiki

Firewalld's concept of using zones, to which we can assign network interfaces or IP addresses

By default, firewalld is configured in the deny everything, add exceptions manner, again, for ease of use.

Status

firewall-cmd --state
firewall-cmd --list-services
systemctl status firewalld

Show rules

firewall-cmd --get-all-rules --direct

Start

systemctl unmask firewalld
systemctl start firewalld
systemctl enable firewalld

stop

systemctl stop firewalld
systemctl disable firewalld  # prevent firewalld from starting automatically at system start,
systemctl mask firewalld     #  make sure firewalld is not started by accessing the firewalld D-Bus interface and also if other services require firewalld

control traffic in services

firewall-cmd --panic-on    # immediately disable networking traffic
firewall-cmd --panic-off
firewall-cmd --query-panic

firewall-cmd --list-services # List allowed services
firewall-cmd --get-services # List all predefined services
firewall-cmd --add-service=<service-name> # add the service to the allowed services
firewall-cmd --runtime-to-permanent # Make the new settings persistent

firewall-cmd --new-service=service-name
firewall-cmd --new-service-from-file=service-name.xml

Enable port

firewall-cmd --zone=public --add-port=1234/tcp --permanent

Open TCP ports 80 and 443

sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port=443/tcp --permanent
# or
sudo firewall-cmd --add-port=80/tcp --add-port=443/tcp --permanent

After adding the ports, you need to reload the firewall for the changes to take effect:

sudo firewall-cmd --reload

You can also check the status of the ports using the following command:

sudo firewall-cmd --list-ports

controlling ports

firewall-cmd --list-ports                       # List all allowed ports
firewall-cmd --add-port=port-number/port-type   # Add a port to the allowed ports to open it for incoming traffic
firewall-cmd --runtime-to-permanent             # Make the new settings persistent


firewall-cmd --remove-port=port-number/port-type
firewall-cmd --runtime-to-permanent

Przekierowanie ip na inny regula firewall-owa

firewall-cmd --permanent --new-policy ExamplePolicy
firewall-cmd --permanent --policy=ExamplePolicy --add-ingress-zone=HOST
firewall-cmd --permanent --policy=ExamplePolicy --add-egress-zone=ANY
firewall-cmd --permanent --policy=ExamplePolicy --add-rich-rule='rule family="ipv4" destination address="192.0.2.1" forward-port port="443" protocol="tcp" to-port="443" to-addr="192.51.100.20"'
firewall-cmd --reload