kilo/pkg
Lucas Servén Marín 134cbe90be
pkg/route,pkg/mesh: replace NAT with ip rules
This commit entirely replaces NAT in Kilo with a few iproute2 rules.
Previously, Kilo would source-NAT the majority of packets in order to
avoid problems with strict source checks in cloud providers causing
packets to be considered martians. This source-NAT-ing made it
difficult to correctly apply Kuberenetes NetworkPolicies based on source
IPs.

This rewrite instead relies on a handful of iproute2 rules to ensure
that packets get encapsulated in certain scenarios based on the source
network and/or source interface.

This has the benefit of avoiding extra iptables bloat as well as
enabling better compatibility with NetworkPolicies.

Signed-off-by: Lucas Servén Marín <lserven@gmail.com>
2020-02-20 21:27:50 +01:00
..
encapsulation manifests,pkg/encapsulation: Flannel compatibility 2019-05-14 01:01:58 +02:00
iproute pkg/{encapsulation,mesh}: abstract encapsulation 2019-05-13 18:30:03 +02:00
ipset init 2019-01-18 02:50:10 +01:00
iptables pkg/iptables: clean up, remove NAT 2020-02-20 21:23:23 +01:00
k8s Define WireGuard PersistentKeepAlive via Annotation (#31) 2020-02-13 10:16:55 +01:00
mesh pkg/route,pkg/mesh: replace NAT with ip rules 2020-02-20 21:27:50 +01:00
route pkg/route,pkg/mesh: replace NAT with ip rules 2020-02-20 21:27:50 +01:00
version init 2019-01-18 02:50:10 +01:00
wireguard pkg/wireguard: allow specifying iface named 2019-09-24 16:05:10 +02:00