====== uncomplicated firewall (ufw) ====== [[https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands|UFW Essentials: Common Firewall Rules and Commands]] ===== block IPs ===== # single IP ufw insert 1 deny from 192.168.111.123/32 # IP range ufw insert 1 deny from 192.168.111.123/24 → you can use ''ufw deny from'' instead, but keep in mind the rules are evaluated from first to last, so if you have an ''allow'' rule before, the ''deny'' rule might not be applied. ===== port forwarding ===== # port forwarding *nat :PREROUTING ACCEPT [0:0] # flush rules so no duplicates are added -F # forward :3217 to wireguard listening on :5226 -A PREROUTING -p udp --dport 3217 -j REDIRECT --to-port 5226 COMMIT after that: ufw disable && ufw enable ===== scripts ===== check if enabled or disabled in bash: if ! grep ENABLED=no /etc/ufw/ufw.conf>/dev/null; then echo "enabled"; else echo "disabled"; fi