增加查看iptales规则功能参数 -s l 或者 -s list,规范变量命名。
This commit is contained in:
20
ipset.go
20
ipset.go
@@ -80,6 +80,7 @@ func IsIpset(setName string) int {
|
||||
return 0
|
||||
}
|
||||
|
||||
// 添加 Iptables 规则
|
||||
func iptables_add(setName string) error {
|
||||
|
||||
cmd := exec.Command("sh", "-c", fmt.Sprintf("iptables -A INPUT -p tcp -m set --match-set %s src -j DROP", setName))
|
||||
@@ -97,6 +98,7 @@ func iptables_add(setName string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// 删除 Iptables 规则
|
||||
func iptables_del(setName string) error {
|
||||
|
||||
cmd := exec.Command("sh", "-c", fmt.Sprintf("iptables -D INPUT -p tcp -m set --match-set %s src -j DROP", setName))
|
||||
@@ -114,6 +116,24 @@ func iptables_del(setName string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// 打印 Iptables 规则
|
||||
func iptables_list() error {
|
||||
cmd := exec.Command("sh", "-c", "iptables -L -v -n --line-numbers")
|
||||
|
||||
var stdout, stderr bytes.Buffer
|
||||
cmd.Stdout = &stdout
|
||||
cmd.Stderr = &stderr
|
||||
|
||||
err := cmd.Run()
|
||||
if err != nil {
|
||||
log.Printf("cmd.Run() failed with %v, stderr: %s\n", err, stderr.String())
|
||||
err = fmt.Errorf("failed to execute command: %w, stderr: %s", err, stderr.String())
|
||||
}
|
||||
|
||||
fmt.Print(stdout.String())
|
||||
return err
|
||||
}
|
||||
|
||||
/*
|
||||
func main() {
|
||||
// 创建 IPSet,但即使出错也继续执行
|
||||
|
||||
Reference in New Issue
Block a user