|
@@ -50,31 +50,16 @@ func GetFwRulesOnIngressGateway(node models.Node) (rules []models.FwRule) {
|
|
|
if defaultDevicePolicy.Enabled {
|
|
|
return
|
|
|
}
|
|
|
- defer func() {
|
|
|
- if len(rules) == 0 && IsNodeAllowedToCommunicateWithAllRsrcs(node) {
|
|
|
- if node.NetworkRange.IP != nil {
|
|
|
- rules = append(rules, models.FwRule{
|
|
|
- SrcIP: node.NetworkRange,
|
|
|
- Allow: true,
|
|
|
- })
|
|
|
- }
|
|
|
- if node.NetworkRange6.IP != nil {
|
|
|
- rules = append(rules, models.FwRule{
|
|
|
- SrcIP: node.NetworkRange6,
|
|
|
- Allow: true,
|
|
|
- })
|
|
|
- }
|
|
|
- return
|
|
|
- }
|
|
|
- }()
|
|
|
-
|
|
|
for _, nodeI := range nodes {
|
|
|
if !nodeI.IsStatic || nodeI.IsUserNode {
|
|
|
continue
|
|
|
}
|
|
|
- if !nodeI.StaticNode.Enabled {
|
|
|
+ if !node.StaticNode.Enabled {
|
|
|
continue
|
|
|
}
|
|
|
+ // if nodeI.StaticNode.IngressGatewayID != node.ID.String() {
|
|
|
+ // continue
|
|
|
+ // }
|
|
|
if IsNodeAllowedToCommunicateWithAllRsrcs(nodeI) {
|
|
|
if nodeI.Address.IP != nil {
|
|
|
rules = append(rules, models.FwRule{
|
|
@@ -540,18 +525,7 @@ func GetAclRulesForNode(targetnodeI *models.Node) (rules map[string]models.AclRu
|
|
|
continue
|
|
|
}
|
|
|
if _, ok := eI.Nodes[targetnode.ID.String()]; ok {
|
|
|
- if servercfg.IsPro && eI.Domain != "" && len(eI.DomainAns) > 0 {
|
|
|
- for _, domainAnsI := range eI.DomainAns {
|
|
|
- ip, cidr, err := net.ParseCIDR(domainAnsI)
|
|
|
- if err == nil {
|
|
|
- if ip.To4() != nil {
|
|
|
- egressRanges4 = append(egressRanges4, *cidr)
|
|
|
- } else {
|
|
|
- egressRanges6 = append(egressRanges6, *cidr)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else if eI.Range != "" {
|
|
|
+ if eI.Range != "" {
|
|
|
_, cidr, err := net.ParseCIDR(eI.Range)
|
|
|
if err == nil {
|
|
|
if cidr.IP.To4() != nil {
|
|
@@ -561,7 +535,6 @@ func GetAclRulesForNode(targetnodeI *models.Node) (rules map[string]models.AclRu
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- dstTags[targetnode.ID.String()] = struct{}{}
|
|
|
}
|
|
|
}
|
|
|
break
|
|
@@ -571,18 +544,7 @@ func GetAclRulesForNode(targetnodeI *models.Node) (rules map[string]models.AclRu
|
|
|
err := e.Get(db.WithContext(context.TODO()))
|
|
|
if err == nil && e.Status && len(e.Nodes) > 0 {
|
|
|
if _, ok := e.Nodes[targetnode.ID.String()]; ok {
|
|
|
- if servercfg.IsPro && e.Domain != "" && len(e.DomainAns) > 0 {
|
|
|
- for _, domainAnsI := range e.DomainAns {
|
|
|
- ip, cidr, err := net.ParseCIDR(domainAnsI)
|
|
|
- if err == nil {
|
|
|
- if ip.To4() != nil {
|
|
|
- egressRanges4 = append(egressRanges4, *cidr)
|
|
|
- } else {
|
|
|
- egressRanges6 = append(egressRanges6, *cidr)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else if e.Range != "" {
|
|
|
+ if e.Range != "" {
|
|
|
_, cidr, err := net.ParseCIDR(e.Range)
|
|
|
if err == nil {
|
|
|
if cidr.IP.To4() != nil {
|
|
@@ -592,7 +554,6 @@ func GetAclRulesForNode(targetnodeI *models.Node) (rules map[string]models.AclRu
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- dstTags[targetnode.ID.String()] = struct{}{}
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -839,10 +800,10 @@ func GetEgressRulesForNode(targetnode models.Node) (rules map[string]models.AclR
|
|
|
if node.ID == targetnode.ID {
|
|
|
continue
|
|
|
}
|
|
|
- if !node.IsStatic && node.Address.IP != nil {
|
|
|
+ if node.Address.IP != nil {
|
|
|
aclRule.IPList = append(aclRule.IPList, node.AddressIPNet4())
|
|
|
}
|
|
|
- if !node.IsStatic && node.Address6.IP != nil {
|
|
|
+ if node.Address6.IP != nil {
|
|
|
aclRule.IP6List = append(aclRule.IP6List, node.AddressIPNet6())
|
|
|
}
|
|
|
if node.IsStatic && node.StaticNode.Address != "" {
|