diff --git a/main.py b/main.py index 1b2c646..fa45c78 100755 --- a/main.py +++ b/main.py @@ -119,6 +119,12 @@ class iptables: if mode == 'all' or mode == '6': self.add(chain + '6', "-A " + subchainA + " -i " + interface + " -j " + subchainB) + def jump_trafic_from_source(self, chain, ip_source, subchainA, subchainB, mode='all'): + if mode == 'all' or mode == '4': + self.add(chain + '4', "-A " + subchainA + " -s " + ip_source + " -j " + subchainB) + if mode == 'all' or mode == '6': + self.add(chain + '6', "-A " + subchainA + " -i " + ip_source + " -j " + subchainB) + def jump_traficto(self, chain, interface, subchainA, subchainB, mode='all'): if mode == 'all' or mode == '4': self.add(chain + '4', "-A " + subchainA + " -o " + interface + " -j " + subchainB) @@ -189,7 +195,6 @@ class iptables: if self.verbose: print("Nat : priv" + nat_to_do['name']) self.nat_prive_ip(nat_to_do) - self.jump_all_trafic("nat", "POSTROUTING", "MASQUERADE") def routeur(self, table): """Methode appellée spécifiquement pour le parefeu v4/v6""" @@ -635,6 +640,10 @@ class iptables: rule += '-s ' + ip_source + ' -j SNAT --to-source ' + ip_to_nat self.add_in_subtable("nat4", subtable, rule) + if "masquerade" in nat_type: + for ip_source in nat_type["masquerade"]: + pass # self.jump_trafic_from_source('nat', ip_source, 'POSTROUTING', 'MASQUERADE', '4') + def gen_mangle(self, empty=False): """Génération de la chaine mangle""" self.init_mangle("PREROUTING")