Skip to main content

Configure the Firewall (UFW)

This guide explains how to configure the firewall on your Linux VPS with UFW (Uncomplicated Firewall).

What is UFW?​

UFW is a simplified interface for iptables, Linux's native firewall. It makes managing network filtering rules easy.

Installation​

UFW is usually pre-installed on Ubuntu/Debian. Otherwise:

sudo apt update
sudo apt install ufw

Basic Configuration​

Check Status​

sudo ufw status

Default Policy​

Block all incoming traffic and allow outgoing:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Allow SSH (important!)​

Warning

Allow SSH BEFORE enabling UFW, otherwise you will lose access to your VPS!

sudo ufw allow ssh
# or with a custom port
sudo ufw allow 22/tcp

Enable the Firewall​

sudo ufw enable

Common Rules​

Allow a Port​

# HTTP port
sudo ufw allow 80/tcp

# HTTPS port
sudo ufw allow 443/tcp

# Custom port (e.g.: FiveM)
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp

# MySQL port (local only recommended)
sudo ufw allow from 127.0.0.1 to any port 3306

Allow a Port Range​

sudo ufw allow 30120:30130/tcp
sudo ufw allow 30120:30130/udp

Allow a Specific IP​

# Allow all traffic from an IP
sudo ufw allow from 192.168.1.100

# Allow an IP on a specific port
sudo ufw allow from 192.168.1.100 to any port 22

Block an IP​

sudo ufw deny from 203.0.113.50

Delete a Rule​

# View numbered rules
sudo ufw status numbered

# Delete by number
sudo ufw delete 2

# Or delete by rule
sudo ufw delete allow 80/tcp

Useful Commands​

CommandDescription
sudo ufw status verboseDisplay detailed status
sudo ufw disableDisable the firewall
sudo ufw resetReset all rules
sudo ufw reloadReload rules

Configuration for Common Services​

Web Server (Nginx/Apache)​

sudo ufw allow 'Nginx Full'
# or
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

FiveM Server​

sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp # txAdmin

Minecraft Server​

sudo ufw allow 25565/tcp
sudo ufw allow 25565/udp

Pterodactyl Panel​

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8080/tcp
sudo ufw allow 2022/tcp

View Logs​

sudo ufw logging on
sudo tail -f /var/log/ufw.log
Tip

Always test your rules from another connection before closing your active SSH session.