diff --git a/systemvm/patches/debian/config/opt/cloud/bin/configure.py b/systemvm/patches/debian/config/opt/cloud/bin/configure.py index deb4a74e042..4eed8ecd92b 100755 --- a/systemvm/patches/debian/config/opt/cloud/bin/configure.py +++ b/systemvm/patches/debian/config/opt/cloud/bin/configure.py @@ -283,6 +283,14 @@ class CsAcl(CsDataBag): rstr = rstr.replace(" ", " ").lstrip() self.fw.append([self.table, self.count, rstr]) + + def flushAllowAllEgressRules(self): + logging.debug("Flush allow 'all' egress firewall rule") + # Ensure that FW_EGRESS_RULES chain exists + CsHelper.execute("iptables-save | grep '^:FW_EGRESS_RULES' || iptables -t filter -N FW_EGRESS_RULES") + CsHelper.execute("iptables-save | grep '^-A FW_EGRESS_RULES -j ACCEPT$' | sed 's/^-A/iptables -t filter -D/g' | bash") + + def process(self): for item in self.dbag: if item == "id": @@ -921,6 +929,7 @@ def main(argv): logging.debug("Configuring firewall rules") acls = CsAcl('firewallrules', config) + acls.flushAllowAllEgressRules() acls.process() logging.debug("Configuring PF rules")