公司的上网行为管理产品在串接网关模式下支持有线以太LAN以及无线以太LAN,但目前的实现是有线LAN和无线LAN的子网地址不能重叠,这样使得有线LAN和无线LAN之间无法实现同一网段的通信。后来经过做系统内核的同事帮助,找到了一个方法将有线LAN和无线LAN划在同一网段内而实现互相通信。
思路其实很简单:就是讲虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址,其他子网微机配置网关为bridge口的地址便可以了。当然,因为是设备是网关模式,路由和nat也是必须的了。如果设备本身便是网桥模式,那么路由和nat便可以省掉了。
brctl addbr bridge
brctl addif bridge eth0 brctl addif bridge ath0 ifconfig eth0 0.0.0.0 ifconfig bridge 10.0.0.1 netmask 255.255.255.0 up 添加iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 192.168.2.173 将有线和无线都设置为10.0.0.*网段,即可通过网上邻居进行访问 当然了,要是Linux可以工作在网桥模式,必须安装网桥工具bridge-utils,运行命令: yum install bridge-utils 或者下载bridge-utils-1.4.tar.gz进行安装,步骤如下:编译安装bridge-utils
(1)进入到/usr/src 目录下,下载bridge-utils-1.4.tar.gz :
- #cd /usr/src #wget http://launchpad.net/bridgeutils/
- main/1.4/+download/bridge-utils- 1.4.tar.gz
(2)解压缩:
- #tar zxvf bridge-utils-1.4.tar.gz
进入bridge-utils-1.4目录:
- #cd bridge-utils-1.4
(3)编译安装:
- #autoconf
生成configure文件:
- #./configure #make
- #make install
编译安装完成。最后将命令brctl复制到/sbin下:
此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/57967.html
- #cp/usr/local/sbin/brctl/sbin