Documentation ¶
Index ¶
- func AddInterfaceFirewalld(intf string) error
- func DelInterfaceFirewalld(intf string) error
- func DeleteConntrackEntries(nlh *netlink.Handle, ipv4List []net.IP, ipv6List []net.IP) error
- func DeleteConntrackEntriesByPort(nlh *netlink.Handle, proto types.Protocol, ports []uint16) error
- func OnReloaded(callback func())
- func Passthrough(ipv IPV, args ...string) ([]byte, error)
- type Action
- type ChainError
- type ChainInfo
- func (c *ChainInfo) Forward(action Action, ip net.IP, port int, proto, destAddr string, destPort int, ...) error
- func (c *ChainInfo) Link(action Action, ip1, ip2 net.IP, port int, proto string, bridgeName string) error
- func (c *ChainInfo) Output(action Action, args ...string) error
- func (c *ChainInfo) Prerouting(action Action, args ...string) error
- func (c *ChainInfo) Remove() error
- type Conn
- type IPTable
- func (iptable IPTable) AddReturnRule(chain string) error
- func (iptable IPTable) EnsureJumpRule(fromChain, toChain string) error
- func (iptable IPTable) ExistChain(chain string, table Table) bool
- func (iptable IPTable) Exists(table Table, chain string, rule ...string) bool
- func (iptable IPTable) ExistsNative(table Table, chain string, rule ...string) bool
- func (iptable IPTable) NewChain(name string, table Table, hairpinMode bool) (*ChainInfo, error)
- func (iptable IPTable) ProgramChain(c *ChainInfo, bridgeName string, hairpinMode, enable bool) error
- func (iptable IPTable) ProgramRule(table Table, chain string, action Action, args []string) error
- func (iptable IPTable) Raw(args ...string) ([]byte, error)
- func (iptable IPTable) RawCombinedOutput(args ...string) error
- func (iptable IPTable) RawCombinedOutputNative(args ...string) error
- func (iptable IPTable) RemoveExistingChain(name string, table Table) error
- func (iptable IPTable) SetDefaultPolicy(table Table, chain string, policy Policy) error
- type IPV
- type IPVersion
- type Policy
- type Table
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddInterfaceFirewalld ¶
AddInterfaceFirewalld adds the interface to the trusted zone. It is a no-op if firewalld is not running.
func DelInterfaceFirewalld ¶
DelInterfaceFirewalld removes the interface from the trusted zone It is a no-op if firewalld is not running.
func DeleteConntrackEntries ¶
DeleteConntrackEntries deletes all the conntrack connections on the host for the specified IP Returns the number of flows deleted for IPv4, IPv6 else error
Types ¶
type ChainError ¶
ChainError is returned to represent errors during ip table operation.
func (ChainError) Error ¶
func (e ChainError) Error() string
type ChainInfo ¶
ChainInfo defines the iptables chain.
func (*ChainInfo) Forward ¶
func (c *ChainInfo) Forward(action Action, ip net.IP, port int, proto, destAddr string, destPort int, bridgeName string) error
Forward adds forwarding rule to 'filter' table and corresponding nat rule to 'nat' table.
func (*ChainInfo) Link ¶
func (c *ChainInfo) Link(action Action, ip1, ip2 net.IP, port int, proto string, bridgeName string) error
Link adds reciprocal ACCEPT rule for two supplied IP addresses. Traffic is allowed from ip1 to ip2 and vice-versa
func (*ChainInfo) Prerouting ¶
Prerouting adds linking rule to nat/PREROUTING chain.
type Conn ¶
type Conn struct {
// contains filtered or unexported fields
}
Conn is a connection to firewalld dbus endpoint.
type IPTable ¶
type IPTable struct {
// contains filtered or unexported fields
}
IPTable defines struct with IPVersion.
func GetIptable ¶
GetIptable returns an instance of IPTable with specified version (IPv4 or IPv6). It panics if an invalid IPVersion is provided.
func (IPTable) AddReturnRule ¶
AddReturnRule adds a return rule for the chain in the filter table
func (IPTable) EnsureJumpRule ¶
EnsureJumpRule ensures the jump rule is on top
func (IPTable) ExistChain ¶
ExistChain checks if a chain exists
func (IPTable) ExistsNative ¶
ExistsNative behaves as Exists with the difference it will always invoke `iptables` binary.
func (IPTable) ProgramChain ¶
func (iptable IPTable) ProgramChain(c *ChainInfo, bridgeName string, hairpinMode, enable bool) error
ProgramChain is used to add rules to a chain
func (IPTable) ProgramRule ¶
ProgramRule adds the rule specified by args only if the rule is not already present in the chain. Reciprocally, it removes the rule only if present.
func (IPTable) RawCombinedOutput ¶
RawCombinedOutput internally calls the Raw function and returns a non nil error if Raw returned a non nil error or a non empty output
func (IPTable) RawCombinedOutputNative ¶
RawCombinedOutputNative behave as RawCombinedOutput with the difference it will always invoke `iptables` binary
func (IPTable) RemoveExistingChain ¶
RemoveExistingChain removes existing chain from the table.