Here is another troubleshooting tip for the CookBook.
Sometimes after activating the firewall policy you can access most of the web sites through the firewall just fine, except for a few. The browser would state "waiting for www.somesite.com" for a while and then time out when you connect to one of these sites.
This might be caused by a MTU problem if you are on a DSL connection using PPPoE. Here are couple of useful pages that describe the problem in details:
If your firewall runs iptables you can use option Clamp MSS to MTU in the firewall settings dialog to work around it.
For the PF firewalls similar option is called Enforce maximum MSS and is located in the Scrub rule options tab of firewall settings dialog. It allows for setting MSS value of TCP sessions opened through the firewall; try values between 1460 or 1464 (1464 is the maximum MSS value that can be used on PPPoE connections without fragmentation).
There is no way to change MSS value on the ipf, ipfw and pix firewalls. If your firewall is one of these, you may need to change MTU on your workstation. See links above for recommendations on how to do it.
You compiled and started firewall policy script and then noticed that seemingly every operation on the firewall takes a lot longer than before. It takes forever to log in to it using telnet or ssh, different services take a few minutes to start or won't start at all.
Most likely the firewall needs to be able to do DNS lookups but can't. Look in /etc/resolv.conf for the address of the name server it is using and make sure you have a rule in the policy to permit connections to it. Use firewall object in Source, the name server object in Destination and a standard service object group DNS in the Service field.
If your firewall runs caching name server and file /etc/resolv.conf lists 127.0.0.1 as a name server address, then you need to permit firewall to talk to itself. Here is how such /etc/resolv.conf file looks like:
domain your_domain.com
nameserver 127.0.0.1
You need to add a rule with firewall object in both Source and Destination and service object DNS in the Service field to the loopback interface. This rule permits firewall machine to communicate with the name server running on it, but you need another rule to permit the name server to send DNS queries and receive answers. This rule should have firewall object in Source, Destination should be set to any and the same standard service object group DNS should be used in the Service element. Now not only firewall can query the name server process running on it, but the process in turn can send queries to other name servers on the Internet and receive answers.
Here is the rule that should be added to the loopback interface:
Here is the rule that permits name server process to communicate with name servers on the Internet (rule should be added to the Global policy):
Depending on your policy design, you may want to permit all services rather than just DNS on the loopback interface because there are many other processes that need to be able to communicate with the same host , such as X11, RPC etc. The dedicated firewall machine should not run anything unnecessary, so there you may experiment with limiting number of services in the rule on loopback interface. On the other hand, if you use fwbuilder to protect a server that runs many different services, permitting any service on the loopback may be a simpler solution.
The next rule permits processes running on the firewall to communicate with other processes running on the same machine on all protocols:
A Help me build policy druid can automatically build a rule on the loopback interface to permit all services. It can also add a rule to permit name server running on the firewall to send DNS queries to servers on the Internet, as well as a rule that permits hosts on the local net to use firewall as a name server.
You've built a firewall script to protect a server, but after you ran the script, X (KDE, Gnome) won't start anymore.
The reason for this is the same as in the previous problem - you need a rule to permit processes communicate with other
processes running on the same machine. This can easily be achieved with the following rule added to the loopback interface:
You are trying to execute iptables script generated by fwbuilder but get an error message Interface eth0 does not exist or similar.
There are several conditions that may cause this error.
The script generated by fwbuilder uses tool /sbin/ip to verify configuration of the firewall interfaces and make sure that interfaces of the real firewall machine correspond to the interface objects created in the GUI. You may get this error if the tool /sbin/ip is not installed on your system. All modern Linux distributions come with the package iproute2 which includes /sbin/ip; check if iproute2 is installed and /sbin/ip exsits.
Another case when you may encounter this error is when firewall script is executed prematurely during the boot sequence and interface really does not exist at that time. For example, interface ppp0 is created only when the system is configured for PPP and daemon pppd is running. If firewall script is activated before the daemon started during the boot sequence, interface ppp0 is not there yet, which leads to this error. Make sure you start firewall script after all interfaces has been initialized.
I compiled and activated firewall policy, but workstations behind the firewall still can not access the Internet.
Here are few troubleshooting steps:
Things to check in the policy:
Copyright © 2000-2008 NetCitadel, LLC. All rights reserved.
Free CSS Templates.