У моей компании есть внутренний сервер SVN (VisualSVN), который мы хотели бы использовать для отслеживания изменений в нашем исходном коде Python в облаке. Экземпляры ec2 будут использовать клиент SVN для Linux. Я хотел бы настроить что-то, что будет автоматически подключаться к нашей домашней сети с помощью IPSec VPN, выполнять все необходимые нам команды SVN и затем закрывать соединение VPN.
Одна из проблем заключается в том, что и EC2, и наша внутренняя сеть используют 10...* Диапазон IP-адресов. Мне нужно подключиться только к одному серверу в нашей сети (10.0.0.8) после подключения VPN. Я беспокоюсь, что могу случайно изменить таблицы маршрутизации и полностью испортить наши серверы.
Сейчас я использую Fedora на EC2, но я бы рассмотрел возможность смены дистрибутива, если бы существовало готовое решение.
Может ли кто-нибудь предоставить примеры скриптов, показывающие, как принять команду SVN, создать VPN-подключение, настроить таблицу маршрутизации, запустить команду SVN, а затем разорвать VPN-подключение после завершения?
Спасибо заранее, Расс Рыба
Редактировать: Для тех, кто предлагает SVN вместо SSH. Я уже использовал его раньше, и он хорошо работает.
Поскольку сервер EC2 с исходным кодом, резервную копию которого я хочу создать, находится ВНЕ моей рабочей сети, не понадобится ли мне IPSec для доступа к серверу SVN внутри моей сети?
Или SSH проходит через брандмауэры IPSec? Рабочий сервер SVN также работает под управлением Windows, поэтому, насколько мне известно, на нем не запущен сервер SSH.
решение1
Вместо IPSec VPN, почему бы не использовать svn+ssh? Я упоминаю об этом только потому, что ssh-подключение к IP намного проще, чем настройка VPN-доступа — просто объявите случайный порт для ваших серверов, перенаправленный на ваш внутренний сервер.
Вы не испортите свой сервер, добавив один маршрут в сеть 10.xxx (например, 10.1.1.0/24). Интернет-трафик в любом случае всегда будет идти по вашему маршруту по умолчанию.
Извините, я не могу предоставить подробный скрипт, но попробуйте настроить ключи ssh и использовать svn+ssh — это намного проще, и не нужно менять дистрибутивы или делать что-то радикальное. :)
Редактировать: Если источник как-то связан с работой, то, по моему мнению, ваш ИТ-отдел обязан сделать это максимально простым, сохраняя при этом безопасность. Что такое VPN-сервер? Настройка временного соединения должна быть довольно простой, но мне нужно больше узнать о типе VPN, который вы используете. Это PPTP?
Не существует такого понятия, как брандмауэр IPSec. По моему опыту, есть только пакетные фильтры общего назначения, обычно называемые брандмауэрами. В общем, вы просто используете брандмауэр, чтобы разрешить произвольные порты, с правилом запрета по умолчанию для всего остального. Очень просто открыть порт для этого, это просто вопрос процесса.
Кроме того, тот факт, что сервер работает под управлением Windows, не означает, что на нем не запущен svnserve. Как получить доступ к репозиторию? Какой протокол стоит в начале URI? svn://, http:// и т. д.