A firewall can be a vital piece of network security that keeps hackers out of a computer system, but it can be complicated to set up properly. Firewalls are designed to scan any traffic that passes through them, allowing only legitimate packets and blocking anything unauthorized. However, they can also inadvertently block legitimate traffic, especially if misconfigured, and make Internet communication programs harder to use.
Most routers and cable or ADSL modems contain a built-in firewall, although this may be inadequate for a large system. In addition, operating systems often include a software firewall, and there are many third-party software firewalls available to shore up system security. Depending on the firewall's software, you may have to configure it to allow each of your programs to communicate through its barriers, or it may be able to intelligently detect when a program needs access to the Internet and let it through.
One of the most important advantages to a firewall is detecting outgoing connections. Many types of malware "phone home" once they have infected a computer system, and detecting this outgoing transmission may be the first clue that a system has been compromised. However, communication programs that rely on two-way data connections may find it tricky to navigate a firewall until the administrator configures it to allow an exception.