2014-01-06 4 views
1

와 자식 서버를 실행 나는 다음과 같은 설정이 있습니다는 SSH 및 NAT

  • 표준 가정용 광대역 연결
  • 사용 Dyndns에, myserver.example.com 내 홈 네트워크
  • 내 홈 네트워크 방화벽에 대한지도를 앞으로 192.168.1.140의 포트 22에 SSH, 그래서 나는
  • 내 홈 서버 호스트 이름 애쉬 랜드와 고정 IP 192.168.1.150로, gitlab를 실행하는 VM을 실행하는 내 홈 서버에 ssh를 할 수

외부 세계에서 내 gitlab VM에 액세스하고 싶습니다. git 관련 ssh 트래픽을 내 VM (192.168.1.150)으로 전달할 수 있지만 정상적인 ssh 트래픽은 (192.168.1.140)으로 전달할 수 있도록하려면 어떻게해야합니까? 이것이 가능한가?

편집 :

내가하고 싶은 것은 내 홈 네트워크에있는 다른 클라이언트가 동일한 방법으로 자식과 상호 작용 있는지 확인합니다. 예를 들어, 홈 네트워크에 있는지 여부에 관계없이 stevejb-gitlab.example.com을 내 git 서버로 사용하려고합니다.

답변

1

두 번째 포트를 앞으로 추가하십시오.

예를 들어, 포트 22의 모든 트래픽을 일반 서버로 전달하지만 포트 2222 (또는 선택한 포트)의 모든 트래픽은 GitLab VM으로 전달하십시오. 그런 다음 망할 놈의 요청에 포트 2222을 포함해야하고 당신이 가서 잘되어야합니다 :

git remote add home ssh://[email protected]:2222/project/repo.git 

를 AS를 제외하고, 당신이하지 않는 멀리 (22)의 기본 SSH 포트에서 모두 포트를 변경할 수 있습니다 1 톤의 보안 기능을 추가했지만 내 경험상 제 서버에 대한 무차별 공격에 눈에 띄는 영향을 미쳤습니다.

+0

크리스. 나는 그것을 시도 할 것이다. 포트 변경에 대한 제안에 감사드립니다. 나는 그 의미를 지니고있다. 감사! – stevejb

+0

@stevejb, 나는 단지 내 명령이 틀렸다는 것을 알아 차렸다. 'git remote add ... '가 아니라'git add remote ...'입니다. 그에 따라 내 대답을 업데이트했습니다. – Chris