Noob вопросы для проверки SVN и проблем с сетью, связанных с ним - PullRequest
0 голосов
/ 19 октября 2010

У нас есть локальный сервер с установленным SVN, который мы используем для разработки / тестирования.Мы хотели бы извлечь данные с него на действующий сервер, который где-то там.

Единственный способ сделать то, о чем я думал, это использовать «svn checkout» с живого сервера, верно?Таким образом, нам не нужно передавать FTP изменения, которые могут вызвать проблемы, если мы забудем загрузить некоторые изменения.И если мы нашли проблему, мы всегда можем вернуться к предыдущей стабильной версии, верно?Поправь меня, если я ошибаюсь по поводу любого из них.

Проблема в том, что у нашего локального сервера (Ubuntu) нет IP-адреса, доступного извне.У нас есть маршрутизатор от нашего провайдера, но мы не можем использовать его для доступа к локальному серверу из живого.Мы готовы попросить поставщика услуг Интернета настроить второй IP-адрес для локального сервера, но в целях безопасности они хотят настроить отдельный компьютер с программным обеспечением безопасности Windows и Windows Base (брандмауэр - http://www.kerio.com/control/ и антивирус), который будетстоить нам много.Можем ли мы просто установить бесплатный брандмауэр на локальном сервере (как я уже сказал, в Ubuntu) и решить проблему, не потратив дополнительных денег?

Надеюсь, я все понял.

Ответы [ 4 ]

1 голос
/ 19 октября 2010

Всегда трудно комментировать, не зная точной ситуации, но это звучит немного безумно.

Обычно вы настраиваете переадресацию порта для одного порта на локальный сервер. Сервер будет доступен (например) через 123.45.67.89:3690

Это трехминутная задача для настройки в обычном домашнем маршрутизаторе.

Пока сервер Ubuntu закрыт, а Subversion или все, что вы используете для аутентификации, правильно настроено и обновлено, это не должно создавать проблем безопасности.

В любом случае, установка компьютера под управлением Windows в качестве брандмауэра действительно не нужна. Ubuntu поставляется со всем необходимым для правильной настройки.

0 голосов
/ 20 октября 2010

Вы должны иметь возможность открывать и перенаправлять один порт (3690 по умолчанию) на вашем существующем IP на локальный сервер, как указал Pekka.Это зависит от вашего маршрутизатора и вашей возможности доступа к интерфейсу конфигурации на маршрутизаторе.

Вместо того, чтобы иметь дело с SSH и беспокоиться о людях, пытающихся получить доступ к вашему локальному серверу из любого места, вы можете настроить брандмауэр наразрешить входящий трафик только с вашего удаленного сервера.В зависимости от настроек маршрутизатора вы можете просто использовать встроенный межсетевой экран на локальном сервере.Тем не менее, было бы желательно иметь некоторую аутентификацию svn.

Метод пересылки SSH, описанный kanaka, предотвращает всю проблему удаленного доступа к локальной машине, но требует выполнения команды пересылки из локальной системы.сервер каждый раз, когда вам нужно получить доступ к SVN на удаленном сервере.

0 голосов
/ 19 октября 2010

Если на удаленном сервере есть ssh-сервер, вы можете использовать ssh forwarding.

На внутреннем svn-сервере:

ssh -R 7711:localhost:3690 {REMOTE_SERVER}
  • 7711 - произвольный порт (выможет использовать любой свободный порт в удаленной системе), который будет перенаправлен из удаленной системы на порт 3690 (svn) на сервере svn.
  • 3690 - это порт на внутреннем сервере svn, с которым вы хотите поговорить(через svn: //).
  • Если вы используете subversion через http: //, тогда используйте порт 80 вместо 3690.
  • Если вы используете subversion через https: //, тогда используйтепорт 443 вместо 3690.

После настройки переадресации вы можете сделать это на удаленной системе:

svn checkout {SCHEME}://localhost:7711/{PATH}
  • {SCHEME} - svn, http, https и т. д.
  • {PATH} - это обычный путь svn, который вы хотите проверить.

Примечания:

  • перенаправленныйтрафик передается через соединение ssh (по другому «каналу»), поэтому он также шифруется, что является хорошим преимуществом.

  • по умолчанию, удаленный конец пересылки будет прослушивать интерфейс обратной связи, поэтому только процессы в этой системе смогут использовать перенаправленный порт порта.

  • Как толькокогда вы закрываете сеанс ssh, перенаправленный порт также будет закрыт.Это только длится продолжительность соединения ssh.

  • ssh forwarding очень мощный.Если вы можете использовать ssh между двумя системами, вы можете обойти любую проблему с подключением, например, такую:

  • Выполните man ssh и прочитайте о параметрах -L и -R.

  • Полезные ссылки о пересылке по ssh:

0 голосов
/ 19 октября 2010

проверьте, предоставляют ли ваш ISP-маршрутизатор некоторые возможности переадресации портов, Вероятно, вам следует переслать порт ssh (после того, как вы убедитесь, что все пароли безопасны / или введете логин с файлом ключей ssh) и использовать протокол SVN + SSH для доступа к вашему хранилищу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...