Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FireForwardInfo ¶
type FireInfo ¶
type FireInfo struct {
Type Type `json:"type"` // rich or normal
Family string `json:"family"` // ipv4 ipv6
Address string `json:"address"` // 源地址或目标地址
PortStart uint `json:"port_start"` // 1-65535
PortEnd uint `json:"port_end"` // 1-65535
Protocol Protocol `json:"protocol"` // tcp udp tcp/udp
Strategy Strategy `json:"strategy"` // accept drop reject mark
Direction Direction `json:"direction"` // in out 入站或出站
}
type Firewall ¶
type Firewall interface {
// Status 获取防火墙运行状态
Status(ctx context.Context) (bool, error)
// Enable 启用防火墙
Enable(ctx context.Context) error
// Disable 禁用防火墙
Disable(ctx context.Context) error
// ListRule 列出所有规则
ListRule(ctx context.Context) ([]FireInfo, error)
// Port 添加/删除端口规则
Port(ctx context.Context, rule FireInfo, operation Operation) error
// RichRules 添加/删除富规则(IP/高级规则)
RichRules(ctx context.Context, rule FireInfo, operation Operation) error
// ListForward 列出所有转发规则
ListForward(ctx context.Context) ([]FireForwardInfo, error)
// Forward 添加/删除转发规则
Forward(ctx context.Context, rule Forward, operation Operation) error
// PingStatus 获取 Ping 状态(true 为允许)
PingStatus(ctx context.Context) (bool, error)
// UpdatePingStatus 更新 Ping 状态
UpdatePingStatus(ctx context.Context, status bool) error
}
Firewall 防火墙统一接口 变更方法由 NewFirewall 返回的实现统一加锁并断开取消链,各后端实现内无需再处理
Click to show internal directories.
Click to hide internal directories.