Firewall Rules Generator

Generates a firewall ruleset in UFW, iptables, or nftables syntax from a repeatable list of rules: a port or port range, protocol (TCP/UDP), source CIDR (or 'any'), and action (allow/deny), producing ready-to-run commands for each target. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-25

Overview

Introduction

The same firewall rule looks completely different depending on whether you're writing UFW, iptables, or nftables syntax, and it's easy to introduce a typo translating between them by hand.

This tool takes a plain description of each rule (port, protocol, source, action) and generates correct syntax for whichever target you need.

What Is Firewall Rules Generator?

A firewall rule generator covering UFW's simplified command syntax, classic iptables commands, and modern nftables `add rule` syntax.

It's part of this site's Network Tools collection and validates ports and source CIDRs before generating anything.

How Firewall Rules Generator Works

Each rule specifies a port (or port range), a protocol (TCP or UDP), a source (a CIDR range, or 'any' for no restriction), and an action (allow or deny).

The generator then renders each rule in the selected target's own syntax: UFW's allow/deny-from-port form, iptables' -A INPUT ... -j ACCEPT/DROP form, or nftables' add rule inet filter input ... accept/drop form, with port ranges and source clauses adapted to each target's expected notation.

When To Use Firewall Rules Generator

Use it when provisioning a new server and you need to open a specific set of ports to specific sources without hand-writing firewall syntax from memory.

It's also useful for translating a firewall policy you already understand conceptually into whichever tool a particular server actually uses.

Features

Advantages

  • Covers three different firewall tools from one shared rule description, reducing the chance of a syntax mistake when switching between them.
  • Validates ports and source CIDRs up front, catching a malformed rule before it's pasted into a live server.
  • Handles port ranges with the correct separator convention per target automatically.

Limitations

  • Generates independent, order-agnostic rules; it doesn't model chain/table setup, default policies, or rule ordering interactions with any existing ruleset.
  • IPv4 CIDR sources only; IPv6 sources aren't validated or generated.
  • The nftables output assumes a `filter` table in the `inet` family with an `input` chain already defined; adjust the table/chain names if yours differ.

Examples

Allowing SSH from an office range in UFW

Input

port: 22, protocol: tcp, source: 203.0.113.0/24, action: allow

Output

ufw allow from 203.0.113.0/24 to any port 22 proto tcp

UFW's from/to/port/proto form restricts the allowed source to just that CIDR range.

Blocking a port range from any source in iptables

Input

port: 8000-9000, protocol: tcp, source: any, action: deny

Output

iptables -A INPUT -p tcp --dport 8000:9000 -j DROP

With source set to any, the -s flag is omitted entirely and the port range uses iptables' colon separator.

Best Practices & Notes

Best Practices

  • Always include a rule allowing your own management access (SSH or otherwise) before applying a deny-heavy ruleset remotely, to avoid locking yourself out.
  • Prefer the narrowest source CIDR that still covers your legitimate traffic, rather than defaulting to 'any', especially for administrative ports.
  • For nftables and iptables, review how these generated rules interact with your existing chain's default policy and any rules already in place, since ordering affects which rule wins.

Developer Notes

Port ranges are accepted with either a hyphen or colon separator and internally normalized, then re-rendered with a colon for UFW/iptables and a hyphen for nftables to match each tool's own documented range syntax; source validation accepts the literal string 'any' as a sentinel for 'no source restriction' in addition to strict IPv4 CIDR notation.

Firewall Rules Generator Use Cases

  • Opening a specific service port to a known set of client IP ranges on a freshly provisioned server
  • Translating a firewall policy from one Linux distribution's default tool (iptables) to another's (nftables)
  • Producing a quick, reviewable firewall rule set to hand off to a teammate or include in provisioning documentation

Common Mistakes

  • Applying a deny-by-default or restrictive ruleset over a remote connection without first confirming a rule permits the connection you're currently using.
  • Mixing up the port-range separator convention (colon vs dash) when hand-editing generated rules for a different tool.

Tips

  • Use the CIDR Subnet Calculator alongside this tool if you need to double-check exactly which addresses a given source CIDR actually covers.

References

Frequently Asked Questions