UFW Documentation (Linux)

Requirements

Linux Server/Desktop Ubuntu/Debian Root or sudo privileges Terminal Access

Install UFW

sudo apt update sudo apt install ufw

Verify Installation

ufw --version

Check Firewall Status

sudo ufw status
sudo ufw status verbose
sudo ufw status numbered

Enable UFW

sudo ufw enable

Disable UFW

sudo ufw disable

Reload Rules

sudo ufw reload

Reset UFW

sudo ufw reset

Default Deny Incoming

sudo ufw default deny incoming

Default Allow Outgoing

sudo ufw default allow outgoing

Allow Port

sudo ufw allow 80 sudo ufw allow 443

Allow Service

sudo ufw allow ssh sudo ufw allow http sudo ufw allow https

Allow Port Range

sudo ufw allow 6000:7000/tcp

Allow Specific IP

sudo ufw allow from 192.168.1.100

Allow Entire Subnet

sudo ufw allow from 192.168.1.0/24

Deny Port

sudo ufw deny 3306

Reject Port

sudo ufw reject 25

Insert Rule at Position

sudo ufw insert 1 allow 22 sudo ufw insert 2 deny 3306

Delete Rule

sudo ufw delete allow 80 sudo ufw delete deny 3306

Delete Rule By Number

sudo ufw status numbered sudo ufw delete 3

TCP Rules

sudo ufw allow 22/tcp sudo ufw allow 443/tcp

UDP Rules

sudo ufw allow 53/udp sudo ufw allow 1194/udp

Allow SSH

sudo ufw allow ssh sudo ufw allow 22/tcp

Allow SSH From Specific IP

sudo ufw allow from 192.168.1.50 to any port 22

List Application Profiles

sudo ufw app list

Apache Profile

sudo ufw allow "Apache" sudo ufw allow "Apache Full"

Allow On Interface

sudo ufw allow in on eth0 to any port 80

Allow Forwarding

sudo ufw route allow in on eth0 out on eth1

Route Rule

sudo ufw route allow proto tcp from any to any port 80

Enable Logging

sudo ufw logging on sudo ufw logging low sudo ufw logging medium sudo ufw logging high

Enable IPv6

sudo nano /etc/default/ufw IPV6=yes sudo ufw reload

Useful Commands

sudo ufw status sudo ufw status numbered sudo ufw show added sudo ufw show listening sudo ufw show raw sudo ufw show before-rules sudo ufw show user-rules

Common Errors

ERROR: Could not find a profile matching Cause: Wrong application name Fix: sudo ufw app list
Firewall inactive Cause: UFW disabled Fix: sudo ufw enable
SSH connection lost Cause: Port 22 blocked Fix: sudo ufw allow ssh

Best Practices

✓ Allow SSH before enabling firewall ✓ Use status numbered ✓ Delete rules by number ✓ Enable logging ✓ Use specific IP restrictions ✓ Keep default deny incoming ✓ Allow only required ports ✓ Backup rules before reset