Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2764707
  • 博文数量: 505
  • 博客积分: 1552
  • 博客等级: 上尉
  • 技术积分: 2514
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-23 18:24
文章分类

全部博文(505)

文章存档

2019年(12)

2018年(15)

2017年(1)

2016年(17)

2015年(14)

2014年(93)

2013年(233)

2012年(108)

2011年(1)

2009年(11)

分类:

2012-05-19 11:08:16

Android是不支持Ad-hoc模式的WiFi.Windows 7软AP一个还是比较简单的.本文介绍在Ubuntu下实现软AP.(需要你的无线网卡支持AP哈)

使用工具hostapd,dnsmasq.我的环境时Ubuntu10.10;手机Android 2.1;网卡ath5k.有线网络使用静态的IP.

首先,系统是U10.10,安装软件

sudo apt-get install hostapd dnsmasq

为无线添加路由规则

sudo iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE sudo iptables -A FORWARD -s 10.1.1.0/24 -o eth0 -j ACCEPT sudo iptables -A FORWARD -d 10.1.1.0/24 -m conntrack --ctstate ESTABLISHED,RELATED -i eth0 -j ACCEPT

10.1.1.0/24是我设置的地址段,可以自己改。

若要记录下路由的情况可以加如下语句:

sudo iptables -A INPUT -m conntrack --ctstate NEW -p tcp --dport 80 -j LOG --log-prefix "NEW_HTTP_CONN: "

其中NEW_HTTP_CONN是日记中的标识。

然后把现在iptables的规则写进/etc/iptables.rules

sudo sh -c "iptables-save > /etc/iptables.rules"

配置interface文件,使每次eth0启动时自动写规则

auto eth0 pre-up iptables-restore > /etc/iptables.rules post-down iptables-save > /etc/iptables.rulse

配置hostapd.conf

interface=wlan0 bridge=br0 #方法二中有用到 driver=nl80211 ssid=wbyxu hw_mode=g channel=11 dtim_period=1 rts_threshold=2347 fragm_threshold=2346 macaddr_acl=0 auth_algs=3 ieee80211n=0 wpa=3 wpa_passphrase=* #设置密码 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP

详细hostapd.conf配置请看http://linuxwireless.org/en/users/Documentation/hostapd.

配置/etc/dnsmasq.conf

interface=wlan0 bind-interfaces #这个是只监听wlan0,没有之会检测所有卡 except-interface=lo dhcp-range=10.1.1.10,10.1.1.110,6h #设置dhcp地址范 #address=/#/10.1.1.1 #这个会把#(代表所有网址)的dns到10.1.1.1这个地址

dnsmasq与named

一般情况下bind的named会占了53端口,然后dnsmasq会启动不了,所以我用killall named来杀了named再启动dnsmasq。

启动脚本

#! /bin/sh case "$1" in     start)         killall named         killall hostapd         ifconfig wlan0 10.1.1.1         hostapd -B hostapd.conf         /etc/init.d/dnsmasq restart         ;; esac

“-B”后台运行,之后的hostapd.conf需要指名路径.

电脑上完成.

手机上设置WiFi不使用静态IP就可以了.

参考:

以上方法一:使用的是hostapd和dnsmasq实现
更新方法二:使用hostapd和bridge-utils

安装hostapd和bridge-utils

sudo apt-get install hostapd bridge-utils>

这个hostapd的配置和方法一相同。注意里面hostapd.conf里面的第二行就是制订的桥接。

然后就进行桥接

sudo brctl addbr br0 #这个就是hostapd.conf第二行使用的 sudo ifconfig eth0 0.0.0.0 up sudo ifconfig wlan0 0.0.0.0 up sudo brctl addif br0 eth0 sudo brctl addif br0 wlan0 sudo ifconfig br0 10.1.21.8 netmask 255.255.255.0 #10.1.21.8是eth0的IP sudo route add default gw 10.1.21.1

电脑上搞定。手机上设置(例)
静态IP:10.1.21.9
网关:10.1.21.1
掩码:255.255.255.0
DNS:8.8.8.8

呵呵,这个方法比较简单。

阅读(3827) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~