我的公司有一个内部 SVN 服务器 (VisualSVN),我们想开始使用它来跟踪云中 python 源代码的更改。ec2 实例将使用 linux SVN 客户端。我想设置一些东西,使用 IPSec VPN 自动连接到我们的家庭网络,运行我们需要执行的任何 SVN 命令,然后关闭 VPN 连接。
一个问题是 EC2 和我们的内部网络都使用 10。。.* IP 范围。一旦 VPN 连接,我只需要连接到我们网络上的单个服务器 (10.0.0.8)。我担心我可能会意外更改路由表并彻底搞砸我们的服务器。
我现在在 EC2 上使用 Fedora,但如果有现成的解决方案,我会考虑更换发行版。
有人可以提供一些示例脚本来展示如何执行 SVN 命令、创建 vpn 连接、设置路由表、运行 SVN 命令,然后在完成后断开 vpn 连接吗?
提前致谢,Russ Ryba
编辑:对于那些建议使用 SVN 而不是 SSH 的人。我以前用过,效果很好。
由于我希望备份的包含源代码的 EC2 服务器位于我的工作网络之外,我是否仍然需要 IPSec 来访问我网络内的 SVN 服务器?
或者 SSH 会穿过 IPSec 防火墙吗?工作 SVN 服务器也运行 Windows,因此据我所知,它上面没有运行 SSH 服务器。
答案1
为什么不使用 svn+ssh,而不是 IPSec VPN?我之所以提到这一点,是因为 ssh 连接到 IP 比设置 VPN 访问简单得多 - 只需为您的服务器公布一个随机端口,然后转发到您的内部服务器。
通过向 10.xxx 网络添加单个路由(例如 10.1.1.0/24),您不会搞砸您的服务器。无论如何,Internet 绑定的流量始终会转到您的默认路由。
抱歉,我无法提供完整的脚本,但请尝试设置 ssh 密钥并使用 svn+ssh - 更简单,并且无需更改发行版或进行任何类似的激烈操作。:)
编辑:如果来源与工作有关,那么我认为您的 IT 部门有责任在保持安全性的同时尽可能简化这一过程。什么是 VPN 服务器?设置临时连接应该非常简单,但我需要更多地了解您使用的 VPN 类型。是 PPTP 吗?
IPSec 防火墙根本不存在。根据我的经验,只有通用数据包过滤器,通常称为防火墙。一般来说,你只需使用防火墙来允许任意端口,而对其他任何端口使用默认拒绝规则。为此公开端口非常简单,这只是一个过程问题。
此外,服务器运行 Windows 并不意味着它没有运行 svnserve。您如何访问存储库?URI 开头的协议是什么?svn://、http:// 等。