IP Allow List Generator
Generate IP allow lists from CIDR, ranges, subnets, and addresses for AWS, GitHub Actions, iptables, UFW, Nginx, Kubernetes, and firewalls.
Quick Summary
What is this tool?
An IP allow list (formerly known as a whitelist) is a security mechanism that explicitly allows network traffic from trusted IP addresses while implicitly denying everything else.
It is commonly used to protect admin panels, private APIs, CI/CD pipelines, databases, and internal company tools from the public internet. This generator translates plain IP addresses and CIDR notations into the specific syntax required by various cloud providers and firewalls.
How to Use This Tool
- Enter IP Sources: Input single IPs, multiple IPs, IP ranges, or CIDR blocks (e.g.,
192.168.1.0/24). - Select Output Platform: Choose Nginx, iptables, UFW, AWS Security Groups, or Kubernetes NetworkPolicies.
- Generate List: The tool calculates all valid subnets and generates the exact syntax for your platform.
- Export: Copy the output or download it as JSON/YAML/CSV.
What This Tool Generates
- Nginx
allow/denyblocks UFWterminal commandsiptablesterminal rules- AWS Security Group-style CIDR lists
- Kubernetes
NetworkPolicynotes - JSON/YAML/CSV formatted IP lists
Example Output Explanation
A generated Nginx configuration snippet blocking public access to an admin panel:
location /admin/ {
allow 10.0.0.0/8; # Internal network
allow 192.168.1.50; # Specific admin IP
deny all; # Drop everything else
}Best Practices
- AWS IP allow list: When creating AWS Security Groups, you do not need an explicit 'deny' rule. Security groups deny all inbound traffic by default unless an allow rule exists.
- GitHub Actions IP allow list: GitHub hosted runners use a wide, constantly changing pool of IP addresses. Instead of manually whitelisting IPs, use the official GitHub meta API to fetch their current CIDR ranges dynamically.
- Kubernetes IP listing notes: When applying an IP allow list to a Kubernetes NetworkPolicy, ensure your cluster uses a CNI plugin that supports NetworkPolicies (like Calico or Cilium), otherwise the rules will be ignored.
Common Mistakes
- Using 0.0.0.0/0: This CIDR block means 'all IP addresses'. Never use it in an allow list unless you explicitly intend to make the service public.
- Forgetting the default deny: In platforms like Nginx or iptables, simply writing 'allow X' is not enough. You must append a final 'deny all' (or set a default drop policy) to actually block untrusted traffic.
- Relying solely on IPs: IP addresses can be spoofed or dynamically reassigned (especially in cloud environments). An IP allow list should complement strong authentication, not replace it.
Security Notes
- Do not log sensitive, real-world internal IP schemas in public tools. Use placeholders like 192.0.2.0/24 for testing.
- Regularly audit your IP allow lists. Stale IP addresses belonging to former employees or decommissioned VPNs pose a significant security risk.
- Combine IP allow lists with Rate Limiting to prevent denial of service from trusted but compromised nodes.
Testing Instructions
- Before applying iptables rules via SSH, run 'iptables-apply' or schedule a cron job to reset the rules in 5 minutes in case you lock yourself out.
- Always check your current public IP with 'curl ifconfig.me' before configuring a strict allow list.
Frequently Asked Questions
What is an IP Allow List Generator?
How do I generate IP list from CIDR?
How do I allow list IPs in UFW?
How do I allow list IPs in iptables?
Can I allow list GitHub Actions IPs?
Is IP allowlisting secure?
How We Keep Your Configs Safe & Valid
Built-in Error Checking
Every file is checked against official rules. We catch missing fields and bad syntax. YAML indentation errors are flagged right away. Kubernetes, Terraform, and Docker specs are all covered. API versions and labels are verified too. You get valid output every time you generate.
100% Private & Local
All tools run in your browser only. Your API keys never leave your machine. We do not use any tracking scripts. No data is sent to any server. Passwords and secrets stay on your device. Crypto operations use the Web Crypto API. Your privacy is fully protected at all times.
Secure Settings by Default
Configs use safe defaults out of the box. Containers run as non-root users. Root filesystems are set to read-only. Dangerous Linux capabilities are dropped. Network policies limit pod-to-pod traffic. TLS 1.3 is enabled for web servers. Security headers are added where needed.
Ready for CI/CD & Git
Output files are ready for your Git repo. Use them with ArgoCD, Flux, or GitHub Actions. Files use clear formatting and comments. Code review is easy for your team. Indentation and key order are consistent. Test in staging before going to production. Every file is clean and well-structured.
Infrastructure as Code
Store configs in Git alongside your code. Terraform modules include typed variables. Backend configs support remote state locking. Outputs work across multiple modules. Ansible playbooks use clear task steps. Chef and Puppet configs are also supported. Every file works with version control tools.
Monitoring & Tracing
Set up Prometheus with auto-discovery rules. Create Grafana dashboards with template variables. Add alerting rules with severity labels. Use OpenTelemetry for trace collection. Forward logs to Loki or Elasticsearch. Connect to Jaeger or Tempo for tracing. Monitor metrics, logs, and traces together.
Container & Docker Safety
Dockerfiles use multi-stage builds for small images. Base images are pinned to exact versions. Dev files are excluded from final images. Health checks are added for orchestrator use. Containers switch to non-root users. Docker Compose uses named volumes and networks. Resource limits are set in deploy configs.
Multiple Output Formats
Export as YAML, JSON, HCL, or TOML. Kubernetes uses YAML with proper separators. Terraform uses HCL with correct escaping. JSON output has consistent indentation. Copy to clipboard with one click. Preview output with syntax highlighting. Line numbers help you review quickly.