garrysmod server (port forwarding)

i know how to set up a server, but 8/10 people dont have forwarded ports, i have heard of portforward, but i cant get it to work…period. anybody know how it works?

also… is there a way to forward your ports free? i dont like paying for crap, my income is like 5$ a day becuz of all the shit i have to pay for.