Sfoglia il codice sorgente

set egress6 ranges

abhishek9686 10 mesi fa
parent
commit
8e5a3d02c3
3 ha cambiato i file con 9 aggiunte e 3 eliminazioni
  1. 7 2
      logic/extpeers.go
  2. 1 1
      logic/peers.go
  3. 1 0
      models/mqtt.go

+ 7 - 2
logic/extpeers.go

@@ -688,7 +688,7 @@ func getExtPeerEgressRoute(node models.Node, extPeer models.ExtClient) (egressRo
 	return
 }
 
-func getExtpeerEgressRanges(node models.Node) (ranges []net.IPNet) {
+func getExtpeerEgressRanges(node models.Node) (ranges, ranges6 []net.IPNet) {
 	extPeers, err := GetNetworkExtClients(node.Network)
 	if err != nil {
 		return
@@ -703,7 +703,12 @@ func getExtpeerEgressRanges(node models.Node) (ranges []net.IPNet) {
 		for _, allowedRange := range extPeer.ExtraAllowedIPs {
 			_, ipnet, err := net.ParseCIDR(allowedRange)
 			if err == nil {
-				ranges = append(ranges, *ipnet)
+				if ipnet.IP.To4() != nil {
+					ranges = append(ranges, *ipnet)
+				} else {
+					ranges6 = append(ranges6, *ipnet)
+				}
+
 			}
 		}
 	}

+ 1 - 1
logic/peers.go

@@ -301,9 +301,9 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
 						Network6:      node.NetworkRange6,
 						AllowAll:      defaultDevicePolicy.Enabled && defaultUserPolicy.Default,
 						StaticNodeIps: GetStaticNodeIps(node),
-						EgressRanges:  getExtpeerEgressRanges(node),
 						Rules:         GetFwRulesOnIngressGateway(node),
 					}
+					ingFwUpdate.EgressRanges, ingFwUpdate.EgressRanges6 = getExtpeerEgressRanges(node)
 					hostPeerUpdate.FwUpdate.IngressInfo[node.ID.String()] = ingFwUpdate
 				}
 				hostPeerUpdate.EgressRoutes = append(hostPeerUpdate.EgressRoutes, egressRoutes...)

+ 1 - 0
models/mqtt.go

@@ -41,6 +41,7 @@ type IngressInfo struct {
 	Rules         []FwRule    `json:"rules"`
 	AllowAll      bool        `json:"allow_all"`
 	EgressRanges  []net.IPNet `json:"egress_ranges"`
+	EgressRanges6 []net.IPNet `json:"egress_ranges6"`
 }
 
 // EgressInfo - struct for egress info