def METHOD_NAME( self, **params ):
    """Configure the NAT and iptables"""
    if not self.localIntf:
        self.localIntf = self.defaultIntf()
    self.setManualConfig( self.localIntf )
    # Now we can configure manually without interference
    super( NAT, self).METHOD_NAME( **params )
    if self.flush:
        self.cmd( 'sysctl net.ipv4.ip_forward=0' )
        self.cmd( 'iptables -F' )
        self.cmd( 'iptables -t nat -F' )
        # Create default entries for unmatched traffic
        self.cmd( 'iptables -P INPUT ACCEPT' )
        self.cmd( 'iptables -P OUTPUT ACCEPT' )
        self.cmd( 'iptables -P FORWARD DROP' )
    # Install NAT rules
    self.cmd( 'iptables -I FORWARD',
              '-i', self.localIntf, '-d', self.subnet, '-j DROP' )
    self.cmd( 'iptables -A FORWARD',
              '-i', self.localIntf, '-s', self.subnet, '-j ACCEPT' )
    self.cmd( 'iptables -A FORWARD',
              '-o', self.localIntf, '-d', self.subnet, '-j ACCEPT' )
    self.cmd( 'iptables -t nat -A POSTROUTING',
              '-s', self.subnet, "'!'", '-d', self.subnet,
              '-j MASQUERADE' )
    # Instruct the kernel to perform forwarding
    self.cmd( 'sysctl net.ipv4.ip_forward=1' )