mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-08 21:05:54 +08:00
fix egressing exclient set route issue
This commit is contained in:
parent
7ff30599ed
commit
0180481ddb
2 changed files with 12 additions and 17 deletions
|
@ -431,7 +431,7 @@ func GetExtPeers(node, peer *models.Node) ([]wgtypes.PeerConfig, []models.IDandA
|
||||||
allowedips = append(allowedips, *cidr)
|
allowedips = append(allowedips, *cidr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
egressRoutes = append(egressRoutes, getExtPeerEgressRoute(extPeer)...)
|
egressRoutes = append(egressRoutes, getExtPeerEgressRoute(*node, extPeer)...)
|
||||||
primaryAddr := extPeer.Address
|
primaryAddr := extPeer.Address
|
||||||
if primaryAddr == "" {
|
if primaryAddr == "" {
|
||||||
primaryAddr = extPeer.Address6
|
primaryAddr = extPeer.Address6
|
||||||
|
@ -453,23 +453,18 @@ func GetExtPeers(node, peer *models.Node) ([]wgtypes.PeerConfig, []models.IDandA
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func getExtPeerEgressRoute(extPeer models.ExtClient) (egressRoutes []models.EgressNetworkRoutes) {
|
func getExtPeerEgressRoute(node models.Node, extPeer models.ExtClient) (egressRoutes []models.EgressNetworkRoutes) {
|
||||||
if extPeer.Address != "" {
|
|
||||||
egressRoutes = append(egressRoutes, models.EgressNetworkRoutes{
|
egressRoutes = append(egressRoutes, models.EgressNetworkRoutes{
|
||||||
NodeAddr: extPeer.AddressIPNet4(),
|
EgressGwAddr: extPeer.AddressIPNet4(),
|
||||||
|
EgressGwAddr6: extPeer.AddressIPNet6(),
|
||||||
|
NodeAddr: node.Address,
|
||||||
|
NodeAddr6: node.Address6,
|
||||||
EgressRanges: extPeer.ExtraAllowedIPs,
|
EgressRanges: extPeer.ExtraAllowedIPs,
|
||||||
})
|
})
|
||||||
}
|
|
||||||
if extPeer.Address6 != "" {
|
|
||||||
egressRoutes = append(egressRoutes, models.EgressNetworkRoutes{
|
|
||||||
NodeAddr: extPeer.AddressIPNet6(),
|
|
||||||
EgressRanges: extPeer.ExtraAllowedIPs,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func getExtpeersExtraRoutes(network string) (egressRoutes []models.EgressNetworkRoutes) {
|
func getExtpeersExtraRoutes(node models.Node, network string) (egressRoutes []models.EgressNetworkRoutes) {
|
||||||
extPeers, err := GetNetworkExtClients(network)
|
extPeers, err := GetNetworkExtClients(network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
|
@ -478,7 +473,7 @@ func getExtpeersExtraRoutes(network string) (egressRoutes []models.EgressNetwork
|
||||||
if len(extPeer.ExtraAllowedIPs) == 0 {
|
if len(extPeer.ExtraAllowedIPs) == 0 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
egressRoutes = append(egressRoutes, getExtPeerEgressRoute(extPeer)...)
|
egressRoutes = append(egressRoutes, getExtPeerEgressRoute(node, extPeer)...)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,7 +181,7 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if peer.IsIngressGateway {
|
if peer.IsIngressGateway {
|
||||||
hostPeerUpdate.EgressRoutes = append(hostPeerUpdate.EgressRoutes, getExtpeersExtraRoutes(peer.Network)...)
|
hostPeerUpdate.EgressRoutes = append(hostPeerUpdate.EgressRoutes, getExtpeersExtraRoutes(node, peer.Network)...)
|
||||||
}
|
}
|
||||||
_, isFailOverPeer := node.FailOverPeers[peer.ID.String()]
|
_, isFailOverPeer := node.FailOverPeers[peer.ID.String()]
|
||||||
if servercfg.IsPro {
|
if servercfg.IsPro {
|
||||||
|
|
Loading…
Add table
Reference in a new issue