def create_rule_files(cfg: Config): """ the function checks if the rule files exist and creates them if they don't exist """ filepath = cfg.get_value("RULES", "filepath") create_folder_if_not_exists(filepath) filename = "" for ruletype in ["blacklist", "whitelist", "tcp", "udp", "custom"]: filename = cfg.get_value("RULES", ruletype) create_file_if_not_exists("{}/{}".format(filepath, filename))
def restore(self) -> None: """Restore a backup of a previously saved backup.""" create_folder_if_not_exists(self.backup_path) execute_os_command("{} < {}/{}".format(self.iptables_bin_restore, self.backup_path, self.backup_file_ipv4)) debug("ipv4 rules restored") if self.ipv6 is True: execute_os_command("{} < {}/{}".format(self.ip6tables_bin_restore, self.backup_path, self.backup_file_ipv6)) debug("ipv6 rules restored") info("restores iptables state from previous created backup")
def save(self) -> None: """Save the current iptables state into a file.""" create_folder_if_not_exists(self.backup_path) create_file_if_not_exists("{}/{}".format(self.backup_path, self.backup_file_ipv4)) execute_os_command("{} >> {}/{}".format(self.iptables_bin_save, self.backup_path, self.backup_file_ipv4)) debug("backup for ipv4 rules created") if self.ipv6 is True: create_file_if_not_exists("{}/{}".format(self.backup_path, self.backup_file_ipv6)) execute_os_command("{} >> {}/{}".format(self.ip6tables_bin_save, self.backup_path, self.backup_file_ipv6)) debug("backup of ipv6 rules created") info("backup of iptables configuration created")