diff --git a/agent/app/service/firewall.go b/agent/app/service/firewall.go index a00c44216..a5526dff7 100644 --- a/agent/app/service/firewall.go +++ b/agent/app/service/firewall.go @@ -59,21 +59,15 @@ func (u *FirewallService) LoadBaseInfo(tab string) (dto.FirewallBaseInfo, error) baseInfo.Name = client.Name() var wg sync.WaitGroup - wg.Add(4) + wg.Add(2) go func() { defer wg.Done() baseInfo.PingStatus = u.pingStatus() - }() - go func() { - defer wg.Done() - baseInfo.IsActive, _ = client.Status() - }() - go func() { - defer wg.Done() baseInfo.Version, _ = client.Version() }() go func() { defer wg.Done() + baseInfo.IsActive, _ = client.Status() baseInfo.IsInit, baseInfo.IsBind = loadInitStatus(baseInfo.Name, tab) }() wg.Wait() diff --git a/agent/utils/firewall/client/iptables/common.go b/agent/utils/firewall/client/iptables/common.go index 9f7922e5f..e066833ea 100644 --- a/agent/utils/firewall/client/iptables/common.go +++ b/agent/utils/firewall/client/iptables/common.go @@ -97,7 +97,7 @@ func CheckChainExist(tab, chain string) (bool, error) { return true, nil } func CheckChainBind(tab, parentChain, chain string) (bool, error) { - stdout, err := RunWithStd(tab, fmt.Sprintf("-L %s | grep -w %s", parentChain, chain)) + stdout, err := RunWithStd(tab, fmt.Sprintf("-S %s | grep -- '-j %s'", parentChain, chain)) if err != nil { global.LOG.Errorf("check chain %s from tab %s is bind to %s failed, err: %v", chain, tab, parentChain, err) return false, fmt.Errorf("check chain %s from tab %s is bind to %s failed, err: %v", chain, tab, parentChain, err)