tun_bypass_windows.go 656 B

1234567891011121314151617181920212223
  1. //go:build (amd64 || arm64) && !e2e_testing
  2. // +build amd64 arm64
  3. // +build !e2e_testing
  4. package overlay
  5. import (
  6. "log/slog"
  7. "github.com/slackhq/nebula/wfp"
  8. )
  9. // installInterfaceBypass installs a WFP PERMIT filter scoped to the wintun interface LUID so inbound traffic on the
  10. // nebula adapter bypasses Windows Defender Firewall.
  11. func installInterfaceBypass(l *slog.Logger, luid uint64) closer {
  12. s, err := wfp.PermitInterface(luid)
  13. if err != nil {
  14. l.Warn("Failed to install WFP bypass filters on nebula interface", "error", err)
  15. return nil
  16. }
  17. l.Info("Installed WFP filters bypassing Windows Defender Firewall on nebula interface")
  18. return s
  19. }