[日期:2010-06-24]
 
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。
无线网卡的网桥设置和有线网卡的有点点不同,要先www.linuxidc.com把无线网卡设置成AP模式之后再进行。
我把所有的操作做成了一个脚本 bridge_start.sh:
 #!/bin/sh
#配置无线网卡进入AP模式
echo 配置无线网卡的AP模式 
ifconfig ath0 up
iwconfig ath0 mode master
sleep 1
iwconfig ath0 essid "ZyDAS"
sleep 1
iwconfig ath0 rts 250
sleep 1
iwconfig ath0 frag 512
sleep 10
iwconfig ath0 channel 3
sleep 10
iwconfig ath0 rate 54M auto
sleep 10 
iwconfig ath0 key 0a0b0c0d0e
sleep 15
#网桥
echo 配置网桥
ifconfig ath0 down
ifconfig eth2 down
brctl addbr br0
brctl addif br0 ath0
brctl addif br0 eth2
ifconfig ath0 0.0.0.0 
ifconfig eth2 0.0.0.0 
#启动网桥,分配IP地址
echo 启动网桥
ifconfig br0 192.168.38.1 netmask 255.255.255.0 up
ifconfig br0 up
#启动DHCP服务器
echo 启动 DHCP
/etc/init.d/dhcp3-server start
echo 完成 
写好脚本,还要给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的更多相关文章

  1. Ubuntu 10.04 32位桌面版+OpnERP 6.1.1

      1.准备环境: sudo apt-get install denyhosts sudo apt-get update sudo apt-get dist-upgrade sudo adduser ...

  2. [转]ubuntu 10.04下的配置tftp服务器

    [转]ubuntu 10.04下的配置tftp服务器 http://www.cnblogs.com/geneil/archive/2011/11/24/2261653.html 第1步:安装tftp所 ...

  3. ubuntu 10.04 安装qt 5.0.2

    转自ubuntu 10.04 安装qt 5.0.2 从qt project网站下载下来最新的qt5.0.2套件,发现是个.run文件,添加x属性,然后直接sudo ./****.run, 提示  /l ...

  4. 【转】Ubuntu 10.04 LTS 的窗口控制按钮从左上角调整到右上角

    原文网址:http://www.linuxidc.com/Linux/2010-05/26111.htm 升级到Ubuntu 10.04后最大的问题,是最小最大和关闭按钮,放到了左边.这叫Ubuntu ...

  5. 解决:“Ubuntu 10.04 LTS _Lucid Lynx_ - Release i38...

    编译android源码,找不到g++.通过apt-get下载时候,总是提示“Ubuntu 10.04 LTS _Lucid Lynx_ - Release i386 (20100429)” 的盘片插入 ...

  6. Using iSCSI On Ubuntu 10.04 (Initiator And Target)

    This guide explains how you can set up an iSCSI target and an iSCSI initiator (client), both running ...

  7. Ubuntu 10.04下架设流媒体服务器

    Ubuntu 10.04下架设流媒体服务器 个人建议:使用DarwinStreamingSrvr5.5.5,因为DarwinStreamingSrvr6.0.3安装过程中有很多问题需要解决! 目前主流 ...

  8. Ubuntu 10.04下如何查看分区的UUID

    Ubuntu 10.04通过UUID来区分各个磁盘分区,在/etc/fstab配置文件中就是通过UUID来挂载分区的.UUID,英文全称为:Universally Unique Identifier. ...

  9. Ubuntu 10.04 安装Qt4.8.1 源码后字体模糊的问题

    Ubuntu 10.04 安装QT4.8.1 源码后字体模糊的问题. 附加解决 QT SDK 4.8.1 链接失败的问题 Ubuntu 10.04 编译QT源码后,编译程序,运行后IPA字体无法正常显 ...

随机推荐

  1. 批处理bat一键安装APK

    批处理bat一键安装APK 2018年10月11日 10:48:28 xyzshenxiang 阅读数:77   在安装apk时,每次都得拷贝到手机内存中,然后在手机上操作安装这样做非常不方便,下面介 ...

  2. version control system:git/hg/subversion/cvs/clearcase/vss。software configruation management。代码集成CI:Cruisecontrol/hudson/buildbot

    version control system: git/hg/subversion/cvs/clearcase/vss software configruation management: daily ...

  3. 洛谷P1772 [ZJOI2006]物流运输 题解

    题目描述 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪. ...

  4. @JVM中对象的引用类型

    JVM中有四种引用类型:强引用.软引用.弱引用.虚引用   强引用(Stong Reference):是指在程序代码中普遍存在的,类似:Object obj = new Object()这类的引用,只 ...

  5. 树行控件TreeView 在WinForm下 怎么实现重命名功能

    public Form1() {     InitializeComponent();     this.Load+=new EventHandler(Form1_Load);     treeVie ...

  6. 图解vue中 v-for 的 :key 的作用,虚拟dom Diff算法

    其实不只是vue,react中在执行列表渲染时也会要求给每个组件添加上key这个属性. 要解释key的作用,不得不先介绍一下虚拟DOM的Diff算法了. 我们知道,vue和react都实现了一套虚拟D ...

  7. vue-router 懒加载优化

    一.路由懒加载 1.先安装 babel 动态引入插件 npm install --save-dev babel-plugin-syntax-dynamic-import 2.修改router/inde ...

  8. android 时间控件概述

    android的自带时间选择控件,是一个让用户既能输入的又能选择的样子.这本来没有太大的问题了. 但是,坑爹的android是开源的.自带的时间控件在某些机型上,早已经是面目全非了,在用以一个普通用户 ...

  9. 解决IP地址冲突

    1.重新启动路由器就可以. 要是网络上的每一个设备都被分配了动态IP地址,路由器重新启动.又一次分配IP地址给网络上的每一个设备后,这个问题就有望得到解决. 可是假设是在企业内就不可能随便的重新启动公 ...

  10. 如何通过js关闭微信浏览器页面

    WeixinJSBridge.call('closeWindow'); jssdk wx.closeWindow(); WeixinJSBridge对象还提供了哪些功能: WeixinJSBridge ...