Я хочу связать себя и 3 друзей вместе, чтобы мы могли вместе работать над проектами Visual Studio, используя Team Foundation Server. Из того, что я прочитал, самый простой и лучший способ сделать это - настроить VPN. Мне было интересно, может ли кто-нибудь указать мне правильное направление.
Я надеялся получить бесплатное решение и понимаю, что это может быть невозможно. Очевидно, он должен быть совместим с Windows. Я смотрел на OpenVPN, но похоже, что он ориентирован на Linux, и я не знаю, будет ли Team Foundation Server работать с ним.
Также всегда будут подключены одни и те же 4 сети. Так что мне не нужен удаленный доступ с других IP-адресов. Но поскольку у нас нет статических IP-адресов от наших интернет-провайдеров, мне понадобится возможность заходить и менять их каждые несколько месяцев, когда мой интернет-провайдер меняет мой IP-адрес.
OpenVPN работает нормально под виндой. Если он работает как служба, ему потребуется доступ администратора, так как ему нужно изменить таблицы маршрутизации.
Что касается вашего динамического IP-адреса, вам обычно нужно заботиться только об одном сайте. IP-адреса для клиентов OpenVPN не имеют большого значения. Им просто нужно найти сервер OpenVPN. Вы можете получить один статический IP-адрес для сервера OpenVPN или использовать такую службу, как dyndns, и тогда клиенты будут настроены на поиск myvpnserver.dyndns.org (или что-то в этом роде).
Вот OpenVPN HOWTO. Скорее всего, вы установите сервер OpenVPN там, где у вас стоит ящик TFS.
OpenVPN может отлично работать в Linux и Windows. Вы можете использовать это для создания VPN.
Для динамического IP вы можете использовать ddns, например no-ip или dyndns, поэтому не беспокойтесь о том, что интернет-провайдер изменит ваш IP. :)
Я также порекомендовал бы OpenVPN - он позволяет вам создавать маршрутизируемую или мостовую сеть, в зависимости от ваших потребностей, поэтому я на 90% уверен, что это подойдет вам. Помимо OpenVPN HOWTO, вы можете ознакомиться с примерами: http://openvpn.net/index.php/open-source/documentation/examples.html