iptables

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2022 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// 传输协议
	ProtocolTCP  = `tcp`
	ProtocolUDP  = `udp`
	ProtocolICMP = `icmp`
	ProtocolAll  = `all`
)
View Source
const (
	// 表
	TableFilter = `filter` //过滤数据包。三个链:INPUT、FORWARD、OUTPUT
	TableNAT    = `nat`    //用于网络地址转换(IP、端口)。 三个链:PREROUTING、POSTROUTING、OUTPUT
	TableMangle = `mangle` //修改数据包的服务类型、TTL、并且可以配置路由实现QOS。五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
	TableRaw    = `raw`    //决定数据包是否被状态跟踪机制处理。两个链:OUTPUT、PREROUTING
)
View Source
const (
	// 链
	ChainInput       = `INPUT`       // 进来的数据包应用此规则链中的策略
	ChainOutput      = `OUTPUT`      // 外出的数据包应用此规则链中的策略
	ChainForward     = `FORWARD`     // 转发数据包时应用此规则链中的策略
	ChainPreRouting  = `PREROUTING`  // 对数据包作路由选择前应用此链中的规则(所有的数据包进来的时侯都先由这个链处理)
	ChainPostRouting = `POSTROUTING` // 对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)
)
View Source
const (
	// 防火墙处理数据包的四种方式
	TargetAccept = `ACCEPT` // 允许数据包通过
	TargetDrop   = `DROP`   // 直接丢弃数据包,不给任何回应信息
	TargetReject = `REJECT` // 拒绝数据包通过,必要时会给数据发送端一个响应的信息
	TargetLog    = `LOG`    // 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则
)

Variables

This section is empty.

Functions

This section is empty.

Types

type IPTables

type IPTables struct {
	IPProtocol iptables.Protocol
	*iptables.IPTables
}

func New

func New() (*IPTables, error)

func (*IPTables) Append

func (a *IPTables) Append(rule *driver.Rule) error

func (*IPTables) Delete

func (a *IPTables) Delete(rule *driver.Rule) error

func (*IPTables) Enabled

func (a *IPTables) Enabled(on bool) error

func (*IPTables) Exists

func (a *IPTables) Exists(rule *driver.Rule) (bool, error)

func (*IPTables) Export

func (a *IPTables) Export(wfwFile string) error

func (*IPTables) Import

func (a *IPTables) Import(wfwFile string) error

func (*IPTables) Insert

func (a *IPTables) Insert(pos int, rule *driver.Rule) error

func (*IPTables) List

func (a *IPTables) List(table, chain string) ([]*driver.Rule, error)

func (*IPTables) Reset

func (a *IPTables) Reset() error

func (*IPTables) RuleFrom

func (a *IPTables) RuleFrom(rule *driver.Rule) []string

Jump to

Keyboard shortcuts

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