邢彬 /* XingBin.net */
XING Bin, a Coder, Geek, Railfan, and Outdoors Fan
face

限制单IP共享用户数上网解决方法

发布 / 2015-11-27 09:22   于 / Channel 8   文 / 邢彬   浏览 / 3530  

之前提到了信息中心对单IP共享用户数进行了限制,并对可能的原因进行了分析。显然,多人试图通过一个IP上网不太现实了(指人数多于6人)。

那应该怎样实现又可以保证实验室内大家可以在同一网段,以便共享文件、服务器和打印机,同时又能让大家通过不同的IP访问外网呢?

显然,这需要局域网共享多于一个IP地址。按照实验室有16人计算,再考虑到还有公共的计算机和实验机,根据信息中心的限制,应当至少需要3个IP地址。由于学校限制MAC与IP绑定,所以至少需要3个WAN口。因此考虑有以下两种解决方案。

一、部署3台家用/SOHO路由器。

现有的家用/SOHO路由器通常只具有一个WAN口,性能有限,但是有些产品性价比还是比较高的。部署3个这样的路由器,按照6人一组的方法分别使用不同的路由器访问外网即可。

具体来说,实验室内每个主机都使用192.168.1.0/24这样的IP地址段,给每个主机分配一个固定的IP地址。将3个路由器的LAN口同样设置为192.168.1.0/24这样的IP地址段,如192.168.1.251、252和253。将上述主机分为A、B、C三组,将它们的网关分别设置为192.168.1.251、252和253。这样就使得A、B、C三组主机分别使用不同的IP访问外网了。

需要注意的是,3个路由器只有一个可以开启DHCP服务,否则会发生冲突。当然,如果能够使用一台主机做DHCP服务器,根据不同主机的MAC地址为其分配IP地址和网关就更好了。

这种方案相当于在局域网内部署了3个网关,3组主机分别使用不同的网关访问外网。方法的优点是成本较低,只需增加两个小型路由器。缺点是使用存在一定不便,如果不搭建专门的DHCP服务器,那么只有一台路由器能够开启DHCP,其他两台都需要关闭。如果有主机设置为自动获取IP,那么这些主机都会通过这台开启DHCP的主机访问外网,造成主机分组不均。

二、部署多WAN口路由器

除了使用3台小型路由器做3个网关外,也可以使用一台多WAN口路由器。如果WAN口为3个或更多即可满足我们的要求。此时,实验室中各个主机均使用同一个网关,即路由器所对应的LAN口地址。路由器中的DHCP服务依然可以根据实现设置好的规则根据MAC为主机分配IP地址。最后,设置路由器中的负载均衡策略或附加调度规则,根据IP地址或地址段设置其具体使用哪一个WAN口。

这种方法部署起来网络拓扑更加简单清晰,缺点是需要部署一台新的多WAN口路由器设备。当然,也可以部署一台装有多个网卡做WAN口的软路由来实现此功能。如使用RouterOS、海蜘蛛,或者也可以在Linux安装和设置iptables等来实现(参见后续文章《多WAN口路由与流量分割》)。

需要注意的是,有些多WAN口路由器的MAC地址列表以IVL(Independent Vlan Learning)学习和存储,有的以SVL(Shared Vlan Learning)学习和存储。拿我使用过的路由器来说,TP-Link的TL-R483 V2.2就是IVL而V3.0就是SVL的。以IVL来处理的,每个VLAN都会维护自己的MAC地址列表,而以SVL来处理的,所有VLAN共同维护一个MAC地址列表。不过,通常很少会出现同一个MAC出现在不同VLAN里,所以问题不大,但是遇到IPv6透传的时候就麻烦了。当使用IPv6透传时,路由器两边的IPv6数据包直接通过,其对应的数据链路层的帧就会出现在路由器的WAN和LAN口,那么就会在WAN和LAN出现相同的MAC地址。这会导致TL-R483 V3.0死机而V2.2依然可以正常工作。当然,如果不使用IPv6透传,可以不用考虑此情况。

请登录后留言

LOGIN
FOLLOW ME
CATEGORIES
COPYRIGHT
Creative Commons License
除特殊声明的页面外,本站作品采用 知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议 进行许可。