I’ve never done this myself, but others probably have. At the end of [1], there’s an example of making a generic resource for bandwidth. You could set that to any convenient units (bytes/second or bits/second, most likely), and assign your nodes a certain amount. Then any network-intensive job could reserve all the node’s bandwidth, without locking other less-intensive jobs off the node. It’s identical to reserving 1 or more GPUs per node, just without any hardware permissions.
[1] https://slurm.schedmd.com/gres.conf.html#SECTION_EXAMPLES