Firewalling and Netfilter Terms

FirewallA security system that prevents unauthorized data flow to and from other networks.
packet filterSoftware that examines the header of packets as they pass through, and decides the fate of the packet based on that packets header. This is done without accouting for it's relationship to any other packet.
connection trackingThe ability to maintain state information about a connection in memory tables, such as source and destination ip address and port number pairs (known as socket pairs), protocol types, connection state and timeouts.
stateful firewallA firewall that performs connection tracking.
NATNetwork Address Translation. The alteration of source and destination network addresses of ip headers.
NetfilterSoftware which is newly available in the linux 2.4 kernel that is used to provide firewalling capabilities.
iptablesThe user space portion of netfilter, or the command line program executed to alter the behavior of the netfilter modules running in the kernel.
tablesThere are currently three tables in netfilter. Each is present if it's corresponding module is loaded. Tables contain built in chains.
filter tableThe table that contains the built in chains INPUT, FORWARD and OUTPUT. It is used to detrmine wheather to accept, drop or reject network traffic.
nat tableThe table used to facilitate network address translation. It contains the built in chains PREROUTING, OUTPUT and POSTROUTING.
mangle tableThe table used to alter other parts of the packet then the destination and source addresses. It contains the built in chains PREROUTINGand OUTPUT.
commandThe part of the iptables command line which tells netfilter what what type of change is to be made. (ie append, delete, list)
parameterOptions used to specify network traffic. (ie source interface, destination address)
targetThe resulting action that occurs if the parameter match is true
ruleSpecifies criteria for a packet and a target. Consists of parameters and a target.
chainA checklist of rules.
built in chainOne of the chains which exists as part of a table and is traversed when a packet reaches the appropiate hook.
user defined chainA chain which can be created by a user and it can become a target in a predefined chain or another user defined chain.
DNATDestination Network Address Translation (nat table, postrouting chain only) The alteration of source and destination network addresses performed to cause the appearance that network traffic is destined for a different host than the host the traffic was originally inteded.
SNATSource Network Address Translation (nat table, prerouting chain only) The alteration of source and destination network addresses performed to cause the appearance that network traffic originates from a translating host instead of from the actual originating host.
MasqueradeA subset of source network address translation appropriate for dynamically assigned addresses