# salt.modules.firewalld

Support for firewalld.

New in version 2015.2.0.

salt.modules.firewalld.add_interface(zone, interface, permanent=True)

  Bind an interface to a zone

  New in version 2016.3.0.

  CLI Example:

      salt '*' firewalld.add_interface zone eth0

salt.modules.firewalld.add_masquerade(zone=None, permanent=True)

  Enable masquerade on a zone. If zone is omitted, default zone will be used.

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewalld.add_masquerade

  To enable masquerade on a specific zone

      salt '*' firewalld.add_masquerade dmz

salt.modules.firewalld.add_port(zone, port, permanent=True, force_masquerade=False)

  Allow specific ports in a zone.

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewalld.add_port internal 443/tcp

  force_masquerade

    when a zone is created ensure masquerade is also enabled on that zone.

salt.modules.firewalld.add_port_fwd(zone, src, dest, proto='tcp', dstaddr='', permanent=True, force_masquerade=False)

  Add port forwarding.

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewalld.add_port_fwd public 80 443 tcp

  force_masquerade

    when a zone is created ensure masquerade is also enabled on that zone.

salt.modules.firewalld.add_rich_rule(zone, rule, permanent=True)

  Add a rich rule to a zone

  New in version 2016.11.0.

  CLI Example:

      salt '*' firewalld.add_rich_rule zone 'rule'

salt.modules.firewalld.add_service(service, zone=None, permanent=True)

  Add a service for zone. If zone is omitted, default zone will be used.

  CLI Example:

      salt '*' firewalld.add_service ssh

  To assign a service to a specific zone:

      salt '*' firewalld.add_service ssh my_zone

salt.modules.firewalld.add_service_port(service, port)

  Add a new port to the specified service.

  New in version 2016.11.0.

  CLI Example:

      salt '*' firewalld.add_service_port zone 80

salt.modules.firewalld.add_service_protocol(service, protocol)

  Add a new protocol to the specified service.

  New in version 2016.11.0.

  CLI Example:

      salt '*' firewalld.add_service_protocol zone ssh

salt.modules.firewalld.add_source(zone, source, permanent=True)

  Bind a source to a zone

  New in version 2016.3.0.

  CLI Example:

      salt '*' firewalld.add_source zone 192.168.1.0/24

salt.modules.firewalld.allow_icmp(zone, icmp, permanent=True)

  Allow a specific ICMP type on a zone

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewalld.allow_icmp zone echo-reply

salt.modules.firewalld.block_icmp(zone, icmp, permanent=True)

  Block a specific ICMP type on a zone

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewalld.block_icmp zone echo-reply

salt.modules.firewalld.default_zone()

  Print default zone for connections and interfaces

  CLI Example:

      salt '*' firewalld.default_zone

salt.modules.firewalld.delete_service(name, restart=True)

  Delete an existing service

  CLI Example:

      salt '*' firewalld.delete_service my_service

  By default firewalld will be reloaded. However, to avoid reloading you need to specify the restart as False

      salt '*' firewalld.delete_service my_service False

salt.modules.firewalld.delete_zone(zone, restart=True)

  Delete an existing zone

  CLI Example:

      salt '*' firewalld.delete_zone my_zone

  By default firewalld will be reloaded. However, to avoid reloading you need to specify the restart as False

      salt '*' firewalld.delete_zone my_zone False

salt.modules.firewalld.get_icmp_types(permanent=True)

  Print predefined icmptypes

  CLI Example:

      salt '*' firewalld.get_icmp_types

salt.modules.firewalld.get_interfaces(zone, permanent=True)

  List interfaces bound to a zone

  New in version 2016.3.0.

  CLI Example:

      salt '*' firewalld.get_interfaces zone

salt.modules.firewalld.get_masquerade(zone=None, permanent=True)

  Show if masquerading is enabled on a zone. If zone is omitted, default zone will be used.

  CLI Example:

      salt '*' firewalld.get_masquerade zone

salt.modules.firewalld.get_rich_rules(zone, permanent=True)

  List rich rules bound to a zone

  New in version 2016.11.0.

  CLI Example:

      salt '*' firewalld.get_rich_rules zone

salt.modules.firewalld.get_service_ports(service)

  List ports of a service.

  New in version 2016.11.0.

  CLI Example:

      salt '*' firewalld.get_service_ports zone

salt.modules.firewalld.get_service_protocols(service)

  List protocols of a service.

  New in version 2016.11.0.

  CLI Example:

      salt '*' firewalld.get_service_protocols zone

salt.modules.firewalld.get_services(permanent=True)

  Print predefined services

  CLI Example:

      salt '*' firewalld.get_services

