Browse Source

Merge pull request #12664 from Mashimiao/sysinfo-support-ipv4_forward-check

sysinfo: add IPv4Forwarding check
Brian Goff 10 năm trước cách đây
mục cha
commit
fc9033a9c8
1 tập tin đã thay đổi với 13 bổ sung0 xóa
  1. 13 0
      pkg/sysinfo/sysinfo.go

+ 13 - 0
pkg/sysinfo/sysinfo.go

@@ -4,6 +4,8 @@ import (
 	"io/ioutil"
 	"os"
 	"path"
+	"strconv"
+	"strings"
 
 	"github.com/Sirupsen/logrus"
 	"github.com/docker/libcontainer/cgroups"
@@ -48,6 +50,17 @@ func New(quiet bool) *SysInfo {
 		}
 	}
 
+	// Checek if ipv4_forward is disabled.
+	if data, err := ioutil.ReadFile("/proc/sys/net/ipv4/ip_forward"); os.IsNotExist(err) {
+		sysInfo.IPv4ForwardingDisabled = true
+	} else {
+		if enabled, _ := strconv.Atoi(strings.TrimSpace(string(data))); enabled == 0 {
+			sysInfo.IPv4ForwardingDisabled = true
+		} else {
+			sysInfo.IPv4ForwardingDisabled = false
+		}
+	}
+
 	// Check if AppArmor is supported.
 	if _, err := os.Stat("/sys/kernel/security/apparmor"); os.IsNotExist(err) {
 		sysInfo.AppArmor = false