@@ -68,14 +68,14 @@ func addGatewayRoute(cfg *service.Config, logger *zap.Logger, gatewayIP net.IP)
68
68
if gatewayIP .To4 () != nil {
69
69
// IPv4 gateway
70
70
commands = []string {
71
- "sudo route delete " + client .ProxyEndpointAddress .IP ().String (),
72
- "sudo route add " + client .ProxyEndpointAddress .IP ().String () + "/32 " + gatewayIP .String (),
71
+ "sudo route -n delete -net " + client .ProxyEndpointAddress .IP ().String (),
72
+ "sudo route -n add -net " + client .ProxyEndpointAddress .IP ().String () + "/32 -gateway " + gatewayIP .String (),
73
73
}
74
74
} else {
75
75
// IPv6 gateway
76
76
commands = []string {
77
- "sudo route delete -inet6 " + client .ProxyEndpointAddress .IP ().String (),
78
- "sudo route add -inet6 " + client .ProxyEndpointAddress .IP ().String () + "/128 " + gatewayIP .String (),
77
+ "sudo route -n delete -inet6 -net " + client .ProxyEndpointAddress .IP ().String (),
78
+ "sudo route -n add -inet6 -net " + client .ProxyEndpointAddress .IP ().String () + "/128 -gateway " + gatewayIP .String (),
79
79
}
80
80
}
81
81
err := executeCommands (logger , commands )
@@ -88,7 +88,7 @@ func addGatewayRoute(cfg *service.Config, logger *zap.Logger, gatewayIP net.IP)
88
88
89
89
func deleteGatewayRoute (cfg * service.Config , logger * zap.Logger ) {
90
90
for _ , client := range cfg .Clients {
91
- err := executeCommands (logger , []string {"sudo route delete " + client .ProxyEndpointAddress .IP ().String ()})
91
+ err := executeCommands (logger , []string {"sudo route -n delete -net " + client .ProxyEndpointAddress .IP ().String ()})
92
92
if err != nil {
93
93
logger .Error ("Failed to delete route:" , zap .Error (err ))
94
94
}
@@ -116,7 +116,6 @@ func (g *gatewayMonitor) watch() {
116
116
}
117
117
if ! g .ip .Equal (ip ) {
118
118
g .logger .Info ("Gateway address changed, reconfiguring routes" )
119
- deleteGatewayRoute (g .cfg , g .logger )
120
119
err = addGatewayRoute (g .cfg , g .logger , ip )
121
120
if err != nil {
122
121
g .logger .Error ("Failed to reconfigure routes:" , zap .Error (err ))
0 commit comments