def start(self):
        # NOTE: can raise iptc.xtables.XTablesError
        # add remote rule for RCE internal communication
        rule = iptc.Rule()
        rule.protocol = 'tcp'
        rule.dst = self._client.internalIP
        m = rule.create_match('tcp')
        m.dport = self._fwdPort
        t = rule.create_target('DNAT')
        t.to_destination = self._address
        self._remoteRule = rule

        # add local (loopback) rule for RCE internal communication
        rule = iptc.Rule()
        rule.protocol = 'tcp'
        rule.out_interface = 'lo'
        rule.dst = self._client.internalIP
        m = rule.create_match('tcp')
        m.dport = self._fwdPort
        t = rule.create_target('DNAT')
        t.to_destination = self._address
        self._localRule = rule

        # add remote rule for rosproxy
        rule = iptc.Rule()
        rule.protocol = 'tcp'
        rule.dst = self._client.internalIP
        m = rule.create_match('tcp')
        m.dport = self._rosproxyFwdPort
        t = rule.create_target('DNAT')
        t.to_destination = self._rosproxyAddress
        self._rosremoteRule = rule

        # add local(loopback) rule for rosproxy
        rule = iptc.Rule()
        rule.protocol = 'tcp'
        rule.out_interface = 'lo'
        rule.dst = self._client.internalIP
        m = rule.create_match('tcp')
        m.dport = self._rosproxyFwdPort
        t = rule.create_target('DNAT')
        t.to_destination = self._rosproxyAddress
        self._roslocalRule = rule

        self._client.prerouting.insert_rule(self._remoteRule)
        self._client.output.insert_rule(self._localRule)
        self._client.prerouting.insert_rule(self._rosremoteRule)
        self._client.output.insert_rule(self._roslocalRule)

        return self._container.start(self._name)
:param environment: The
dataset/ETHPy150Open rapyuta/rce/rce-core/rce/container.py/RCEContainer.start--crossover with--dataset/ETHPy150Open eoyilmaz/anima/anima/ui/version_mover.py/UI