fix(firewall): deduplicate VPN address accept rule for multiple default routes with the same network interface
This commit is contained in:
@@ -157,7 +157,13 @@ func (c *Config) allowVPNIP(ctx context.Context) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const remove = false
|
const remove = false
|
||||||
|
interfacesSeen := make(map[string]struct{}, len(c.defaultRoutes))
|
||||||
for _, defaultRoute := range c.defaultRoutes {
|
for _, defaultRoute := range c.defaultRoutes {
|
||||||
|
_, seen := interfacesSeen[defaultRoute.NetInterface]
|
||||||
|
if seen {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
interfacesSeen[defaultRoute.NetInterface] = struct{}{}
|
||||||
err = c.acceptOutputTrafficToVPN(ctx, defaultRoute.NetInterface, c.vpnConnection, remove)
|
err = c.acceptOutputTrafficToVPN(ctx, defaultRoute.NetInterface, c.vpnConnection, remove)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("accepting output traffic through VPN: %w", err)
|
return fmt.Errorf("accepting output traffic through VPN: %w", err)
|
||||||
|
|||||||
Reference in New Issue
Block a user