Skip to content

I should how to insert rules with go-iptables #85

@cylonchau

Description

@cylonchau

hi ,
I tried insert rule,but I do not what format should be inserted?
go-iptables only get but not insert rules?

version

system version:centos7
golang version:1.15.3

code

func main() {
	ips, err := iptables.New()
	if err != nil {
		panic(err)
	}

	stas, err := ips.StructuredStats("filter", "IN_public_allow")
	if err != nil {
		panic(err)
	}

	fmt.Printf("%#v\n\n	", stas)

	stasstr, err := ips.Stats("filter", "IN_public_allow")

	for _, v := range stasstr {
		if err := ips.Append("filter", "INPUT", v...); err != nil {
			panic(err)
		}
	}

	stasstr, err = ips.Stats("filter", "IN_public_allow")
	if err != nil {
		panic(err)
	}

	fmt.Printf("%#v\n\n	", stasstr)
}

phenomenon

I I tried insert rule,but I do not what format should be inserted?but I tried used Results obtained by go-iptables,but or not insert.

[root@node01 ~]# ./iptables-api 
[]iptables.Stat{iptables.Stat{Packets:0x2, Bytes:0xa8, Target:"ACCEPT", Protocol:"tcp", Opt:"--", Input:"*", Output:"*", Source:(*net.IPNet)(0xc000058870), Destination:(*net.IPNet)(0xc0000588a0), Options:"tcp dpt:22 ctstate NEW,UNTRACKED"}, iptables.Stat{Packets:0x0, Bytes:0x0, Target:"ACCEPT", Protocol:"tcp", Opt:"--", Input:"*", Output:"*", Source:(*net.IPNet)(0xc0000588d0), Destination:(*net.IPNet)(0xc000058900), Options:"tcp dpt:1088 ctstate NEW,UNTRACKED"}}

	panic: running [/usr/sbin/iptables -t filter -A INPUT 2 168 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW,UNTRACKED --wait]: exit status 2: Bad argument `2'
Try `iptables -h' or 'iptables --help' for more information.


goroutine 1 [running]:
main.main()
	/mnt/d/go_work/src/netlink/main.go:58 +0x488

go-iptables generated format cannot be inserted , it's not iptables cli format? I should how to insert rules with go-iptables?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions