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