우리 회사에는 클라우드에서 Python 소스 코드의 변경 사항을 추적하는 데 사용하기 시작하려는 내부 SVN 서버(VisualSVN)가 있습니다. ec2 인스턴스는 Linux SVN 클라이언트를 사용합니다. IPSec VPN을 사용하여 홈 네트워크에 자동으로 연결하고 필요한 SVN 명령을 실행한 다음 VPN 연결을 닫는 것을 설정하고 싶습니다.
한 가지 우려 사항은 EC2와 내부 네트워크 모두 10을 사용한다는 것입니다...* IP 범위. VPN이 연결된 후에는 네트워크(10.0.0.8)의 단일 서버에만 연결하면 됩니다. 실수로 라우팅 테이블을 변경하여 서버를 완전히 망칠까봐 걱정됩니다.
저는 지금 EC2에서 Fedora를 사용하고 있지만 쉽게 사용할 수 있는 솔루션이 있다면 배포판 변경을 고려해 보겠습니다.
누구든지 SVN 명령을 사용하고, VPN 연결을 생성하고, 라우팅 테이블을 설정하고, SVN 명령을 실행한 다음 완료되면 VPN 연결을 삭제하는 방법을 보여주는 몇 가지 예제 스크립트를 제공할 수 있습니까?
미리 감사드립니다. Russ Ryba
편집: SSH를 통한 SVN을 제안하는 사람들을 위한 것입니다. 나는 그것을 이전에 사용해 본 적이 있으며 잘 작동합니다.
백업하려는 소스 코드가 있는 EC2 서버가 회사 네트워크 외부에 있으므로 네트워크 내부의 SVN 서버에 액세스하려면 IPSec가 여전히 필요하지 않습니까?
아니면 SSH가 IPSec 방화벽을 통과합니까? 작업 SVN 서버도 Windows를 실행하므로 내가 아는 한 SSH 서버가 실행되지 않습니다.
답변1
IPSec VPN 대신 svn+ssh를 사용하는 것은 어떨까요? IP에 SSH를 연결하는 것이 VPN 액세스를 설정하는 것보다 훨씬 간단하기 때문에 이것을 언급합니다. 서버에 대해 임의의 포트를 광고하고 내부 서버로 전달하면 됩니다.
10.xxx 네트워크(예: 10.1.1.0/24)에 단일 경로를 추가하여 서버를 망칠 필요가 없습니다. 어쨌든 인터넷으로 향하는 트래픽은 항상 기본 경로로 이동합니다.
죄송합니다. 간단한 스크립트를 제공할 수는 없지만 ssh 키를 설정하고 svn+ssh를 사용해 보세요. 훨씬 간단하고 배포판이나 그와 같은 과감한 변경이 필요하지 않습니다. :)
편집: 소스가 업무와 관련된 것이라면 내 생각에는 IT 부서는 보안을 유지하면서 이를 최대한 단순하게 만들 의무가 있습니다. VPN 서버란 무엇입니까? 임시 연결을 설정하는 것은 매우 간단하지만 귀하가 사용하는 VPN 유형에 대해 더 자세히 알고 싶습니다. PPTP인가요?
IPSec 방화벽 같은 것은 없습니다. 내 경험상 일반적으로 방화벽이라고 하는 범용 패킷 필터만 있습니다. 일반적으로 말하면 임의의 포트를 허용하기 위해 방화벽을 사용하고 다른 것에 대해서는 기본 거부 규칙을 사용합니다. 이를 위해 포트를 노출하는 것은 매우 간단하며 프로세스의 문제일 뿐입니다.
또한 서버가 Windows를 실행한다고 해서 svnserve가 실행되지 않는다는 의미는 아닙니다. 저장소에 어떻게 액세스합니까? URI 시작 부분의 프로토콜은 무엇입니까? svn://, http:// 등