Skip to content

Commit

Permalink
move sshd start to dockerfile
Browse files Browse the repository at this point in the history
  • Loading branch information
yunlzheng committed Dec 4, 2019
1 parent 974aef0 commit 5a8db5f
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 48 deletions.
4 changes: 3 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ output
docs
build
.vscode
artifacts
artifacts
bin
node_modules
3 changes: 1 addition & 2 deletions bin/build
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ TAG=$(echo $TRAVIS_BRANCH | sed "s/\//-/")
TAG=${TAG:-latest}
docker build -t registry.cn-hangzhou.aliyuncs.com/rdc-incubator/kt-connect -f docker/kt-connect/Dockerfile .

#docker build -t registry.cn-hangzhou.aliyuncs.com/rdc-incubator/kt-connect-shadow:$TAG -f docker/shadow/Dockerfile .
docker build --cache-from registry.cn-hangzhou.aliyuncs.com/rdc-incubator/kt-connect-shadow:latest -t registry.cn-hangzhou.aliyuncs.com/rdc-incubator/kt-connect-shadow:$TAG -f docker/shadow/Dockerfile .
docker build -t registry.cn-hangzhou.aliyuncs.com/rdc-incubator/kt-connect-shadow:$TAG -f docker/shadow/Dockerfile .
docker build -t registry.cn-hangzhou.aliyuncs.com/rdc-incubator/kt-connect-dashboard:$TAG -f docker/dashboard/Dockerfile .
docker build -t registry.cn-hangzhou.aliyuncs.com/rdc-incubator/kt-connect-server:$TAG -f docker/apiserver/Dockerfile .
5 changes: 4 additions & 1 deletion docker/shadow/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@ RUN GOARCH=amd64 GOOS=linux go build -o bin/kt-shadow cmd/proxy/main.go

FROM registry.cn-hangzhou.aliyuncs.com/rdc-incubator/shadow-base
COPY --from=0 /go/src/github.com/alibaba/kt-connect/bin/kt-shadow /usr/sbin/kt-shadow
CMD ["/usr/sbin/kt-shadow"]
ADD docker/shadow/run.sh /run.sh
RUN chmod 755 /run.sh

CMD ["/run.sh"]
3 changes: 3 additions & 0 deletions docker/shadow/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash
/usr/sbin/sshd -D &
/usr/sbin/kt-shadow
25 changes: 9 additions & 16 deletions pkg/proxy/daemon/dnsserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package daemon

import (
"errors"
"fmt"
"net"
"os"
"strconv"
Expand All @@ -13,36 +12,30 @@ import (
"github.com/miekg/dns"
)

// DNSRequestHandler
type DNSRequestHandler struct{}
// dns server
type server struct{}

// ServeDNS start dns server
func ServeDNS() (err error) {
srv := &dns.Server{Addr: ":" + strconv.Itoa(53), Net: "udp"}
srv.Handler = &DNSRequestHandler{}
// NewDNSServerDefault create default dns server
func NewDNSServerDefault() (srv *dns.Server) {
srv = &dns.Server{Addr: ":" + strconv.Itoa(53), Net: "udp"}
srv.Handler = &server{}

config, _ := dns.ClientConfigFromFile("/etc/resolv.conf")

log.Info().Msgf("Successful load local /etc/resolv.conf")
for _, server := range config.Servers {
log.Info().Msgf("Success load nameserver %s\n", server)
}

fmt.Printf("DNS Server Start At 53...\n")
err = srv.ListenAndServe()
if err != nil {
log.Error().Msgf("Failed to set udp listener %s\n", err.Error())
}
return
}

//ServeDNS query DNS rescord
func (h *DNSRequestHandler) ServeDNS(w dns.ResponseWriter, r *dns.Msg) {
func (h *server) ServeDNS(w dns.ResponseWriter, req *dns.Msg) {
msg := dns.Msg{}
msg.SetReply(r)
msg.SetReply(req)
msg.Authoritative = true
// Stuff must be in the answer section
for _, a := range query(w, r) {
for _, a := range query(w, req) {
log.Info().Msgf("%v\n", a)
msg.Answer = append(msg.Answer, a)
}
Expand Down
23 changes: 0 additions & 23 deletions pkg/proxy/daemon/sshd.go

This file was deleted.

10 changes: 5 additions & 5 deletions pkg/proxy/server/server.go
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
package server

import (
"fmt"

"github.com/alibaba/kt-connect/pkg/proxy/daemon"
"github.com/rs/zerolog/log"
)

// Run start kt proxy
func Run() (err error) {
log.Info().Msg("Start kt connect proxy")
err = daemon.ServerSSH()
if err != nil {
return
}
err = daemon.ServeDNS()
srv := daemon.NewDNSServerDefault()
err = srv.ListenAndServe()
if err != nil {
return
}
fmt.Printf("DNS Server Start At 53...\n")
return
}

0 comments on commit 5a8db5f

Please sign in to comment.