Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Using this feature we can control the traffic by creating Ingress/Egress network ACLs on the VPC private gateway.

The ACLs contains both ALLOW and DENY rules.

Bug Reference: 

CLOUDSTACK-768

API changes:

The existing network ACL APIs are used to configure the network ACLs on the VPC private gateway.

createNetworkACL - create Netowrk ACL

deleteNetworkACL - delete network ACL

Design:

This feature follows the new ACL framework which is proposed as part of deny rules. Please find

the below FS for more information on this.

https://cwiki.apache.org/CLOUDSTACK/support-acl-deny-rules.htmlImage Added

Default Network ACL policy:

Ingress : All the ingress traffic to the into the private gateway interface are blocked.

Egress : All the egress traffic out from the private gateway interface are blocked

To add Ingress/Egress rules we can make use of the existing vpc_acl.sh script.

API changes:

API:

replaceNetworkACLList

Wiki Markup
replaceNetworkACLList API taken from the support acl  deny rules FS \[1\].
listNetworkACLs - list network ACLs

New parameter to the APIs: gatewaiId

Currently networkId (id of the guest network) is required parameter. NetworkId will be made optional. New optional parameter gatewaiId will be added to these APIs.

One and only Only one of above parameters is mandatory

Work Flow:
  1. create private gateway
  2. By default private gateway associated with default networkACL
  3. Add network ACL items into networkACL. These networkACL items (ACL rules) get applied to the private gateway.
DB Chagnes:

A new column 'gatewayId' is added to the firewall_rules table.

Design:

Default Network ACL policy:

Ingress : All the ingress traffic to the into the private gateway interface are blocked.

Egress : All the egress traffic out from the private gateway interface are blocked

To add Ingress/Egress rules we can make use of the existing vpc_acl.sh script.

itpables rules chagnes:

When ever private gateway interface get create created on the router. we also add the following iptables chains.

...

When we click on the private gateway we have currently two tabs, 1. Details 2.Static Routes. Add NetworkACL tab after the static routes.The configuration parameters for the network ACL are  protocol, ports, CIDR and traffic Type (Ingress/Egress).

Upgrade:

On upgrade the for existing private gateways all the Ingress/Egress traffic is allowed which is to pertain the pre upgrade behaviour.behavior.

References:

https://cwiki.apache.org/CLOUDSTACK/support-acl-deny-rules.htmlImage Added