Exemple #1
0
def initializeIPTables():
    """
        Initializes IPTables.
    """
    # Active rules
    rules_active = netfilterutils.parseConf(netfilterutils.getRules())

    # Compare rules
    for chain, rules in IPTABLES_RULES.iteritems():
        if chain not in rules_active or len(set(rules) - set(rules_active[chain])):
            # At least one different rule, need re-initialization
            netfilterutils.clear()
            conf = netfilterutils.makeConf(IPTABLES_RULES)
            netfilterutils.restoreRules(conf)
            break
Exemple #2
0
def initializeIPTables():
    """
        Initializes IPTables.
    """
    # Active rules
    rules_active = netfilterutils.parseConf(netfilterutils.getRules())

    # Compare rules
    for chain, rules in IPTABLES_RULES.iteritems():
        if chain not in rules_active or len(
                set(rules) - set(rules_active[chain])):
            # At least one different rule, need re-initialization
            netfilterutils.clear()
            conf = netfilterutils.makeConf(IPTABLES_RULES)
            netfilterutils.restoreRules(conf)
            break
Exemple #3
0
def start():
    # Clear chains & rules
    iptables.clear()

    # Load rules
    profile_file = "/var/lib/iptables/rules"
    if os.path.exists(profile_file):
        rules = readFile(profile_file)
        iptables.restoreRules(rules)

    # Create lock file
    writeFile(LOCK_FILE, "")

    # Initialize Network.Firewall, if necessary
    startNetworkFirewall()

    # Notify clients
    notify("System.Service", "Changed", (script(), "started"))
Exemple #4
0
def start():
    # Clear chains & rules
    iptables.clear()

    # Load rules
    profile_file = "/var/lib/iptables/rules"
    if os.path.exists(profile_file):
        rules = readFile(profile_file)
        iptables.restoreRules(rules)

    # Create lock file
    writeFile(LOCK_FILE, "")

    # Initialize Network.Firewall, if necessary
    startNetworkFirewall()

    # Notify clients
    notify("System.Service", "Changed", (script(), "started"))
Exemple #5
0
def start():
    # Clear chains & rules
    iptables.clear()

    # Load rules
    profile, save_filter, save_nat, save_mangle, save_raw = getProfile()
    save = {
        "filter": save_filter,
        "nat": save_nat,
        "mangle": save_mangle,
        "raw": save_raw,
    }

    profile_file = os.path.join('/var/lib/iptables', profile)
    profile_changes = '%s.diff' % profile_file

    base = {}
    changes = {}
    allowed_chains = {}

    for table in iptables.chains:
        allowed_chains[table] = save[table].split()

    # Load base rules
    if os.path.isfile(profile_file):
        rules = file(profile_file).read()
        base = iptables.parseConf(rules)
        iptables.restoreRules(rules)

    # Load allowed changes done in previous session
    if os.path.isfile(profile_changes):
        rules = file(profile_changes).read()
        changes = iptables.parseConf(rules)
        diff = iptables.filterDict(iptables.diffDict(changes, base),
                                   allowed_chains)
        iptables.restoreRules(iptables.makeConf(diff), flush=False)

    # Create lock file
    writeFile(lock_file, '')
Exemple #6
0
def start():
    # Clear chains & rules
    iptables.clear()

    # Load rules
    profile, save_filter, save_nat, save_mangle, save_raw = getProfile()
    save = {
        "filter": save_filter,
        "nat": save_nat,
        "mangle": save_mangle,
        "raw": save_raw,
    }

    profile_file = os.path.join('/var/lib/iptables', profile)
    profile_changes = '%s.diff' % profile_file

    base = {}
    changes = {}
    allowed_chains = {}

    for table in iptables.chains:
        allowed_chains[table] = save[table].split()

    # Load base rules
    if os.path.isfile(profile_file):
        rules = file(profile_file).read()
        base = iptables.parseConf(rules)
        iptables.restoreRules(rules)

    # Load allowed changes done in previous session
    if os.path.isfile(profile_changes):
        rules = file(profile_changes).read()
        changes = iptables.parseConf(rules)
        diff = iptables.filterDict(iptables.diffDict(changes, base), allowed_chains)
        iptables.restoreRules(iptables.makeConf(diff), flush=False)

    # Create lock file
    writeFile(lock_file, '')