公司的上網行為管理產品在串接網關模式下支持有線以太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下:
- #cp/usr/local/sbin/brctl/sbin