用zd1211+Ubuntu 10.04实现的AP

zd1211 在Ubuntu 10.04 LTS上的master mode 的问题解决之后,理论上就可以把zd1211 USB网卡用来做一个AP了,实际上还有几个问题要解决:

1、IP地址的分配。这个可以通过DHCP服务来实现。

2、AP上的电脑能和固定网卡上的电脑组网。这里有2种想法,一是不同线路上的电脑存在不同的子网上,通过固定路由来解决,二是用网桥把zd1211和有线网络组成同网。我选择了网桥。

3、外网访问。这个用防火墙软件来实现。

一、配置AP和网桥。

DHCP是不困难的,重点在网桥和AP的设置。

要使用网桥,首先要安装brigde-utils: sudo apt-get install bridge-utils。

无线网卡的网桥设置和有线网卡的有点点不同,要先把无线网卡设置成AP模式之后再进行。

我把所有的操作做成了一个脚本 bridge_start.sh:

#!/bin/sh#配置无线网卡进入AP模式echo 配置无线网卡的AP模式 ifconfig ath0 upiwconfig ath0 mode mastersleep 1iwconfig ath0 essid “ZyDAS”sleep 1iwconfig ath0 rts 250sleep 1iwconfig ath0 frag 512sleep 10iwconfig ath0 channel 3sleep 10iwconfig ath0 rate 54M autosleep 10 iwconfig ath0 key 0a0b0c0d0esleep 15#网桥echo 配置网桥ifconfig ath0 downifconfig eth2 downbrctl addbr br0brctl addif br0 ath0brctl addif br0 eth2ifconfig ath0 0.0.0.0 ifconfig eth2 0.0.0.0 #启动网桥,分配IP地址echo 启动网桥ifconfig br0 192.168.38.1 netmask 255.255.255.0 upifconfig br0 up#启动DHCP服务器echo 启动 DHCP/etc/init.d/dhcp3-server startecho 完成

写好脚本,还要给x权限: sudo chmod +x bridge_start.sh

然后运行 sudo ./bridge_start.sh 。

这里面要注意的地方是,DHCP是配置好了,,为br0进行ip地址分配的,在系统启动的时候,由于br0还没准备好,DHCP是不能启动起来的,可以把DHCP设置成手动启动就行。在脚本里面,当br0 up了之后,就可以把DHCP3 Server启动。

到这个时候,AP就已经能跑起来了。

连接测试,能正常ping 有线网络上的另一台电脑(其实是连接在Ubuntu Server上的另外一台虚机),能在Ubuntu Server 的Samba服务器上复制文件。AP成功。

二、配置自动启动AP

上面的步骤只能是手工实现的AP,如果要一个功能完整的AP,就必须让AP在加电之后,自动bootup起来。

我曾经想过把AP的配置和网桥的配置做在 /etc/network/interfaces里面,结果是我的Ubuntu Server在引导过程就直接挂掉了。感谢vmware的snapshot功能,减少了我很多系统恢复的工作。

学习了一下Ubuntu系统引导的原理,找到一个比较可行的方法。至少是我的知识里面比较可行的方法。使用 udev 。

在 /etc/udev/rules.d 里面添加一个规则文件,如 sudo vi /etc/udev/rules.d/75-bridge_on_usb.rules

# USBB device 0x0ace:0x1211 (usb)SUBSYSTEM==”net”, ACTION==”add”, ATTR{address}==”00:02:e3:42:31:2b”, RUN += “/home/monk/bridge_start.sh”保存之后,网卡不要拔出来,重启系统,AP自动运行起来了。

三、访问外网。这个是Shorewall的事情,还没做。下次吧。

不要等待机会,而要创造机会。

用zd1211+Ubuntu 10.04实现的AP

相关文章:

你感兴趣的文章:

标签云: