I often need to allow some randomly selected port to be open (tcp & udp) in the Uncomplicated Firewall (UFW), while some app is active. Then I’d like to close it. The port number is written in a file, say portfile

At the moment I’m doing this manually: read the number, then call sudo ufw allow xxxx/tcp in a terminal. Later on, delete the port rule with sudo ufw delete [rulenumber].

I’m trying to write a bash script to do this in a more automated way. It’s easy to read the number from the flie as a variable, then call ufw with that number (provided the script is started as sudo).

What’s not clear to me is how to delete the UFW rule once the application is closed. I could start the app within the bash script itself. Maybe it’d just be a matter of waiting for it to finish?

I’m very thankful for suggestions and ideas – and learning more about bash tricks :)

  • RIotingPacifist@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    8 hours ago

    Can you label rules, that would be a better approach IMO.

    Not familiar enough with UFW but could you parse the output and store the rules number as a variable if this is all one long running script?