[ovs-dev] [PATCH v4 0/2] ALLOW Stateless NAT operations

Numan Siddique numans at ovn.org
Fri Nov 1 09:27:02 UTC 2019


On Fri, Nov 1, 2019 at 6:58 AM Ankur Sharma <ankur.sharma at nutanix.com> wrote:
>
> NAT implementation in OVN uses connection tracker to replace
> source and dest ips. This implementation works fine and
> is the right approach for cases where external ips are shared
> (i.e. SNAT) or where we replace ip only when relevant flow is there
> (i.e. DNAT).
>
> However, it opens the possibility of Dos Attack, where attacker
> can easily simluate multiple 5 tuples, to consume the connection
> tracker entry in an OVN chassis. This way they can easily attain
> the CT limit, there by impacting the usage of it by other features
> like valid NAT, ACL etc.
>
> This attack is even worse, when external ip is a public ip,
> i.e internet routable ip.
>
> In this patch we are introducing an option with NAT table entry.
> Option "stateless=true" indicates that NAT implmentation
> should not be using CT, i.e it should not use ct_snat/dnat actions.
>
> Instead of ct_* actions, we will use ip4.src/dst OVN actions, which
> will replace source and destination ips, while recalculating the
> checksums.
>
> This option is applicable only for the NAT rules which can be
> 1:1 mapped between inner and external ips, i.e dnat_and_snat rule.
>
> Signed-off-by: Ankur Sharma <ankur.sharma at nutanix.com>

Thanks.

I applied this series to master.

Numan

>
> Ankur Sharma (2):
>   OVN: ADD nbctl cli to mark a dnat_and_snat rule as stateless
>   OVN: Use ip4.src and ip4.dst actions for NAT rules
>
>  northd/ovn-northd.8.xml   |  33 ++++-
>  northd/ovn-northd.c       |  84 +++++++++++--
>  ovn-nb.ovsschema          |   6 +-
>  ovn-nb.xml                |   5 +
>  tests/ovn-nbctl.at        |  37 ++++++
>  tests/ovn-northd.at       |  95 ++++++++++++++
>  tests/ovn.at              | 311 ++++++++++++++++++++++++++++++++++++++++++++++
>  utilities/ovn-nbctl.8.xml |  12 +-
>  utilities/ovn-nbctl.c     |  30 ++++-
>  9 files changed, 594 insertions(+), 19 deletions(-)
>
> --
> 1.8.3.1
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev


More information about the dev mailing list