更新家用网络组网拓扑(Linux透明网桥流控与无线网络的组合)

以实验的目的,更新了家里的网络组网,稍微复杂了一点,如下图:

家用网络组网拓扑(Linux流控与无线网络的组合)

家用网络组网拓扑(Linux流控与无线网络的组合)

说明:

根本目的是使用一台Linux PC(实际上是一块二手老主板改造的)作为网关(流控点,透明网桥),管理和优化各接入用户的网络流量。拓扑中还有两台无线路由器,一台LinkSys WRT54G(刷了tomato),另一台是Netgear WGR614,它们各组织一个网络。

LinkSys WRT54G作为拨号节点,向ISP拨号连入互联网,配置其LAN口和Wireless口为192.168.2.0/24网段,接入此网络的PC将以这台LinkSys为网关接入互联网。PC1即是如此。

图中的Ubuntu即前面提到的那块二手主板[Celeron 2.30GHz处理器/256M内存],装的Ubuntu8.04(这是一个LTS版本,比较稳定可靠)。在网络中,它以透明网桥的方式将周围设备连接起来,并接入Linksys拨入的ISP互联网络。之所以用作网桥而不是配置成路由模式,也是为了简化网络。用brctl建立一个透明网桥,将图中的eth0/eth1/eth2三个接口加入该透明网桥,brctl配置起来也非常简单,就不赘述了。针对此网桥配置了一些iptables、tc等安全和流控功能。

这里顺便将我在此环境下测试通过的一个实验附上 – linux bridge透明网桥加tc流控的小例子

—————-? linux? 透明网桥使用tc流控的例子开始 —————————

1,建立透明网桥(eth0为上行,eth2和eth3为下行):

brctl addbr tran_br
brctl addif tran_br eth2
brctl addif tran_br eth1
brctl addif tran_br eth0

2,建立tc流控规则

tc qdisc add dev eth2 root handle 1: cbq bandwidth 2Mbit avpkt 1000 cell 8 mpu 64

tc class add dev eth2 parent 1:0 classid 1:1 cbq bandwidth 2Mbit rate 2Mbit maxburst 20 allot 1514 prio 8 avpkt 1000 cell 8 weight 1Mbit

tc class add dev eth2 parent 1:1 classid 1:2 cbq bandwidth 2Mbit rate 0.2Mbit maxburst 20 allot 1514 prio 2 avpkt 1000 cell 8 weight 800Kbit split 1:0 bounded
tc class change dev eth2 parent 1:1 classid 1:3 cbq bandwidth 2Mbit rate 1Mbit maxburst 20 allot 1514 prio 1 avpkt 1000 cell 8 weight 100Kbit split 1:0 bounded???? #速率控制为1Mbit/s
tc class add dev eth2 parent 1:1 classid 1:4 cbq bandwidth 2Mbit rate 1Mbit maxburst 20 allot 1514 prio 6 avpkt 1000 cell 8 weight 100Kbit split 1:0
#利用分类1:3来控制发往ip为192.168.2.104的PC的流量速率:
tc filter add dev eth2 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.2.104/32 flowid 1:3

经试验验证(可以用tc class change命令来改变1:3分类的速率值,并在192.168.2.104主机上下载一个大文件来观察验证配置是否成功),流控速率控制成功。

—————-? linux? 透明网桥使用tc流控的例子结束 —————————

由于家里有很多无线设备(笔记本、手机、平板),如果让他们接入LinkSys的无线网络的话,就无法利用这台Linx来做流量管理了,所以,在该网桥上(图中eth1口)又接入了一个无线路由器(Netgear WGR614),需要管理的无线设备将接入该无线路由器的无线网络。此无线路由器的WAN口接入Linux的网桥eth1口,则可以直接从LinkSys处DHCP获取192.168.2.0/24网段的IP作为其上行接入IP地址,而其下行的LAN和Wireless网络,配置为192.168.1.0/24网络。

目前经过一段时间的测试,PC1、PC2以及两个无线网段访问互联网(http/ftp)均很正常。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>