mirror of
https://github.com/kubenetworks/kubevpn.git
synced 2025-12-24 11:51:13 +08:00
optimize code
This commit is contained in:
@@ -11,8 +11,8 @@ import (
|
||||
"k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
func GetDNSServiceIpFromPod(clientset *kubernetes.Clientset, restclient *rest.RESTClient, config *rest.Config, podName, namespace string) string {
|
||||
if ip, err := getDNSIp(clientset); err == nil && len(ip) != 0 {
|
||||
func GetDNSServiceIPFromPod(clientset *kubernetes.Clientset, restclient *rest.RESTClient, config *rest.Config, podName, namespace string) string {
|
||||
if ip, err := getDNSIP(clientset); err == nil && len(ip) != 0 {
|
||||
return ip
|
||||
}
|
||||
if ip, err := util.Shell(clientset, restclient, config, util.TrafficManager, namespace, "cat /etc/resolv.conf | grep nameserver | awk '{print$2}'"); err == nil && len(ip) != 0 {
|
||||
@@ -22,7 +22,7 @@ func GetDNSServiceIpFromPod(clientset *kubernetes.Clientset, restclient *rest.RE
|
||||
return ""
|
||||
}
|
||||
|
||||
func getDNSIp(clientset *kubernetes.Clientset) (string, error) {
|
||||
func getDNSIP(clientset *kubernetes.Clientset) (string, error) {
|
||||
serviceList, err := clientset.CoreV1().Services(v1.NamespaceSystem).List(context.Background(), v1.ListOptions{
|
||||
FieldSelector: fields.OneTermEqualSelector("metadata.name", "kube-dns").String(),
|
||||
})
|
||||
|
||||
@@ -121,7 +121,7 @@ func (c *ConnectOptions) createRemotePod() {
|
||||
|
||||
list = append(list, trafficManager.String())
|
||||
|
||||
c.nodeConfig.ChainNodes = "socks5://127.0.0.1:10800?notls=true"
|
||||
c.nodeConfig.ChainNodes = "socks5://127.0.0.1:10800"
|
||||
c.nodeConfig.ServeNodes = []string{fmt.Sprintf("tun://:8421/127.0.0.1:8421?net=%s&route=%s", tunIp.String(), strings.Join(list, ","))}
|
||||
|
||||
log.Info("your ip is " + tunIp.String())
|
||||
@@ -181,9 +181,16 @@ func (c *ConnectOptions) DoConnect() {
|
||||
util.DeleteWindowsFirewallRule()
|
||||
}
|
||||
log.Info("dns service ok")
|
||||
_ = exec.Command("ping", "-c", "4", "223.254.254.100").Run()
|
||||
go func() {
|
||||
for {
|
||||
select {
|
||||
case <-time.Tick(time.Second * 15):
|
||||
_ = exec.Command("ping", "-c", "4", "223.254.254.100").Run()
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
dnsServiceIp := dns.GetDNSServiceIpFromPod(c.clientset, c.restclient, c.config, util.TrafficManager, c.Namespace)
|
||||
dnsServiceIp := dns.GetDNSServiceIPFromPod(c.clientset, c.restclient, c.config, util.TrafficManager, c.Namespace)
|
||||
if err := dns.SetupDNS(dnsServiceIp, c.Namespace); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -137,10 +137,10 @@ func parseIPRoutes(routeStringList string) (routes []tun.IPRoute) {
|
||||
return
|
||||
}
|
||||
|
||||
ss := strings.Split(routeStringList, ",")
|
||||
for _, s := range ss {
|
||||
if _, inet, _ := net.ParseCIDR(strings.TrimSpace(s)); inet != nil {
|
||||
routes = append(routes, tun.IPRoute{Dest: inet})
|
||||
routeList := strings.Split(routeStringList, ",")
|
||||
for _, route := range routeList {
|
||||
if _, ipNet, _ := net.ParseCIDR(strings.TrimSpace(route)); ipNet != nil {
|
||||
routes = append(routes, tun.IPRoute{Dest: ipNet})
|
||||
}
|
||||
}
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user