[client] Exclude loopback from NAT (#2747)

This commit is contained in:
Viktor Liu
2024-10-16 17:35:59 +02:00
committed by GitHub
parent cee95461d1
commit 8c8900be57
3 changed files with 30 additions and 1 deletions

View File

@ -433,10 +433,12 @@ func (r *router) removeNatRule(pair firewall.RouterPair) error {
func genRuleSpec(jump string, source, destination netip.Prefix, intf string, inverse bool) []string {
intdir := "-i"
lointdir := "-o"
if inverse {
intdir = "-o"
lointdir = "-i"
}
return []string{intdir, intf, "-s", source.String(), "-d", destination.String(), "-j", jump}
return []string{intdir, intf, "!", lointdir, "lo", "-s", source.String(), "-d", destination.String(), "-j", jump}
}
func genRouteFilteringRuleSpec(params routeFilteringRuleParams) []string {