The configuration of firewalls is primarily about opening and closing ports. How that is done varies between their various implementation. Many operating systems have firewall capabilities build into the the kernel, so that the configuration is often OS specific as well. Firewalls can also be used for routing and network address translation in which case an IP address appears to have open ports, but where services on these ports are running must not necessarily be the machine with the mentioned address, but can also be a virtual machine or even another computer.