Meine Firma hat einen internen SVN-Server (VisualSVN), den wir nutzen möchten, um Änderungen an unserem Python-Quellcode in der Cloud zu verfolgen. Die EC2-Instanzen würden den Linux-SVN-Client verwenden. Ich möchte etwas einrichten, das automatisch über IPSec VPN eine Verbindung zu unserem Heimnetzwerk herstellt, alle erforderlichen SVN-Befehle ausführt und dann die VPN-Verbindung schließt.
Ein Problem besteht darin, dass sowohl EC2 als auch unser internes Netzwerk die 10 verwenden...* IP-Bereich. Ich muss mich nur mit einem einzigen Server in unserem Netzwerk (10.0.0.8) verbinden, sobald VPN verbunden ist. Ich habe Angst, dass ich versehentlich die Routing-Tabellen ändere und unsere Server völlig durcheinander bringe.
Ich verwende derzeit Fedora auf EC2, würde aber einen Wechsel der Distribution in Betracht ziehen, wenn es eine sofort verfügbare Lösung gibt.
Kann jemand einige Beispielskripts bereitstellen, die zeigen, wie man mit einem SVN-Befehl eine VPN-Verbindung herstellt, die Routing-Tabelle einrichtet, den SVN-Befehl ausführt und die VPN-Verbindung nach Abschluss trennt?
Vielen Dank im Voraus, Russ Ryba
Bearbeiten: Für diejenigen, die SVN statt SSH vorschlagen. Ich habe das schon einmal verwendet und es funktioniert gut.
Da sich der EC2-Server mit dem Quellcode, den ich sichern möchte, AUSSERHALB meines Arbeitsnetzwerks befindet, benötige ich dann nicht trotzdem IPSec, um auf den SVN-Server in meinem Netzwerk zuzugreifen?
Oder geht SSH durch IPSec-Firewalls? Auf dem Arbeits-SVN-Server läuft auch Windows, daher läuft meines Wissens kein SSH-Server darauf.
Antwort1
Warum nicht svn+ssh anstelle von IPSec VPN verwenden? Ich erwähne dies nur, weil SSH zu einer IP viel einfacher ist als das Einrichten eines VPN-Zugriffs – geben Sie einfach einen zufälligen Port für Ihre Server bekannt, der an Ihren internen Server weitergeleitet wird.
Sie werden Ihren Server nicht durcheinanderbringen, wenn Sie einem 10.xxx-Netzwerk eine einzelne Route hinzufügen (wie etwa 10.1.1.0/24). Internetgebundener Datenverkehr wird ohnehin immer über Ihre Standardroute geleitet.
Es tut mir leid, dass ich kein umfassendes Skript bereitstellen kann, aber versuchen Sie, SSH-Schlüssel einzurichten und SVN+SSH zu verwenden. Das ist viel einfacher und Sie müssen die Distribution nicht ändern oder ähnliche drastische Maßnahmen ergreifen. :)
Bearbeiten: Wenn die Quelle irgendetwas mit der Arbeit zu tun hat, ist Ihre IT-Abteilung meiner Meinung nach verpflichtet, dies so einfach wie möglich zu gestalten und gleichzeitig die Sicherheit zu gewährleisten. Was ist der VPN-Server? Das Einrichten einer temporären Verbindung sollte ziemlich einfach sein, aber ich muss mehr über die Art des von Ihnen verwendeten VPN wissen. Ist es PPTP?
So etwas wie eine IPSec-Firewall gibt es nicht. Meiner Erfahrung nach gibt es nur allgemeine Paketfilter, die allgemein als Firewalls bezeichnet werden. Im Allgemeinen verwenden Sie eine Firewall, um beliebige Ports zuzulassen, und für alles andere gibt es eine Standardregel, die alle Ports verbietet. Es ist sehr einfach, einen Port dafür freizugeben, es ist nur eine Frage des Vorgangs.
Auch wenn auf dem Server Windows läuft, heißt das nicht, dass svnserve nicht läuft. Wie greifen Sie auf das Repo zu? Was ist das Protokoll am Anfang der URI? svn://, http:// usw.