mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 01:07:41 +08:00
add allowed networks
This commit is contained in:
@@ -158,17 +158,20 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
|
||||
}
|
||||
defaultUserPolicy, _ := GetDefaultPolicy(models.NetworkID(node.Network), models.UserPolicy)
|
||||
defaultDevicePolicy, _ := GetDefaultPolicy(models.NetworkID(node.Network), models.DevicePolicy)
|
||||
if node.NetworkRange.IP != nil {
|
||||
hostPeerUpdate.FwUpdate.Networks = append(hostPeerUpdate.FwUpdate.Networks, node.NetworkRange)
|
||||
}
|
||||
if node.NetworkRange6.IP != nil {
|
||||
hostPeerUpdate.FwUpdate.Networks = append(hostPeerUpdate.FwUpdate.Networks, node.NetworkRange6)
|
||||
|
||||
if defaultDevicePolicy.Enabled && defaultUserPolicy.Enabled {
|
||||
if node.NetworkRange.IP != nil {
|
||||
hostPeerUpdate.FwUpdate.AllowedNetworks = append(hostPeerUpdate.FwUpdate.AllowedNetworks, node.NetworkRange)
|
||||
}
|
||||
if node.NetworkRange6.IP != nil {
|
||||
hostPeerUpdate.FwUpdate.AllowedNetworks = append(hostPeerUpdate.FwUpdate.AllowedNetworks, node.NetworkRange6)
|
||||
}
|
||||
|
||||
} else {
|
||||
hostPeerUpdate.FwUpdate.AllowAll = false
|
||||
hostPeerUpdate.FwUpdate.AclRules = GetAclRulesForNode(&node)
|
||||
}
|
||||
|
||||
if !defaultDevicePolicy.Enabled || !defaultUserPolicy.Enabled {
|
||||
hostPeerUpdate.FwUpdate.AllowAll = false
|
||||
}
|
||||
hostPeerUpdate.FwUpdate.AclRules = GetAclRulesForNode(&node)
|
||||
currentPeers := GetNetworkNodesMemory(allNodes, node.Network)
|
||||
for _, peer := range currentPeers {
|
||||
peer := peer
|
||||
|
@@ -94,13 +94,13 @@ type KeyUpdate struct {
|
||||
|
||||
// FwUpdate - struct for firewall updates
|
||||
type FwUpdate struct {
|
||||
AllowAll bool `json:"allow_all"`
|
||||
Networks []net.IPNet `json:"networks"`
|
||||
IsEgressGw bool `json:"is_egress_gw"`
|
||||
IsIngressGw bool `json:"is_ingress_gw"`
|
||||
EgressInfo map[string]EgressInfo `json:"egress_info"`
|
||||
IngressInfo map[string]IngressInfo `json:"ingress_info"`
|
||||
AclRules map[string]AclRule `json:"acl_rules"`
|
||||
AllowAll bool `json:"allow_all"`
|
||||
AllowedNetworks []net.IPNet `json:"networks"`
|
||||
IsEgressGw bool `json:"is_egress_gw"`
|
||||
IsIngressGw bool `json:"is_ingress_gw"`
|
||||
EgressInfo map[string]EgressInfo `json:"egress_info"`
|
||||
IngressInfo map[string]IngressInfo `json:"ingress_info"`
|
||||
AclRules map[string]AclRule `json:"acl_rules"`
|
||||
}
|
||||
|
||||
// FailOverMeReq - struct for failover req
|
||||
|
Reference in New Issue
Block a user