exitnode

package
v0.0.0-...-851e5e8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2024 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

Package exitnode provides meshnet-related firewall management functionality.

Index

Constants

View Source
const (
	Ipv4fwdKernelParamName = "net.ipv4.ip_forward"
)

Variables

View Source
var (
	REMOVE operation = false
	ADD    operation = true
)

Used when adding or removing rules from firewall

Functions

This section is empty.

Types

type Node

type Node interface {
	Enable() error
	ResetPeers(mesh.MachinePeers, bool, bool) error
	ResetFirewall(lanAvailable bool, killswitch bool) error
	Disable() error
	SetAllowlist(config config.Allowlist, lanAvailable bool) error
}

Node is exit node server side interface

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server struct for server side

func NewServer

func NewServer(interfaceNames []string, commandFunc runCommandFunc, allowlist config.Allowlist, sysctlSetter kernel.SysctlSetter) *Server

NewServer create & initialize new Server

func (*Server) Disable

func (en *Server) Disable() error

Disable restore current state and disable fwd+msq

func (*Server) Enable

func (en *Server) Enable() error

Enable backup current state and enable fwd+msq

func (*Server) ResetFirewall

func (en *Server) ResetFirewall(lanAvailable bool, killswitch bool) error

ResetFirewall resets peer rules when peers don't change

func (*Server) ResetPeers

func (en *Server) ResetPeers(peers mesh.MachinePeers, lanAvailable bool, killswitch bool) error

EnablePeer enables masquerading for peer

func (*Server) SetAllowlist

func (en *Server) SetAllowlist(allowlist config.Allowlist, lanAvailable bool) error

type TrafficPeer

type TrafficPeer struct {
	IP           netip.Prefix
	Routing      bool
	LocalNetwork bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL