[转]如何设置svn的ip限制

http://blog.csdn.net/huang_xw/article/details/8119377

需求背景:由于公司在外地成立了分公司,但是要求源代码还要共用。除了普通意义上的VPN控制外,还要求对源代码的访问实现精细控制。具体如下:
    1.对于公司内网,即源代码所在地(公司总部)要求所有人通过SVN账号密码访问,访问的具体权限为Visual SVN Server控制,只读、读写等。
    2.对于分公司,外网访问。要求通过具体IP访问,只有要求的IP可以通过公司VPN进入公司源代码服务器地址进行访问,访问的具体权限根据不同人员用Visual SVN Server进行控制,只读、读写等。
解决方案及策略:
    方案一:本地安全策略-->IP安全策略
    由于源代码所在服务器操作系统为Windows Server 2008 R2,故本身具有高安全性。可以设置IP安全策略,对特定的服务端口进行控制。此方法对于只允许单个IP、少数IP可以访问有很好效果,但是由于公司总部内网IP段比较多,故设置起来费时费力。因为要单独放行的IP数目过多,它没有放行一个IP段的选项。
    方法的设置就不在此赘述了,网上有很多。它的效果非常明显,也很不错,但是由于公司应用条件的特殊要求被我废弃使用此方案。
    方案二:采用apache的Allow与Deny
    在安装完Visual SVN Server之后,在安装目录下的conf中,肯定能看到一些这样的段落,LoadModule ***
    <Directory/>
       Options FollowSymLinks
       AllowOverride None
       RewriteEngine on
       ……
    </Directory>
     此时只需要在Directory增加Order与Deny规则即可。具体规则可以参见apache的帮助。按照我们公司要求,我只需要如下设置:
     <Directory/>
       Options FollowSymLinks
       AllowOverride None
       RewriteEngine on
       Order Deny,Allow
       Deny From All
       Allow From 192.168.10 (允许10段访问)
       Allow From 192.168.20  (允许20段访问)
       Allow From 192.168.30.1   (允许此IP地址访问)   
       ……
     </Directory>
    好了,设置完成后,只需要重启你的Visual SVN Server服务即可,只有在被要求范围之内的IP才可以访问其他的均会返回404.在方案二实施过程中,还遇到一点小问题,如果你也遇到了,请参阅http://blog.sina.com.cn/s/blog_6dc4dbed0100zat9.html

posted @ 2014-12-25 08:52  Johnsonton's blog  阅读(3147)  评论(0)    收藏  举报