salt.modules.firewalld.get_sources(zone, permanent=True)

  List sources bound to a zone

  New in version 2016.3.0.

  CLI Example:

      salt '*' firewalld.get_sources zone

salt.modules.firewalld.get_zones(permanent=True)

  Print predefined zones

  CLI Example:

      salt '*' firewalld.get_zones

salt.modules.firewalld.list_all(zone=None, permanent=True)

  List everything added for or enabled in a zone

  CLI Example:

      salt '*' firewalld.list_all

  List a specific zone

      salt '*' firewalld.list_all my_zone

salt.modules.firewalld.list_icmp_block(zone, permanent=True)

  List ICMP blocks on a zone

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewlld.list_icmp_block zone

salt.modules.firewalld.list_port_fwd(zone, permanent=True)

  List port forwarding

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewalld.list_port_fwd public

salt.modules.firewalld.list_ports(zone, permanent=True)

  List all ports in a zone.

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewalld.list_ports

salt.modules.firewalld.list_services(zone=None, permanent=True)

  List services added for zone as a space separated list. If zone is omitted, default zone will be used.

  CLI Example:

      salt '*' firewalld.list_services

  List a specific zone

      salt '*' firewalld.list_services my_zone

salt.modules.firewalld.list_zones(permanent=True)

  List everything added for or enabled in all zones

  CLI Example:

      salt '*' firewalld.list_zones

salt.modules.firewalld.make_permanent()

  Make current runtime configuration permanent.

  New in version 2016.3.0.

  CLI Example:

      salt '*' firewalld.make_permanent

salt.modules.firewalld.new_service(name, restart=True)

  Add a new service

  CLI Example:

      salt '*' firewalld.new_service my_service

  By default firewalld will be reloaded. However, to avoid reloading you need to specify the restart as False

      salt '*' firewalld.new_service my_service False

salt.modules.firewalld.new_zone(zone, restart=True)

  Add a new zone

  CLI Example:

      salt '*' firewalld.new_zone my_zone

  By default firewalld will be reloaded. However, to avoid reloading you need to specify the restart as False

      salt '*' firewalld.new_zone my_zone False

salt.modules.firewalld.reload_rules()

  Reload the firewall rules, which makes the permanent configuration the new runtime configuration without losing state information.

  New in version 2016.11.0.

  CLI Example:

      salt '*' firewalld.reload_rules

salt.modules.firewalld.remove_interface(zone, interface, permanent=True)

  Remove an interface bound to a zone

  New in version 2016.3.0.

  CLI Example:

      salt '*' firewalld.remove_interface zone eth0

salt.modules.firewalld.remove_masquerade(zone=None, permanent=True)

  Remove masquerade on a zone. If zone is omitted, default zone will be used.

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewalld.remove_masquerade

  To remove masquerade on a specific zone

      salt '*' firewalld.remove_masquerade dmz

salt.modules.firewalld.remove_port(zone, port, permanent=True)

  Remove a specific port from a zone.

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewalld.remove_port internal 443/tcp

salt.modules.firewalld.remove_port_fwd(zone, src, dest, proto='tcp', dstaddr='', permanent=True)

  Remove Port Forwarding.

  New in version 2015.8.0.

  CLI Example:

      salt '*' firewalld.remove_port_fwd public 80 443 tcp

salt.modules.firewalld.remove_rich_rule(zone, rule, permanent=True)

  Add a rich rule to a zone

  New in version 2016.11.0.

  CLI Example:

      salt '*' firewalld.remove_rich_rule zone 'rule'

salt.modules.firewalld.remove_service(service, zone=None, permanent=True)

  Remove a service from zone. This option can be specified multiple times. If zone is omitted, default zone will be used.

  CLI Example:

      salt '*' firewalld.remove_service ssh

  To remove a service from a specific zone

      salt '*' firewalld.remove_service ssh dmz

salt.modules.firewalld.remove_service_port(service, port)

  Remove a port from the specified service.

  New in version 2016.11.0.

  CLI Example:

      salt '*' firewalld.remove_service_port zone 80

salt.modules.firewalld.remove_service_protocol(service, protocol)

  Remove a protocol from the specified service.

  New in version 2016.11.0.

  CLI Example:

      salt '*' firewalld.remove_service_protocol zone ssh

salt.modules.firewalld.remove_source(zone, source, permanent=True)

  Remove a source bound to a zone

  New in version 2016.3.0.

  CLI Example:

      salt '*' firewalld.remove_source zone 192.168.1.0/24

salt.modules.firewalld.set_default_zone(zone)

  Set default zone

  CLI Example:

      salt '*' firewalld.set_default_zone damian

salt.modules.firewalld.version()

  Return version from firewall-cmd

  CLI Example:

      salt '*' firewalld.version