我的公司使用Subversion(在端口3690上的svn协议,而不是通过http )与我们的内部网上的本地服务器。 目前我们的开发人员已经将他们的SVN客户端指向服务器的本地IP地址(192.168 …)。 我们试图从互联网上开放SVN服务器,让远离办公室的开发人员能够访问Subversion服务。 我们有一个静态IP地址,并设置我们的防火墙和路由器,以允许3690端口的stream量,并转发到正确的计算机。 从办公室外部,我们可以使用svn:// 98。<…>:3690成功连接到服务器。 事情几乎是好的。
我们的问题:
位于办公室的计算机不能使用公共IP地址访问Subversion服务器; 连接刚刚超时。 当我们从networking内部ping公共IP地址时,响应时间是1ms,'tracert'表示连接在返回之前只能到达路由器。 尝试从办公室外部telnet到我们的外部IP地址显示一个连接,但是从networking内部我们什么也得不到。 我们的防火墙根本不限制输出stream量。
任何人都可以帮助我们吗?
这不是一个SVN问题,而是一个防火墙function。 了解防火墙模型在这里会很好。
在任何情况下,你都不应该也经常不能(特别是在Cisco PIX / ASA的情况下,没有大的configuration调整)从内部打到你的防火墙的外部IP。 相反,您应该configurationDNS,以便相同的名称(svn.yourcompany.com)可以parsing为外部IP的外部客户端和内部客户端的192.168.xx IP。 这可以通过使用不同的外部和内部DNS服务器,或同一个DNS服务器与多个视图,或使用防火墙的DNS重写function。 请留下评论,防火墙的模型和您的DNS设置的描述,我将能够更具体。
您不能将数据发送到路由器内部的路由器。 公网IP在局域网内不起作用。 尝试使用SVN服务器主机名=公用或专用IP设置/ etc / hosts文件,具体取决于客户端计算机的位置。 然后通过主机名访问SVN服务器。
根据您的防火墙,您需要对其进行configuration,以允许从内部networking到外部IP的stream量以及所需的路由。
在“真正的”防火墙中是可行的,但可能不是便宜的“路由器”。