diff --git a/daemon/firewall/rules.go b/daemon/firewall/rules.go index 3e1617eb..4378b866 100644 --- a/daemon/firewall/rules.go +++ b/daemon/firewall/rules.go @@ -27,7 +27,13 @@ func RunRule(enable bool, rule []string) (err error) { // fmt.Printf("iptables %s\n", rule) _, err = core.Exec("iptables", rule) + if err != nil { + return + } _, err = core.Exec("ip6tables", rule) + if err != nil { + return + } return } @@ -48,9 +54,19 @@ func QueueDNSResponses(enable bool, queueNum int) (err error) { "--queue-num", fmt.Sprintf("%d", queueNum), "--queue-bypass", } + lock.Lock() defer lock.Unlock() + _, err := core.Exec("iptables", rule) + if err != nil { + return err + } + _, err = core.Exec("ip6tables", rule) + if err != nil { + return err + } + return err }