Browse Source

fixed IPv6 iptables rules for enabled firewalld

Signed-off-by: Benjamin Böhmke <benjamin@boehmke.net>
Benjamin Böhmke 4 years ago
parent
commit
a6d7b43dfc
1 changed files with 7 additions and 1 deletions
  1. 7 1
      libnetwork/iptables/iptables.go

+ 7 - 1
libnetwork/iptables/iptables.go

@@ -512,8 +512,14 @@ func filterOutput(start time.Time, output []byte, args ...string) []byte {
 // Raw calls 'iptables' system command, passing supplied arguments.
 func (iptable IPTable) Raw(args ...string) ([]byte, error) {
 	if firewalldRunning {
+		// select correct IP version for firewalld
+		ipv := Iptables
+		if iptable.Version == IPv6 {
+			ipv = IP6Tables
+		}
+
 		startTime := time.Now()
-		output, err := Passthrough(Iptables, args...)
+		output, err := Passthrough(ipv, args...)
 		if err == nil || !strings.Contains(err.Error(), "was not provided by any .service files") {
 			return filterOutput(startTime, output, args...), err
 		}