snat

package
v1.15.22 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2024 License: MIT Imports: 11 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,
) 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 added in v1.5.17

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