# How can I open a range of ports in ubuntu using (g)ufw

I have to open up a group of ports.

Adding the single ports to (g)ufw was easy enough but I can't work out how to open the range 11200-11299.

How do I do that?

You can specify port ranges to ufw (the command-line one), using : (colon) to separate the lowest and the highest port in the range. For example:

ufw allow 11200:11299/tcp


Note that the protocol part (/tcp or /udp) is mandatory with port ranges.

This works at least since Ubuntu 10.04.

• +1. By the way ufw allow also opens ports for IPv6 by default. – Yauhen Yakimovich May 26 '14 at 11:00
• It works, but it says ERROR. – JulianLai Aug 29 '16 at 18:45

Either

ufw allow 11200:11299/tcp
ufw allow 11200:11299/udp


or if you need to use a from source ip range you must use full syntax

ufw allow from AAA.BBB.CCC.DDD/EE to any port 11200:11299 proto tcp
ufw allow from AAA.BBB.CCC.DDD/EE to any port 11200:11299 proto udp


see:

• indexmegoogle: ufw allow ip and port ranges – Jonathan May 15 '16 at 2:44

I believe you can specify the range in the last tab of new rule, tick the checkbox at the bottom of the window to add more options (just to be safe). The range can be specified as 1000:1010 to open ports 1000-1010.

• Thanks, confusing UI but it works. Now I just need to work out what the command-line would be for ufw – Pieter Breed Oct 14 '10 at 10:10
• – evgeny Oct 14 '10 at 10:17

Its worth adding that if you want to restrict to a specific IP address which is allowed access to those ports you can use the following:

ufw allow proto tcp from 1.2.3.4 to any port 40000:40100

The cleanest command line way I've seen is a little script like this:

for i in seq 11200 11299; do
ufw allow \$i
done

• I feel like this is an absolutely terrible idea. something about the idea of having hundreds of firewall rules terrifies me. – Kirkland Sep 19 '15 at 15:12
• Allowing a range (11200:11299) is definitely cleaner. – crishoj Oct 20 '15 at 8:19