From DD-WRT Wiki

Jump to: navigation, search

The purpose of the firewall is to moderate traffic and/or log it. Most firewall are made for moderating ip traffic and are called ip firewalls.

The simplest ip firewall has two physical interfaces normally referred to as inside (LAN) and outside (WAN, the internet). It has two main access control lists (ACL) - e.g. named inside2outside and outside2inside.


[edit] Packet filter firewall

The simplest ip firewall - a packet filter firewall - can pass packet by packet or drop them based on:

  • source ip address
  • destination ip address
  • If tcp or udp:
    • source tcp/udp port
    • destination tcp/udp port

[edit] Statefull firewall

The better ip firewall - a statefull firewall - can pass packet by packet - and if possible (e.g. tcp and udp) track the connection. A statefull firewall can additionally moderate trackable traffic by:

  • number of connections per (src/dst) ip address
  • number of connections per interface
  • number of connections attempt - "SYN"-attacks, packet storms

[edit] NAT - Network address Translation

Due to IPv4 address shortage, the internet society began to use NAT, and therefore the firewall also need to be NAT aware.

[edit] NAT incompatible protocols

A real problem with NAT is when more than one inside clients (e.g. C1, C2) connect to the same outside server ip address (S) and the traffic is not tcp and udp. When a response outside packet later arrives at the NAT device (firewall), it can not deduce which client to send it to. Here are examples of protocols that has that problem:

Even if the traffic is unencrypted it can not be deduced where to NAT a response outside packet, if more than one inside client uses the same protocol to the same outside ip address. UDP and TCP are special because they have 65536 possible src and dst ports that can help connection tracking.

[edit] Firewall difficult protocols

Some protocols can in-line signal a port jump and/or create connections one or both ways "at will". A firewall that can moderate that kind of traffic, need to inspect the traffic stream. To do that a firewall must have transparent proxies and are then called an application firewall.

Some examples of protocols that can port jump and/or create additional connections are:

  • FTP passive
  • FTP active - if you enable proxy support for active FTP, you firewall can be "punctured" from the internet and is therefore almost useless.
  • Media streams (Media Player, iTunes...):
    • RTSP
    • Realmedia
    • Conferencing
    • VoIP, IP telephony:
      • H323
      • SIP
  • Some gaming protocols

[edit] DD-WRT firewall - iptables

DD-WRT has a packet filtering firewall, statefull firewall, NAT and proxy functionality.

The default internal device network has two networks (non-802.11n example!):

  • vlan0(built-in hardware switch) software-bridged with eth1(wireless access point) - LAN private ip subnet and ip configurations are leased to clients by a DHCP server.
  • vlan1 - WAN with some ip configuration normally acquired via a DHCP client.

There is a default ip firewall with NAT between vlan0 and vlan1 (on non-802.11n) network devices.

See internal_device_network#Examples_of_changed_internal_network for other firewall examples.

[edit] Netfilter iptables architecture

[edit] See also

[edit] External links