mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 20:05:46 +08:00
integrating iptables/nft checks
This commit is contained in:
parent
484b628848
commit
b72fa12470
1 changed files with 13 additions and 14 deletions
|
@ -113,15 +113,23 @@ func GetWireGuard() string {
|
||||||
// IsNFTablesPresent - returns true if nftables is present, false otherwise.
|
// IsNFTablesPresent - returns true if nftables is present, false otherwise.
|
||||||
// Does not consider OS, up to the caller to determine if the OS supports nftables/whether this check is valid.
|
// Does not consider OS, up to the caller to determine if the OS supports nftables/whether this check is valid.
|
||||||
func IsNFTablesPresent() bool {
|
func IsNFTablesPresent() bool {
|
||||||
nftFound := FileExists("/usr/sbin/nft")
|
found := false
|
||||||
logger.Log(3, "nftables found:", strconv.FormatBool(nftFound))
|
_, err := exec.LookPath("nft")
|
||||||
return nftFound
|
if err == nil {
|
||||||
|
found = true
|
||||||
|
}
|
||||||
|
return found
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsIPTablesPresent - returns true if iptables is present, false otherwise
|
// IsIPTablesPresent - returns true if iptables is present, false otherwise
|
||||||
// Does not consider OS, up to the caller to determine if the OS supports iptables/whether this check is valid.
|
// Does not consider OS, up to the caller to determine if the OS supports iptables/whether this check is valid.
|
||||||
func IsIPTablesPresent() bool {
|
func IsIPTablesPresent() bool {
|
||||||
return FileExists("/usr/sbin/iptables")
|
found := false
|
||||||
|
_, err := exec.LookPath("iptables")
|
||||||
|
if err == nil {
|
||||||
|
found = true
|
||||||
|
}
|
||||||
|
return found
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsKernel - checks if running kernel WireGuard
|
// IsKernel - checks if running kernel WireGuard
|
||||||
|
@ -523,16 +531,7 @@ func CheckUID() {
|
||||||
|
|
||||||
// CheckFirewall - checks if iptables of nft install, if not exit
|
// CheckFirewall - checks if iptables of nft install, if not exit
|
||||||
func CheckFirewall() {
|
func CheckFirewall() {
|
||||||
found := false
|
if !IsIPTablesPresent() && !IsNFTablesPresent() {
|
||||||
_, err := exec.LookPath("iptables")
|
|
||||||
if err == nil {
|
|
||||||
found = true
|
|
||||||
}
|
|
||||||
_, err = exec.LookPath("nft")
|
|
||||||
if err == nil {
|
|
||||||
found = true
|
|
||||||
}
|
|
||||||
if !found {
|
|
||||||
log.Fatal("neither iptables nor nft is installed - please install one or the other and try again")
|
log.Fatal("neither iptables nor nft is installed - please install one or the other and try again")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue