### Summary

When modifying firewall rules with `iptables` module in ansible, the iptables tries to do reverse lookups for the IP addresses in some occasions, which can cause huge delays when the defined DNS server is unreachable for some reason. When working with iptables from the command line, one can just use the `-n` -switch (`--numeric`) of the iptables binary to disable DNS lookups altogether. However, when using the `ansible.builtin.iptables` module, such switch can not be set.

The delay problem of iptables has been known issue for long, but usually it can be bypassed with the trick mentioned above.

The` --numeric` only is available for the list (`-L`) command, and even though this module does not directly offer such functionality, internally it is using it for checking policies etc.

### Issue Type

Feature Idea

### Component Name

iptables

### Additional Information

For the sake of clarity: the problem is not about using hostnames for firewall rules (which is generally considered bad idea anyway), but the fact that iptables does the reverse lookup of the IP addresses too.

As for the question: why don't you just setup a working DNS?
- Some environments might not have DNS at all and still need firewall
- Not all machines need DNS, so no DNS for them
- DNS might not be available during the deployment when setting the initial firewall rules but will be around later on

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
- List of flags you want to examine.
            type: list
            elements: str
        flags_set:
            description:
                - Flags to be set.
            type: list
            elements: str
  match:
    description:
      - Specifies a match to use, that is, an extension module that tests for
        a specific property.
      - The set of matches make up the condition under which a target is invoked.
      - Matches are evaluated first to last if specified as an array and work in short-circuit
        fashion, i.e. if one extension yields false, evaluation will stop.
    type: list
    elements: str
    default: []
  jump:
    description:
      - This specifies the target of the rule; i.e., what to do if the packet matches it.
      - The target can be a user-defined chain (other than the one
        this rule is in), one of the special builtin targets which decide the
        fate of the packet immediately, or an extension (see EXTENSIONS
        below).
      - If this option is omitted in a rule (and the goto parameter
        is not used), then matching the rule will have no effect on the
        packet's fate, but the counters on the rule will be incremented.
    type: str
  gateway: