Help us shape the future of Go! Take the 2026 Go Developer Survey

snat

package
v1.9.4 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SnatBridgeName = "azSnatbr"
	ImdsIP         = "169.254.169.254/32"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	SnatBridgeIP           string
	SkipAddressesFromBlock []string
	// contains filtered or unexported fields
}

func NewSnatClient

func NewSnatClient(hostIfName string,
	contIfName string,
	localIP string,
	snatBridgeIP string,
	hostPrimaryMac string,
	skipAddressesFromBlock []string,
	enableProxyArpOnBridge bool,
	nl netlink.NetlinkInterface,
	plClient platform.ExecClient,
	iptc ipTablesClient,
	nio netio.NetIOInterface,
) Client

func (*Client) AllowIPAddressesOnSnatBridge

func (client *Client) AllowIPAddressesOnSnatBridge() error

AllowIPAddressesOnSnatBridge adds iptables rules that allows only specific Private IPs via linux bridge

func (*Client) AllowInboundFromHostToNC

func (client *Client) AllowInboundFromHostToNC() error

This function adds iptables rules that allows only host to NC communication and not the other way

func (*Client) AllowInboundFromNCToHost

func (client *Client) AllowInboundFromNCToHost() error

This function adds iptables rules that allows only NC to Host communication and not the other way

func (*Client) BlockIPAddressesOnSnatBridge

func (client *Client) BlockIPAddressesOnSnatBridge() error

BlockIPAddressesOnSnatBridge adds iptables rules that blocks all private IPs flowing via linux bridge

func (*Client) ConfigureSnatContainerInterface

func (client *Client) ConfigureSnatContainerInterface() error

Configures Local IP Address for container Veth

func (*Client) CreateSnatEndpoint

func (client *Client) CreateSnatEndpoint() error

func (*Client) DeleteInboundFromHostToNC

func (client *Client) DeleteInboundFromHostToNC() error

func (*Client) DeleteInboundFromNCToHost

func (client *Client) DeleteInboundFromNCToHost() error

func (*Client) DeleteSnatEndpoint

func (client *Client) DeleteSnatEndpoint() error

func (*Client) DropArpForSnatBridgeApipaRange

func (client *Client) DropArpForSnatBridgeApipaRange(snatBridgeIP, azSnatVethIfName string) error

func (*Client) EnableIPForwarding

func (client *Client) EnableIPForwarding() error

This function enables ip forwarding in VM and allow forwarding packets from the interface

func (*Client) MoveSnatEndpointToContainerNS

func (client *Client) MoveSnatEndpointToContainerNS(netnsPath string, nsID uintptr) error

Move container veth inside container network namespace

func (*Client) SetupSnatContainerInterface

func (client *Client) SetupSnatContainerInterface() error

Configure Routes and setup name for container veth

Jump to

Keyboard shortcuts

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